LINUX.ORG.RU

Сообщения scandinaf

 

[ffmpeg] - Сохранение видеопотока h264 в контейнер

Есть необходимость сохранять поток данных в конкретном контейнере (mp4, avi, mkv). У меня есть набор файлов, каждый из которых соответствует одному фрейму h264 (могут быть и другие форматы, например, mjpeg, divx). В первую очередь мне необходимо знать, правильно ли я понимаю как можно решить эту задачу средствами ffmpeg.

Последовательность действий:
1) Подготовка контейнера (создание AVFormatContext; создание, добавление и настройка параметров видео потока; создание файла (контейнера))
2) Чтение пакетов из каждого файла, отвечающего за один фрейм.
3) Запись прочитанных пакетов в контейнер.

Есть ли какие этапы, которые я пропустил? Например, декодирование и кодирование.

Я попытался реализовать вышеуказанную схему, основываясь на немногочисленных примерах, которые есть в нете. Но у меня постоянно валится приложение (Segmentation fault) при попытке записать в выходной поток первый пакет (функция av_interleaved_write_frame).

Подскажите, пожалуйста, может я неверно пытаюсь реализовать эту задачу? Я имею ввиду сам подход к ее реализации.

 

scandinaf
()

RSS подписка на новые темы