Изменить (это первоначальный вопрос, который не очень ясен, основываясь на моих знаниях на момент публикации):
Этот вопрос является продолжением вопроса, который я задал пару дней назад: Считывание необработанных данных Genicam H.264 в avlib .
Я все еще пытаюсь реализовать приложение потокового видео, которое получает один или несколько буферов данных GenICam (от одной или нескольких камер GenICam).
Эти буферы представляют собой (насколько я понимаю) кадры сжатых данных H.264, которыми я могу заполнить структуру avPacket, просто установив поле данных avPacket в адрес буфера GenICams (или скопировать данные в это поле структуры).
Теперь, если я захочу продолжить обработку этих пакетных данных, я рано или поздно столкнусь с некоторыми функциями libav, для работы которых необходим avFormatContext.
Как я могу инициализировать структуру avFormatContext, если у меня нет файла для чтения?
Я нашел эту тему, которая поднимает тот же вопрос: ffmpeg C ++ и AVFormatContext
Если я запишу полученные данные буфера в файл, а затем начну работать с одним из множества примеров, например, например. вот этот http://dranger.com/ffmpeg/tutorial01.html, все работает просто отлично (в основном ...).
Но что, если мои данные поступают не из файла, а из источника данных в реальном времени, доступ к которому осуществляется через сторонний вызов API? Как получить инициализированную структуру avFormatContext?
Edit:
Извините, первоначальный вопрос этой темы (на основе моих новых знаний) является полным мусором и должен задаваться по-другому:
Поскольку я задал этот вопрос, я понял, что контекст формата необходим только для контейнера вокруг моего необработанного потока H.264, в случае, если я хочу сохранить необработанные данные в файл для последующего воспроизведения с помощью видеопроигрывателя.
Таким образом, контекст формата зависит не от того, что содержится в моем пакете, а от того, какой контейнер следует использовать для хранения данных пакета.
Теперь, если я хочу, чтобы необработанные данные были сохранены, скажем, в файле .mp4, какие поля в структуре контекста формата необходимо установить и каким значениям? Какие поля являются обязательными, какие дополнительные данные?
Имеется ли какая-либо документация или кто-нибудь может намекнуть, как подойти к этому вопросу, если вы не знаете, как заполнить такую структуру вручную?