如何以编程方式生成碎片化的mp4文件
How to generate fragmented mp4 files programmatically
我有一个media.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文件,而不是创建另一个进程来做这件事。
谢谢。
更多详细信息:
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是使用以下函数打开输出文件时获得的AVFormatContext的指针:avformat_alloc_output_context2和avio_open。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- 无论如何可以将webm / mp4文件编译/记忆为.exe程序吗?(C++)
- 转换 mp4 文件并将其流式传输到带有树莓派的查看器
- C OPENCV 3.4 / FFMPEG 3.4.1 VIDEOWRITER和MP4输出文件格式
- FFMPEG生成的零散的MP4文件和代码之间的不同之处在于
- MF SinkWriter mp4文件的播放持续时间是添加音频样本时的一半,图像的播放速度也是添加音频样本的两倍
- 将网络摄像机(RTSP)中的帧保存到mp4文件中
- 如何计算MP4文件(MPEG4、H.264)的每分钟大小
- 如何在没有明显滞后的情况下相继播放两个mp4文件-在C/C++中
- 如何使用jpeg帧制作.avi、.mp4文件
- 如何在使用FFmpeg写入mp4文件时将缓冲区数据刷新到磁盘
- 如何以编程方式生成碎片化的mp4文件
- 无法读取 opencv 3 中的 mp4 文件
- 使用OpenCV和ffmpeg编写MP4文件
- 如何使用vlc或其他东西播放mp4文件的随机部分
- 如何使用媒体基础生成"moov before mdat" MP4视频文件
- CPP MediaFoundation-mp4文件大小减少
- Ffmpeg:如何保存h264原始数据为mp4文件