Я разрабатываю приложение для записи видео на c ++ с библиотекой libav c, которая записывает и кодирует h265 из канала камеры в контейнер .mov.
Я могу успешно воспроизвести файл .mov на всех стандартных видеопроигрывателях, но только в том случае, если запись завершена должным образом - то есть вызов av_write_trailer
и правильное закрытие файла.
Однако одним из важных требований программного обеспечения является воспроизводимый файл .mov даже в событие, при котором запись прекращается ненадлежащим образом - т. е. потеря питания или целевой диск переполняется.
Я предполагаю, что это возможно, поскольку большинство устройств видеозаписи создают действительные файлы .mov, даже если у них заканчивается батарея или они заполняют их. target media.
Я попытался указать следующую опцию AVDictionary
, которая предполагает перемещение соответствующей информации о потоке в начало файла:
av_dict_set(&options, "movflags", "faststart", 0);
Однако , это не делает неполные файлы воспроизводимыми.