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

本文介绍了如何在CentOS7上安装FFmpeg2.8.15,并展示了如何使用FFmpeg进行视频格式转换、TS分片。通过添加源、安装依赖,然后执行转换命令,如将非MP4格式转为MP4,MP4转为TS,以及利用ffmpeg进行视频切片,创建m3u8索引文件。最后,还给出了推流到特定地址的命令示例。
摘要由CSDN通过智能技术生成

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

9321.html

安装ffmpeg

yum install -y ffmpeg

查看版本

ffmpeg -v

9321.html

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

9321.html

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

9321.html

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

9321.html

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)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值