最近打算系统学习下ffmpeg,简单记录下
环境:Ubuntu 16.04.7
1、源码下载,笔者选择 ffmpeg-6.1.tar.xz
Index of /releases
2、libx264下载
git clone https://code.videolan.org/videolan/x264.git
3、libx265下载
git clone https://gitcode.com/videolan/x265.git
4、编译libx264
./configure --prefix=../install/x264_dir/ --enable-shared --enable-static --disable-asm
make install
5、编译libx265
cd x265/build/linux
修改安装路径:vi make-Makefiles.bash
-DCMAKE_INSTALL_PREFIX=../../../install/x265_dir/
./make-Makefiles.bash
可能会提示需要安装ccmake,没安装就装一下
make install
如果有权限问题 sudo sh ./make-Makefiles.bash && sudo make install
6、ffmpeg编译
1)配置 libx264 libx265 PKG_CONFIG_PATH
export PKG_CONFIG_PATH=xx_dir/install/x264_dir/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=xx_dir/install/x265_dir/lib/pkgconfig:$PKG_CONFIG_PATH
可以改到~/.profile下
2)查看pkg配置是否成功
pkg-config --list-all |grep 264
pkg-config --list-all |grep 265
3)ffmpeg编译config
./configure --prefix=../install/ffmpeg_dir/ --enable-shared --enable-static --enable-gpl --disable-asm --enable-ffmpeg --enable-libx264 --enable-decoder=h264 --enable-libx265 --enable-decoder=hevc --enable-ffplay --pkg-config="pkg-config --static"
4)编译可能没有ffplay
sudo apt-get install libsdl2-dev
5)开始编译
make install
编译完成安装目录下有ffmpeg/ffplay/ffprobe
7、ffmpeg测试
下载个测试视频
http://vjs.zencdn.net/v/oceans.mp4
配置x264/x265库环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:xx_dir/install/x264_dir/lib:xx_dir/install/x265_dir/lib:xx_dir/install/ffmpeg_dir/lib
./ffmpeg -re -i input.mp4 -c copy -f flv out.flv
./ffmpeg -re -i input.mp4 -vcodec h264 -b:v 2000k -c:a copy -f flv out.flv
./ffprobe -show_format out.flv
./ffplay out.flv
注:ffplay没显示配置 export DISPLAY=:0