MediaRecorder SetNextOutputFile () сбрасывает кадры при переходе? - PullRequest
1 голос
/ 08 января 2020

Кто-нибудь еще видит пропущенные видеокадры при переходах между записанными файлами с помощью MediaRecorder.SetNexVideoFile ()?

Для приложения непрерывной записи фрагментированного видео я вызываю SetNextVideoFile () после получения MediaRecorder.MEDIA_RECORDER_INFO_MAX_FILESIZE_APRO с уведомлением вызывается SetMaxFileSize до Prepare ()). Я вижу несколько кадров, сбрасываемых при переходе каждого нового файла.

Я изучил мои отдельные файлы, демультиплексируя аудио и видео (h.264 + AA C .mp4) и отдельно проверяя длительность их дорожек. Нет очевидной потери аудиосэмплов, но на дорожках видео отсутствует несколько кадров в каждом файле и, следовательно, они короче по продолжительности. Это отрицательно сказывается на попытках беспрепятственного воспроизведения фрагментов, например, с помощью ExoPlayer2 ConcatenatingMediaSource или других инструментов воспроизведения и постобработки; переходы файлов приводят к видимым сбоям.

Я пробовал различные максимальные размеры файлов, соответствующие длительности от 10 секунд до 10 минут. Сброс фреймов обнаруживается при всех этих размерах файлов.

...