环境:ubuntu server 14.
1. 安装ffmpeg
apt-get install ffmpeg (这个我没有测试成功!),我用下面这种方式:
wget http://ffmpeg.org/releases/ffmpeg-2.7.2.tar.bz2
tar -xjvf ffmpeg-2.7.2.tar.bz2
cd ffmpeg-2.7.2
./configure --enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc\
--enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb \
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
可能会缺少些什么,安装上就是了。
2. 安装libavformat-dev,为m3u8-segmenter准备
apt-get install libavformat-dev
3. 安装m3u8-segmenter (这是重点)
git clone https://github.com/johnf/m3u8-segmenter
cd m3u8-segmenter
其实只编译里面的m3u8-segmenter.c文件就可以了。
gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil 这时会报错,请将上面“ffmpeg-2.7.2”文件里的以“libav”打头的文件全复制到m3u8-segmenter文件下。 再来一次: gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil
编译通过 使用:
1. 把视频转为TS视频流 ffmpeg -y -i vp5.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb vpt.ts (转MP4视频) ffmpeg -i vp5.flv -acodec copy -vcodec libx264 vp5.ts (转其他视频)
2. 把TS视频流切片
segmenter -i vp5.ts -d 10 -p segmenter_test -m vp5.m3u8 -u http://127.0.0.1:8080/Video/ (这样就可以切片出m3u8文件 直接使用hls)
或
segmenter -i vp5.ts -d 10 -p segmenter_test -m vp5.m3u8 -u
在项目中使用:
<div id="a1"></div>
<script type="text/javascript" src="/ckplayer/ckplayer.js" charset="utf-8"></script>
<script type="text/javascript">
var flashvars={
f:‘/ckplayer/m3u8.swf‘,
a:‘/videos/vp5.m3u8‘,
c:0,
s:4,
lv:0
};
var params={bgcolor:‘#FFF‘,allowFullScreen:true,allowScriptAccess:‘always‘,wmode:‘transparent‘};
CKobject.embedSWF(‘/ckplayer/ckplayer.swf‘,‘a1‘,‘ckplayer_a1‘,‘600‘,‘400‘,flashvars,params);
</script>