Чтение видеофайла с USB-накопителя приводит к задержке воспроизведения плеера - PullRequest
0 голосов
/ 10 апреля 2020

В настоящее время я разрабатываю приложение для чтения рекордера Tesla с USB-накопителя fla sh (через комплект камеры подключите к iPhone).

Проблема: почему воспроизведение видео на USB-накопителе Fla sh (формат mp4) напрямую медленнее, чем копирование с USB-накопителя Fla sh на локальный файл?

Я использую подкласс UIDocumentPickerViewController для чтения папок с видео в мое приложение:

extension IFDDocumentPickerViewController: UIDocumentPickerDelegate {
    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        if let url = urls.first {
            _ = url.startAccessingSecurityScopedResource()
            do {
                try FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: [], options: .skipsHiddenFiles)
                self.pickerDelegate?.documentPicker(controller, didPickDocumentsAt: [url])
            } catch let error {
                print(error.localizedDescription)
            }
            _ = url.stopAccessingSecurityScopedResource()
        }
    }
   
    func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
        self.pickerDelegate?.documentPickerWasCancelled(controller)
    }
}

Затем я использую NSFileCoordinator для чтения и форматирования содержимого папок, наконец, я использую AVPlayer для воспроизведения исходное видео с USB-флэла sh, но, к сожалению, я обнаружил, что проигрыватель играет с задержкой.

Чтобы сравнить разницу, я использую инструмент для профилирования дискового ввода-вывода и обнаружил, что при чтении файлов из my iPhone (скопировано iOS File App), хотя DBR (чтение дисковых байтов / Se c) в секунду медленнее, задержки вообще нет.

--- - - чтение байтов диска / секунда

чтение из моего iPhone локально: 8-10 МБ / с

https://imgchr.com/i/GTdIvq

Read From fla sh диск: 30-40MB / s

https://imgchr.com/i/GTdTK0


Я что-то пропустил? Как воспроизвести видео с флэша sh без задержки?

...