探索flutter框架开发的app在移动应用市场的潜力与挑战
2706
2022-11-10
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~