ffmpeg:如何将 h264 原始数据保存为 mp4 文件

mon*_*kid 3 c++ mp4 ffmpeg h.264

我用 libavcodec 编码 h264 数据。前任。

while (1) {
  ...
  avcodec_encode_video(pEnc->pCtx, OutBuf, ENC_OUTSIZE, pEnc->pYUVFrame);
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果我直接将 OutBuf 数据保存为 .264 文件,则播放器无法播放。现在我想保存 OutBuf

作为 mp4 文件。任何人都知道如何通过 ffmpeg lib 做到这一点?谢谢。

Rom*_* R. 5

您可以使用avformat_write_headerav_interleaved_write_frameavformat_write_trailer和朋友。

它们的用法显示在FFmpeg 的混合示例中。

请参阅类似的主题:使用 libavcodec并写入文件的mpegts 容器中的原始 H264 帧(不同的容器,相同的 API)

另请参阅此处的答案链接:FFMpeg encoding RGB images to H264