添加字幕代码地址https://github.com/gaoxingpeng666/ffmpeg-
编译时出现错误:No such filter :"drawtext"
解决方法:重新编译ffmpeg, ./configure加上--enable-libfreetype
执行
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-yasm --disable-libx264 --enable-libfreetype
出现错误:freetype2 not found
需要在linux系统上安装freetype
下载freetype,地址:http://www.freetype.org/download.html,举例2.5.3版本
二、编译freetype
1.解压包freetype-2.5.3.tar
2.cd freetype-2.5.3
3. ./configure --prefix=/usr/local/freetype
注意:在make的时候若是出现如下错误:
make: Nothing to be done for `unix'.
这时,进入UNIX中编译, cd ./builds/unix
./configure
cd ../../
4. make
5. sudo make install
然后,在/usr/local下的include和lib分别为头文件目录及库目录(包括静态库及动态库)
静态库:libfreetype.a
动态库:libfreetype.so
然后再配置编译ffmpeg:
1、解压缩
tar -zxvf ffmpeg-2.6.3.tar.gz或tar -jxvf ffmpeg-2.6.3.tar.bz2
2、编辑profile文件配置安装环境:
vi /etc/profile
在文件末尾加上两句话:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
3、配置安装路径之类的:
进入解压目录ffmpeg-2.6.3运行:
su
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-yasm --disable-libx264 --enable-libfreetype
如果执行结果不对,可以根据提示信息,并查看帮助,解决问题
./configure --help
4、编译安装ffmpeg
make
make install
5、安装之后在/usr/local/ffmpeg会看到有三个目录
bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
6、为了防止执行程序找不到库文件,
将ffmpeg文件下lib文件夹内的所有文件放入cp -r /usr/local/ffmpeg/lib/* /usr/lib
将ffmpeg文件中的include文件夹内的所有文件放入cp -r /usr/include/* /usr/include
7、若出现error while loading shared libraries: libavdevice.so.52的错误
修改/etc/ld.so.conf 在最后一行加上/usr/local/ffmpeg/lib
ldconfig -v
并修改 /usr/local/ffmpeg/lib目录下的文件权限为777
编译完ffmepg后再编译添加字幕的程序就没问题了。