搭建HLS时遇到的问题

一、安装 (环境:ubuntu server 14)

1. 安装ffmpeg

1 apt-get install ffmpeg

 (这个我没有测试成功!),我用下面这种方式:

1 wget http://ffmpeg.org/releases/ffmpeg-2.7.2.tar.bz2
2 tar -xjvf ffmpeg-2.7.2.tar.bz2
3 cd ffmpeg-2.7.2
4 ./configure --enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc\
5     --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb \
6     --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid

可能会缺少些什么,安装上就是了。

2. 安装libavformat-dev,为m3u8-segmenter准备

1 apt-get install libavformat-dev

3. 安装m3u8-segmenter (这是重点)

1 git clone https://github.com/johnf/m3u8-segmenter 
2 cd m3u8-segmenter

其实只编译里面的m3u8-segmenter.c文件就可以了。

1 gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil

这时会报错,请将上面“ffmpeg-2.7.2”文件里的以“libav”打头的文件全复制到m3u8-segmenter文件下。再来一次:

1 gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil

编译通过

 

二、使用

1. 把视频转为TS视频流

转MP4视频

1 ffmpeg -y -i vp5.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb vpt.ts

转flv视频

1 ffmpeg -i vp5.flv -acodec copy -vcodec libx264 vp5.ts

等等的格式也差不多

2. 把TS视频流切片为m3u8文件

1 segmenter -i vp5.ts -d 10 -p segmenter_test -m vp5.m3u8 -u

或,如下这种方式 (好像是用于视频直播):

1 segmenter -i vp5.ts -d 10 -p segmenter_test -m vp5.m3u8 -u http://127.0.0.1:8080/Video/ 

3. 在项目中使用:

 1 <div id="a1"></div>
 2 <script type="text/javascript" src="/ckplayer/ckplayer.js" charset="utf-8"></script>
 3 <script type="text/javascript">
 4   var flashvars={
 5     f:'/ckplayer/m3u8.swf',
 6     a:'/videos/vp5.m3u8',
 7     c:0,
 8     s:4,
 9     lv:0
10   };
11   var params={bgcolor:'#FFF',allowFullScreen:true,allowScriptAccess:'always',wmode:'transparent'};
12   CKobject.embedSWF('/ckplayer/ckplayer.swf','a1','ckplayer_a1','600','400',flashvars,params);
13 </script>

 

posted @ 2015-09-13 22:35  andy_1987_chen  阅读(514)  评论(0编辑  收藏  举报