Запись потока H264 с использованием проблемы AVAssetWriter - PullRequest
2 голосов
/ 13 сентября 2011

Я работаю над приложением, которое получает поток H264 из сети и записывает этот поток в файл MOV. Для записи в MOV я использую AVAssetWriter (с настройками AVAssetWriterInput ноль). Хотя я могу записать и воспроизвести поток в формате MOV с помощью AVAsssetWriter в Quicktime, если поиск фильма происходит в QUicktime, при воспроизведении фильма происходит полное искажение до появления следующего I-кадра. С файлами MOV такое поведение не ожидается.

Также попытался указать параметры AVAssetWriterInput для QuicktimeMovie, Ширина, Высота, Битрейт. Но это не удается при записи с первого кадра. Также замечено, что если вместо потока H264 используются необработанные кадры и указаны выходные настройки, зрение работает правильно.

Также пытался указать следующие вложения в CMSampleBuffer перед передачей его в AVAssetWriterInput. Но поиск в файле MOV некорректен.

kCMSampleAttachmentKey_IsDependedOnByOthers 

для I кадра и

kCMSampleAttachmentKey_DependsOnOthers
kCMSampleAttachmentKey_NotSync

для P-кадров

Пожалуйста, дайте предложение, как исправить поиск MOV-файла с помощью AVAssetWriter. Я предполагаю, что при использовании AVAssetWriter для уже закодированных кадров H264 существует некоторая проблема с таблицей смещений кадров синхронизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...