Я кодирую данные h264 с помощью libavcodec.
ех.
while (1) {
...
avcodec_encode_video(pEnc->pCtx, OutBuf, ENC_OUTSIZE, pEnc->pYUVFrame);
...
}
Если я напрямую сохраню данные OutBuf в виде файла .264, он не сможет быть воспроизведен проигрывателем. Теперь я хочу сохранить OutBuf
как файл mp4. Кто-нибудь знает, как это сделать с помощью ffmpeg lib? Благодарю.
Ты используешь avformat_write_header
, av_interleaved_write_frame
, avformat_write_trailer
и друзья.
Их использование показано в пример мультипликации FFmpeg.
Смотрите похожую тему: Необработанные кадры H264 в контейнере mpegts с использованием libavcodec также с записью в файл (другой контейнер, тот же API)
Смотрите также ссылки из ответа здесь: FFMpeg кодирует изображения RGB в H264
Других решений пока нет …