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

标签 c++ ffmpeg h.264 mp4

我使用 libavcodec 对 h264 数据进行编码。 例如。

while (1) {
  ...
  avcodec_encode_video(pEnc->pCtx, OutBuf, ENC_OUTSIZE, pEnc->pYUVFrame);
  ...
}

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

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

最佳答案

您使用 avformat_write_headerav_interleaved_write_frameavformat_write_trailer 和 friend 。

它们的用法显示在 muxing example 中FFmpeg 的。

查看类似主题:Raw H264 frames in mpegts container using libavcodec还写入文件(不同的容器,相同的 API)

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

关于c++ - ffmpeg:如何将 h264 原始数据保存为 mp4 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341262/

相关文章:

C++ 链表不保留新节点

c++ - 如何进行并行双线性插值

c - ffmpeg 与 CodeBlocks 的链接错误

android - 如何修剪从手机录制或从图库中挑选的视频。

audio - 我如何使用 ffmpeg 每 5 秒从视频中提取音频

Qt - 使用 FFmpeg 库的 H.264 视频流

c++ - 具有重定向标准输出流的 GUI 应用程序不会将控制权返回给控制台

c - 使用 libavcodec 保存 H.264 编码图像

mp4 - 如何在 Mac 上获得高质量的小文件屏幕录制?

c++ - 在 C++ scott meyers 中检测事件的条件变量用法