В настоящее время я разрабатываю приложение для чтения рекордера 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 без задержки?