您的位置:首页 > 运维架构 > Linux

h323plus下h264编码器编译和使用

2015-05-14 09:50 1281 查看
    关于H323Plus的编译以前对文章已经介绍,视频和音频的的基本编码和使用也已经实现,但是视频很不清晰,因为使用对H261最基本对编码,在此介绍比较常用的H 264编码对使用。

    在h323core目录下对plugins目录,里边包含音频和视频各种编码,通过congfigure默认配置后,编译,视频编码只能获得H261的动态库,不论如何配置 ,其他视频编码都 无法使用,看configure配置步骤,缺少libavcodec的支持,因此下载ffmpeg源码编译安装,经过验证后,这条路是不对的,正确的方法是yum方法安装ffmpeg(我用的centos)。

        yum list *ffmpeg*

        yum install -y ffmpeg.x86_64(请选择自己操作系统支持的版本)

        yum install -y ffmpeg-devel.x86_64(请选择自己操作系统支持的版本)

    安装完成后,在plugins目录下运行:./configure --prefix=$HOME/usr --with-plugin-installdir=ptlib-2.12.8(后面是编码器安装目录,上述配置,编码器将安装在$HOME/usr/lib/ptlib-2.12.8/codecs下),然后运行make和make install

    make install后h264的编码却不会安装到指定目录下,这一步需要手动拷贝h264的编码到编码器目录下的video目录下,另外提醒一点,H.263-1998的编码运行会core错误,建议在编码器目录下删除这个库。

    接下来就是测试H.264编码器,经过修改demo(将cifMPI换为p720MPI),H264编码被加到编码列表中,但是视频聊天看到对却是黑屏,开始就发现的一个错误没有注意:

        ERROR: H.264 plugin couldn't find GPL process executable: h264_video_pwplugin_helper

    经过几次路径的配置,最终没有消除这个错误,看GPL是一份GNU通用公共授权非正式的中文翻译,因此认为没有影响,其实不然,经过跟踪调试,发现最终的错误是读写数据流错误,并且读写错误紧跟上述的GPL的错误,因此分析GPL的代码并运行调试,代码目录在:h323core/plugins/video/H.264/gpl/下。这个程序原来是打开了两个管道文件,提供给H264编码器使用。因此必须得让编码器找到这个h264_video_pwplugin_helper程序,找到这个错误提示的地方,分析查找路径,原来需要一个环境变量:在.bash_profile中添加export
PWLIBPLUGINDIR=$HOME/usr/lib/ptlib-2.12.8,重新加载环境变量,即可启用h264_video_pwplugin_helper。

     此时点对点对视频聊天可以进行。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息