碰到了如下问题,记录如下:
一、matroska需要libbz2.so
"_BZ2_bzDecompress", referenced from: _matroska_decode_buffer in libavformat.a(matroskadec.o) 添加库libbz2.1.0.dylib,再次编译,OK通过. libz提供了一套与gzip有关的API,libbz2提供了一套与bzip2有关的API。
需要-lbz2才能编译通过。
二、m3u8-segmenter的编译总是不通过!
在ffmpeg 0.6.7和ffmpeg 2.1.1下面编译都有问题。看网上说,在ffmpeg 2.4.2和2.1.1可以。
我把ffmpeg 2.1.1直接执行:./configure &&make&&make install之后。再去编译就可以了。
感觉有点怪怪的。难道跟ffmpeg的安装路径有关系?我改一下prefix再试。结果:仍然是不行!
只好就允许ffmpeg安装到缺省目录。
三、编译时操作显示乱码
编辑 vi /etc/sysconfig/i18n 最后面加上一行LANG=”zh_CN.GB18030″保存后,从新用SSH登陆就可以解决乱码问题。
[root@centos64-uuc media]# cp /home/VodServer/bin/media/20160404/44d1.mp4 44.mp4
cp: 是否覆盖44.mp4。以前显示就是乱码,导致无法进行操作。
[root@centos64-uuc media]# ls
四、ssh连接超时问题解决方案:
1.修改server端的etc/ssh/sshd_config
ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接
ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应
ClientAliveInterval 60
ClientAliveCountMax 3
特殊说明:即使原来没有这两个字段,也可以直接加上。
五、编译时出现问题。凸显出docker的价值!
[root@centos64-uuc media]# ./makehls.sh 44d1.mp4 44d1
./ffmpeg: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
./m3u8-segmenter: error while loading shared libraries: libavformat.so.56: cannot open shared object file: No such file or
directory
[root@centos64-uuc media]#
下载http://www.gnu.org/software/libiconv/#downloading,编译安装解决libiconv.so.2缺失的问题。
最终,解决了全部问题。
HLS url: http://110.185.210.89:10080/hls/44d1.m3u8 // 80被占用。由nigix提供支持。
rtsp url: rtsp://110.185.210.89:10554/44d1.mp4 // 554被占用。由Feng提供支持。