【原】编译FFMPEG过程中发生的几个耗时解决的问题

其实只是几个我在编译过程中遇到的错误,记录下来也可以给大家做个小提示。

一、关于ERROR:* not found using pkg-config的问题。

遇到这类问题就先安装对应的软件呗,yum安装以及源码编译过程就不啰嗦了,官网、技术博客很多介绍;但有时候,明明已经安装好了(记得安装devel包,例如:# yum install opus-devel等等),但依旧无法被识别,此时请确定这个变量“PKG_CONFIG_PATH”是否被赋予了正确的值。

# echo $PKG_CONFIG_PATH

如果显示为空或者只显示了一个目录记录,那可能是这里出的问题。(因为:参照互联网上的编译安装步骤,你的那些依赖软件会分散在两个地方。所以,一般是两个不同的目录的话,才是正确的。)

(可选操作)此时请确定目录路径是否包含不同文件:”/root/ffmpeg_build/lib/pkgconfig“以及”/usr/local/lib/pkgconfig

然后执行命令:

# export PKG_CONFIG_PATH=/root/ffmpeg_build/lib/pkgconfig:/usr/local/lib/pkgconfig

即可。

二、个人一直使用的编译参数。

./configure –prefix=/root/ffmpeg_build –pkg-config-flags=–static –extra-cflags=-I/root/ffmpeg_build/include –extra-ldflags=-L/root/ffmpeg_build/lib –extra-libs=-lpthread –extra-libs=-lm –bindir=/root/bin –enable-gpl –enable-libfdk_aac –enable-libfreetype –enable-libmp3lame –enable-libopus –enable-libvorbis –enable-libvpx –enable-libx264 –enable-libx265 –enable-nonfree –enable-libass –pkg-config-flags=”–static”


参考链接:

  1. https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

 

【原】继续科学上网——至收到邮件的小伙伴

途径很简单,就一句话。

请把原来软件中的“服务器设置”一栏的地址: node2.newber-ss.com 更改为 139.162.76.17 的IP地址即可,其他请不要变动。

(注:其他节点修改方式类似,如node1)

作为免费给小伙伴提供的科学上网途径,最重要的是使用Google搜索学习资料。请不要发表啥违规言论,请跟我念:我爱祖国共产党,我爱祖国共产党,我爱祖国共产党。谢谢。

【原】FFMPEG安装AAC扩展

前言:在此之前,在linux设备上转码一个200MB+的视频(3分多钟吧总共),但是转出来后,一直没有声音,看到原视频内的声音是AAC编码,想起会不会是自己编译的FFMPEG的AAC编码问题,于是查询资料(点我前往)安装了新扩展libfdk_aac后,重新转码就没有问题了。

下面就是安装方式了(需要重新编译ffmpeg):

一、前往GitHub拷贝代码,传送门:https://github.com/mstorsjo/fdk-aac

# git clone https://github.com/mstorsjo/fdk-aac.git

二、进入目录并执行安装。

# cd fdk-aac

# ./autogen.sh

# ./configure

# make & make install

三、重新进入之前安装ffmpeg时留下的源码目录(或者去git上重新拷贝一份,随你)并重新编译安装。(下文是我安装时所用的参数,自己可根据情况修改,对于此文安装fdk-aac扩展,最关键的是–enable-libfdk-aac)

# ./configure –prefix=/usr/local/ffmpeg3 –enable-libmp3lame –enable-libvorbis –enable-gpl –enable-version3 –enable-nonfree –enable-pthreads –enable-libx264 –enable-postproc –enable-ffserver –enable-ffplay –extra-libs=-ldl –extra-cflags=-I/usr/local/include –extra-ldflags=-L/usr/local/lib –enable-libfdk-aac

# make & make install

四、截止到此步,应该就可以了;但是,此时执行ffmpeg的时候,可能会出现问题,告诉缺失“libfdk-aac.so.1”。没有关系,如果按照以上步骤完成,则这个文件是有的,我的是放在/usr/local/lib目录下,只不过ffmpeg没有找到。此时可以通过此命令查看。

# ldd /usr/local/ffmpeg3/bin/ffmpeg

此条命令执行后,可以看到确实是no found。此时,推荐采取以下方式处理:

1、查找libfdk-aac.so.1所在路径,并记录:

# find / -name “libfdk-aac.so.1”

2、假设找到的路径在/usr/local/lib目录下(同理,如果不是这个目录,就替换罢了),则执行:

# export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

3、此时就该转码转码,该干啥干啥吧,至于上一步的执行原因,可以参照这篇文章(【转】谈谈Linux下动态库查找路径的问题)。