ffmpeg 多分辨率切片

摘要

基于HLS流媒体技术,可以使单一的播放连接根据带宽选择自适应分辨率的效果


正文

首先先生成一个加密key,

openssl rand 16 > enc.key

然后新建一个enc.keyinfo文件,把enc.key上传网页播放器的运行目录下

enc.keyinfo 内容就是

https://域名/enc.keyenc.key

之后再直接用下面的代码进行转码就可以生成1080P 720P 480P三种分辨率了。

 ffmpeg -y -i 1.mp4 -preset slow -g 48 -sc_threshold 0 -map 0:0 -map 0:1 -map 0:0 -map 0:1 -map 0:0 -map 0:1 -map 0:0 -map 0:1 -map 0:0 -map 0:1 -map 0:0 -map 0:1 -s:v:0 1920*1080 -b:v:0 1800k -s:v:1 1280*720 -b:v:1 1200k -s:v:2 858*480 -b:v:2 750k -s:v:3 630*360 -b:v:3 550k -s:v:4 426*240 -b:v:4 400k -s:v:5 256*144 -b:v:5 200k -c:a copy -var_stream_map v:0,a:0,name:1080p v:1,a:1,name:720p v:2,a:2,name:480p v:3,a:3,name:360p v:4,a:4,name:240p v:5,a:5,name:144p -master_pl_name master.m3u8 -f hls -hls_time 10 -hls_key_info_file enc.keyinfo -hls_playlist_type vod -hls_list_size 0 -hls_segment_filename v%v/segment%d.ts v%v/index.m3u8

完事之后会生成6个分辨率文件夹,以及一个主m3u8文件上传到存储节点即可。

一般的HLS播放器都会自动切换分辨率不需要手动切换。

PS: 首次加载必定会加载最高清的内容,从第二个TS文件起才能切换分辨率。


拓展

一、《FFmpeg常用命令》

二、《使用ffmpeg提取视频文件中的音频》

三、《通过Ffmpeg把M3u8格式转换成Mp4》


完结

以上就是ffmpeg 多分辨率切片的内容,欢迎小伙伴们交流讨论。

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...