Использование ffmpeg для конвертации видео в потоковый сервер c ++ - PullRequest
1 голос
/ 04 июля 2011

Я не могу понять, как использовать libavcodec для преобразования, например, из avi в h.264.Могу ли я конвертировать видео в моей программе на C ++ следующим образом:

file=popen("ffmpeg -i file.avi file.m4v");

Можно ли использовать эту функцию для динамической потоковой передачи, не дожидаясь завершения процесса конвертации видео?

1 Ответ

2 голосов
/ 04 июля 2011

Вы не можете транслировать файл m4v, пока он транскодируется. ffmpeg записывает метаданные в конце процесса транскодирования, которые необходимы для потоковой передачи видео. После завершения конвертации вы должны использовать MP4Box или qt-fatsstart , чтобы поместить эти метаданные в начале. Если вы все еще хотите транслировать видео во время конвертации, я думаю, вам нужно конвертировать видео в формат транспортного потока MPEG (mpeg-ts).

...