ffmpeg封装格式的一些说明

1、输出MP4格式时前置moov

moov对于MP4格式的解码和播放至重要,解码器必须获取moov的全部信息,才能在成功解析后获其中每一个码流包的位置和时间戳。当使用ffmpeg的默认参数出为MP4格式时,moov会在所有数据转封装完成后生成,然后加在文件的末尾。由于获取moov相对较为复杂,因此MP4格式流媒体播放等场景并不友好。

为了解决该问题,在使用ffmpeg进行转封装操作时,可以在选项-ovflags中加入参数faststart。 加入参数faststart后,ffmpeg在完成转封装操作后会进行一次加操作------将moov置于文件头部。

需要注意的是即使加入这个参数,输出文件过程中意外中断也会造成视频文件的损坏。

复制代码
ffmpeg -i input.avi -c copy -movflags faststart output.mp4

2、输出FLV格式时添加关键帧信息

FLV文件中,每个音视频码流包都被封装在一个音频Tag或视频ag中,其中还包含每个Tag的时间戳和关键帧标识。与MP4格式同的是,FLV格式的视频在播放时难以获取整体的关键帧列表,此难以进行拖动播放。

为了解决这一问题,在使用ffmpeg输出LV格式的视频文件时,可以在选项-flvflags中加入参数dd_keyframe_index。这样 FFmpeg 将在输出文件中写入关键帧索引。

复制代码
ffmpeg -i input.mp4 -c copy -f flv -flvflags add_keyframe_index output.flv
相关推荐
王者鳜錸6 小时前
基于Selenium和FFmpeg的全平台短视频自动化发布系统
selenium·ffmpeg·音视频
aqi006 小时前
FFmpeg开发笔记(七十三)Windows给FFmpeg集成MPEG-5视频编解码器
ffmpeg·音视频·直播·流媒体
DogDaoDao1 天前
HEVC/H.265 码流分析工具 HEVCESBrowser 使用教程
ffmpeg·音视频·h.265·hevc·码流分析工具·elecard·hevcsbrowser
hjjdebug3 天前
ffplay6 播放器关键技术点分析 1/2
c++·ffmpeg·音视频
泰勒朗斯3 天前
ffmpeg 中config 文件一些理解
windows·microsoft·ffmpeg
泰勒朗斯3 天前
ffmpeg下编译tsan
ffmpeg
xmode5 天前
centos7.9安装ffmpeg6.1和NASM、Yasm、x264、x265、fdk-aac、lame、opus解码器
ffmpeg·centos
王江奎5 天前
FFmpeg 升级指北
ffmpeg
雨夜和阳晨6 天前
FFmpeg录制屏幕及声音
ffmpeg
吴声子夜歌6 天前
FFmpeg——基础知识及FFmpeg框架
ffmpeg