CentOS上配置hls流系统安装FFMPEG出错处理

步骤参考:http://www.linuxidc.com/Linux/2015-01/111182.htm

或者:http://blog.csdn.net/cdnight/article/details/39156711


1.如其中一篇所言,faac编译时出错,修改兼容C++的一部分代码即可

另外有一处定义char*应该改为const char *

编译FAAC-1.28时遇到错误:
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
解决方法:
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif


2.安装FFMPEG时出现libx264无法识别的错误

   可能是安装时出现异常但未发现,执行”yum remove x264",之后删除该文件夹,重新下载安装即可


3.交叉编译FFMPEG时出现libvpx中一些未定义,类似

http://www.linuxidc.com/Linux/2011-03/33670.htm 所提到的,

error: ‘VP8E_UPD_ENTROPY’ undeclared here (not in a function)等

按照错误提示中找到指定的文件,定义和引用一下即可


4.执行"ffmpeg -version"时出现较多处ffmpeg: error while loading shared libraries: “libname": cannot open shared object file: No such file or directory

貌似每次都只会出现一个,可以逐个增加动态链接库的链接,使用命令

ln -s /where/you/install/lib/*.so /usr/lib

sudo ldconfig

但是————————————————————后来发现一个个改真的很麻烦,而且这些动态链接库实际上有指定,不过都指定到了/usr/local/lib下

于是采用了另外的方法,一了百了

修改/etc/ld.so.conf如下:
include ld.so.conf.d/*.conf
/lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
/opt/ffmpeg/lib
之后输入命令 sudo ldconfig


最后执行ffmpeg -version

ffmpeg version 0.11.2
built on Feb 29 2016 10:23:04 with gcc 4.4.7 20120313 (Red Hat 4.4.7-16)
configuration: --enable-version3 --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads
libavutil      51. 54.100 / 51. 54.100
libavcodec     54. 23.100 / 54. 23.100
libavformat    54.  6.100 / 54.  6.100
libavdevice    54.  0.100 / 54.  0.100
libavfilter     2. 77.100 /  2. 77.100
libswscale      2.  1.100 /  2.  1.100
libswresample   0. 15.100 /  0. 15.100
libpostproc    52.  0.100 / 52.  0.100


安装nginx模块时,由于本机器上已安装较高版本的nginx,需要使用yum remove nginx卸载原有版本

在执行“service start nginx”时,可能出现nginx: unrecognized service的错误提示


且行且折腾

你可能感兴趣的:(CentOS上配置hls流系统安装FFMPEG出错处理)