zoukankan      html  css  js  c++  java
  • 搭建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>
  • 相关阅读:
    Android游戏开发实践(1)之NDK与JNI开发02
    SDK接入(1)之Android Facebook SDK接入
    Markdown学习
    SDK接入(3)之iOS内支付(InApp Purchase)接入
    将列【1,2,3】转换为【类别1,类别2,类别3】
    SQL Server 获取日期
    SQL Server 2000 Split方法
    java连接SqlServer2012
    前辈的js学习方法
    js学习笔记
  • 原文地址:https://www.cnblogs.com/bootoo/p/4805792.html
Copyright © 2011-2022 走看看