apache配置flv流媒体拖动的方法详解

发布时间:2020-10-02编辑:脚本学堂
本文详细介绍了在apache中配置flv流媒体视频手动的方法,有需要的朋友参考学习下。

本节内容:apache下配置flv拖动
环境:debian apache2 ckplayer

1、安装apxs工具。
apxs 是Apache的扩展工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用LoadModule指令在运行时加载到Apache 服器中。
作为apache模块的编译工具,用它来编译mod_flvx.c文件。

debian和ubuntu下,apxs被放在apache2-threaded-dev和apache2-prefork-dev里,安装任一个即可。
apt-get install  apache2-prefork-dev
whereis apxs2 查看安装路径
man apxs //可选

2、下载mod_flvx.c并进行编译
 

复制代码 代码示例:
wget https://github.com/osantana/mod_flvx/blob/master/mod_flvx.c 或
wget http://people.apache.org/~pquerna/modules/mod_flvx.c

使用apxs进行编译,编译前,请检查apxs的版本。
apxs -c -i -a ./mod_flvx.c

3、在apache的配置文件中增加mod_flvx.so模块,并添加对.flv的处理
在apache的conf.d目录下创建mod_flvx.conf文件,并写入以下内容
 

复制代码 代码示例:
LoadModule flvx_module /usr/lib/apache2/modules/mod_flvx.so
AddHandler flv-stream .flv

4、重启apache

5、如果还不能拖动,则
1)FLV没有metadata关键帧数据
可以使用yamdi或flvtool2为你的flv视频添加关键帧
 

复制代码 代码示例:
yamdi -i source.flv -o dest.flv或
flvtool2 -U source.flv

如果没有yamdi或者flvtool2可apt-get先安装。
这里我用flvtool2报错,于是用了yamdi,没报错。据说yamdi效率更高。

2)如果还不能拖动,则尝试配置播放器。
这里用的是ckplayer。
ckplayer的配置请参考:http://www.ckplayer.com/view.php?id=82
ckplayer.js里
1,ck.setup = '1,1,1,1,1,1,0,0,1,2,5';的第6个参数,是否使用http流式控制1是/0不是
2,h的值,h:'1',//播放http视频流时采用何种拖动方法,0是按关键帧,1是按关键时间点
3,q:'',//视频流拖动时参考函数,默认是start。

关于选择关键帧还是关键时间点的区别,默认的是flv是按关键时间点,而mp4是按关键帧来随意拖动的,但很多网站是把这二个设置成统一的,要么都按关键帧,要么都按关键时间点。
这里我执行了(1)。