ffmpeg优化mp4以及hls参数设置

网友投稿 2732 2022-11-10

ffmpeg优化mp4以及hls参数设置

ffmpeg优化mp4以及hls参数设置

ffmpeg是开源的音频视频编解码工具 然而默认的参数对MP4不友好,需要自己设置 这里记录一下简单的优化参数

优化MP4使moov atom位于文件开头

moov atom是mp4的索引信息. 浏览器获得moov atom后,可以随机搜索文件位置,让拖动自由 ffmpeg默认是将moov atom放在文件末尾,我们需要前置moov atom​​​-movflags faststart​​关键参数

ffmpeg -i input.mp4 -movflags faststart -acodec copy -vcodec copy output.mp4

优化HLS自定义切片时间(非定长切片时间)

ffmpeg默认HLS切片时间是2秒. 我们需要实现前5块都是1秒切片时间,剩下的切片时间为5秒一块 下面的代码可以实现(需要为ffmpeg打补丁),具体详情请看末尾参考文章​​​-hls_init_time 1 -hls_time 5 -hls_flags split_by_time -hls_list_size 0 -hls_allow_cache 1​​

ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 1280x720 -hls_init_time 1 -hls_time 5 -hls_flags split_by_time -hls_list_size 0 -hls_allow_cache 1 -f hls index.m3u8

其他优化

自定义码率/分辨率,使用HTTP2等等,以后收集到再更新 开源软件Handbrake可以使用'Web Optimized'选项,它将移动moov atom到文件开头收集的压缩参数

M:\bin\ffmpeg.exe -i M:\bin\input.mp4 -preset slower -c:v libx264 -r 30 -crf 28 -c:a copy crf28.mp4

ffmpeg -i input.mp4 -c:v libx264 -s 1280x720 -r 30 -preset medium -g 60 -keyint_min 60 -sc_threshold 0 -bf 3 -b_strategy 2 -b:v 1000k -maxrate 1100k -bufsize 1000k -c:a aac -b:a 64k -ac 2 -ar 44100 output.mp4

参考文章 问题地址 补丁地址 推荐工具 https://handbrake.fr/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:配置 Elastic Beanstalk 环境负载均衡器以终止 HTTPS
下一篇:阻塞、非阻塞的概念和select函数的阻塞功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~