1.简介
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案
2.相关
系统版本:CentOS Linux release 7.6.1810 (Core)
ffmpeg版本:2.8.15
主机IP:172.20.10.156
3.步骤
3.1.安装
添加源
yum install -y epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
安装ffmpeg
yum install -y ffmpeg
查看版本
ffmpeg -v
3.2.转格式
其它转成mp4格式
如果视频不为mp4格式,需先将视频转码为mp4,可使用如下命令进行转换
ffmpeg -i 本地视频地址 -y -c:v libx264 -strict -2 转换视频.mp4
例:
ffmpeg -i video.flv -y -c:v libx264 -strict -2 video.mp4
mp4转ts格式
ffmpeg -y -i 本地视频.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 转换视频.ts
例:
ffmpeg -y -i video.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb video.ts
3.3.切片
ffmpeg -i 本地视频.ts -c copy -map 0 -f segment -segment_list 视频索引.m3u8 -segment_time 5 前缀-%03d.ts
例:
ffmpeg -i video.ts -c copy -map 0 -f segment -segment_list video.m3u8 -segment_time 5 a-%03d.ts
其中segment 就是切片,-segment_time表示隔几秒进行切一个文件,上面命令是隔5s,你也可以调整成更大的参数。
4.效果
查看video.m3u8文件内容
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:9
#EXTINF:8.133333,
a-000.ts
#EXTINF:5.933333,
a-001.ts
#EXTINF:4.866667,
a-002.ts
#EXTINF:4.900000,
a-003.ts
#EXTINF:4.400000,
a-004.ts
#EXTINF:4.733333,
a-005.ts
#EXTINF:4.400000,
a-006.ts
#EXTINF:7.866667,
a-007.ts
#EXTINF:5.400000,
a-008.ts
#EXTINF:5.466667,
a-009.ts
#EXTINF:6.000000,
a-010.ts
#EXTINF:8.100000,
a-011.ts
#EXTINF:6.233333,
a-012.ts
#EXTINF:8.333333,
a-013.ts
#EXTINF:6.833333,
a-014.ts
#EXTINF:3.433333,
a-015.ts
#EXTINF:8.333333,
a-016.ts
#EXTINF:1.666667,
a-017.ts
#EXTINF:7.700000,
a-018.ts
#EXTINF:7.300000,
a-019.ts
#EXT-X-ENDLIST
5.扩展
5.1.推流
for((;;)); do \
ffmpeg -re -i video.flv \
-vcodec copy -acodec copy \
-f flv -y rtmp://172.20.10.156:1935/live/livestream; \
sleep 1; \
done
IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ffmpeg安装及实现视频格式的转换、分片(ts m3u8)