2

我有一个媒体 .h264 实时流媒体服务器,并且想将 .h264 帧复用到碎片化的 mp4 文件。我想知道有没有图书馆可以支持这个?

据我所知,ffmpeg.exe 和 Bento4 可以支持这一点,但我想在我的代码中使用一个库来做到这一点,而不是执行另一个进程。

为了说明我的观点,我想生成碎片化的 mp4 文件,这可以通过执行 ffmpeg.exe 来实现,如下所示,

ffmpeg -i xx.h264 
        -vcodec copy -an -f mp4 -reset_timestamps 0 
        -movflags empty_moov+default_base_moof+frag_keyframe -loglevel quiet 
        xxx.mp4"

我想在我的代码中混合 mp4 文件,而不是创建另一个进程来执行它。

谢谢。

4

1 回答 1

5

更详细:

AVDictionary* opts = NULL;
av_dict_set(&opts, "movflags", "frag_keyframe+empty_moov", 0);

然后:

//init muxer, write output file header
avformat_write_header(formatContext, &opts);

其中 formatContext 是使用avformat_alloc_output_context2avio_open函数打开输出文件时获得的AVFormatContext的指针。

于 2016-07-06T18:29:43.220 回答