ffmpeg安装及实现视频格式的转换、分片(ts m3u8)

应用扩展 盛行 7个月前 (11-09) 642次浏览 已收录 0个评论 扫描二维码
文章目录
[隐藏]

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安装及实现视频格式的转换、分片(ts m3u8)

安装ffmpeg

yum install -y ffmpeg
查看版本
ffmpeg -v

ffmpeg安装及实现视频格式的转换、分片(ts m3u8)

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

ffmpeg安装及实现视频格式的转换、分片(ts m3u8)

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

ffmpeg安装及实现视频格式的转换、分片(ts m3u8)

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,你也可以调整成更大的参数。

ffmpeg安装及实现视频格式的转换、分片(ts m3u8)

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)
喜欢 (0)
[使用支付宝扫码]
分享 (0)
盛行
关于作者:
企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址