原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://yaocoder.blog.51cto.com/2668309/1435771
1
2
3
4
5
6
7
8
9
|
#EXT-X-MEDIA-SEQUENCE:
0
#EXT-X-TARGETDURATION:
10
#EXTINF:
10
,
http:
//media.example.com/segment1.ts
#EXTINF:
10
,
http:
//media.example.com/segment2.ts
#EXTINF:
10
,
http:
//media.example.com/segment3.ts
#EXT-X-ENDLIST
|
-
4.1.1安装Yasm
1
2
3
4
5
6
7
|
wget http:
//www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar zxvf yasm-
1.2
.
0
.tar.gz
cd yasm-
1.2
.
0
./configure –prefix=/usr/local
Make
make install
查看yasm是否可以执行,不能执行就将/usr/local/bin加入可执行路径
|
-
4.1.2 安装ffmpeg
1
2
3
4
5
6
|
wget http:
//ffmpeg.org/releases/ffmpeg-2.2.tar.gz
tar zxvf ffmpeg-
2.2
.tar.gz
cd ffmpeg-
2.2
./configure –prefix=/usr/local
Make
make install
|
1
|
gcc -Wall-g segmenter.c -o segmenter -lavformat -lavcodec -lavutil -lm -lz-lpthread -std=c99
|
1
2
|
application/x-mpegURL m3u8;
video/MP2T ts;
|
1
2
3
4
5
6
7
8
9
10
|
http {
server {
listen
80
;
server_name localhost;
location / {
root /usr/local/html;
index index.html index.htm;
}
}
}
|
1
2
3
4
5
6
7
8
9
|
以root方式设置资源路径
语法:rootpath;
默认:roothtml;
配置块:http、server、location、
if
例如,定义资源文件相对于HTTP请求的根目录。
location /download/ {
. root /opt/web/html/;
}
在上面的配置中,如果有一个请求的URI是/download/index/test.html,那么Web服务器将会返回服务器上/opt/web/html/download/index/test.html文件的内容。
|
1
2
3
4
5
6
7
8
|
ffmpeg -y -i <infile> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output file>
-y 覆盖输出文件,即如果nba.xxx文件已经存在的话,直接覆盖
-i “filename” 指定需要转换的文件
-vcodec的意思是指定一个视频编码器,copy的意思就是不编码,直接复制到新文件。
-acodec的意思是指定一个音频编码器,copy的意思就是不编码,直接复制到新文件。
vbsf为过滤方法,即将mp4规定的H264组织方式转换回H264协议书规定的字节流格式。
h264_mp4toannexb 过滤器,很多解码器只支持annexb这种模式,因此需要将mp4做转换
其中
in
file为待转换的视频文件,比如input.mov,outputfile为转换后的文件,要命名为output.ts
|
-
对于苹果的设备可直接使用safari播放m3u8文件。
-
对于支持flash的设备我们采用StrobeMediaPlayback实现播放音视频文件。
-
对于支持hls的平台,在对html5支持的浏览器下,可直接使用浏览器进行视频播放。
-
对于苹果设备均支持m3u8文件的播放(iphone,ipad, mac os)。
-
对于支持flash的设备均支持StrobeMediaPlayback播放(pc)。
-
对于浏览器支持html5的浏览器均支持html5方式的播放(苹果设备,pc, android)。
-
1. 关于StrobeMediaPlayback的配置方式: