使用ffmpeg 产生HLS 流

http://www.ffmpeg.org/ffmpeg-formats.html


ffmpeg -i xxxxx.ts -hls_time 10 -hls_list_size 10  -f hls xxxx.m3u8

今年特意下载个短视频来测试新版 ffmpeg ,制作流媒体 HLS 虽然成功,但 ffmpeg 却发出错误讯息,说我的流复用器选项过时,个别选项被忽略,无奈,只得到 ffmpeg 网页 看看,原来 ffmpeg 已经不需要【TS流分割器】也能独自将媒体分段(一个简单范例):ffmpeg -i in.nut out.m3u8

       这范例没有设定分段长度: hls_time seconds 默认值是2秒。没有设定播放列表的最大列数: hls_list_size size 默认为5列......其它新旧选项的用法有待测试。

ffmpeg 版本: N-69612-g2fd9ce9,下面是其中一个测试例子:

ffmpeg -i in.nut -codec copy -bsf:v h264_mp4toannexb -ss 00:01:00 -to 00:04:10 -hls_time 9 -hls_list_size 0 -hls_segment_filename 'lj%03d.ts' out.m3u8

-bsf:v h264_mp4toannexb: 视频H.264流过滤, 犹其那类非标准H.264码流格式的视频更需要。

-ss 00:01:00 -to 00:04:10: 截取一分钟长度后的视频并开始分段到四分十秒止。

-hls_time 9: 设定段长度9秒。

-hls_list_size 0: 此项设置为0将包含所有的段。

-hls_segment_filename 'lj%03d.ts': 设置段文件名以lj开始。

out.m3u8 播放列表(自动生成):

如果将 -hls_segment_filename 'lj%03d.ts' 换作 -hls_flags single_file 即所有段文件将存储在一个单一的MPEG-TS文件(out.ts)中。


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:16
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:14.199633,
lj000.ts
#EXTINF:5.040000,
lj001.ts
#EXTINF:8.480000,
lj002.ts
#EXTINF:9.440000,
lj003.ts
#EXTINF:10.000000,
lj004.ts
#EXTINF:10.000000,
lj005.ts
#EXTINF:8.120000,
lj006.ts
#EXTINF:10.000000,
lj007.ts
#EXTINF:6.920000,
lj008.ts
#EXTINF:14.320000,
lj009.ts
#EXTINF:4.760000,
lj010.ts
#EXTINF:9.960000,
lj011.ts
#EXTINF:10.040000,
lj012.ts
#EXTINF:6.640000,
lj013.ts
#EXTINF:7.440000,
lj014.ts
#EXTINF:9.960000,
lj015.ts
#EXTINF:8.000000,
lj016.ts
#EXTINF:15.480000,
lj017.ts
#EXTINF:6.920000,
lj018.ts
#EXTINF:6.040000,
lj019.ts
#EXTINF:8.200000,
lj020.ts
#EXT-X-ENDLIST


自适流播放列表

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1677946,RESOLUTION=1280x720
lj1280x720.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=707099,RESOLUTION=640x360
lj640x360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=357103,RESOLUTION=320x180
lj320x180.m3u8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值