标签:
转自:http://my.oschina.net/gaga/blog/492348
记得有一次用手机上网看 MP4 ,才知道手机是看不到一般格式的视频的,参考了一些有关流媒体的文章后,渐渐地就缠上了 Ffmpeg ...
今年特意下载个短视频来测试新版 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,下面是其中一个测试例子:
|
1
|
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)中。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#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 |
自适流播放列表
|
1
2
3
4
5
6
7
|
#EXTM3U#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1677946,RESOLUTION=1280x720lj1280x720.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=707099,RESOLUTION=640x360lj640x360.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=357103,RESOLUTION=320x180lj320x180.m3u8 |
标签:
原文地址:http://www.cnblogs.com/redasurc/p/5069749.html