1 下载、解压、配置
#下载最新安装包
wget http://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar -zxvf ffmpeg-4.4.tar.gz
cd ffmpeg-4.4
# 指定安装目录
./configure --prefix=/usr/local/ffmpeg --enable-libx264 --enable-shared --enable-static --enable-libx264 --enable-gpl --enable-pthreads
问题1
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
缺少汇编器,安装:
sudo yum install nasm yasm -y
问题2
not find libx264
为了支持高分辨需要案组昂libx264
安装参考:https://blog.csdn.net/A199222/article/details/84142894
问题3
Programs:
ffmpeg ffplay ffprobe
如果没有ffplay
,说明机器缺少SDL2
库
sudo yum install SDL2 -y
sudo yum install SDL2-devel -y
问题4
WARNING: using libx264 without pkg-config
# 设置环境变量
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
问题5
字幕组件不存在
ERROR: fontconfig not found using pkg-config
sudo yum install fontconfig
sudo yum install fontconfig-devel
2 编译安装
make -j4 && sudo make install
3 设置环境变量
export PATH=$PATH:/usr/local/ffmpeg
4 试一试
#录制桌面
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
#录制桌面和音频
#使用alsa设备,不同pc,根据选择对应设备即可
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i hw:0 output.mkv
参数
-vide_size 1280x1024 //显示器的分辨率
-framerate 24 //帧率
-i $DISPLAY //输入源 变量DISPLAY 是X11的:0.0,可以指定XY设定抓取坐标:0.0+10,20
-f x11grab //format
问题1
ffmpeg: error while loading shared libraries: libavdevice.so.58
ffmpeg: error while loading shared libraries: libx264.so.164: cannot open shared object file: No such file or directory
原因是找不到ffmpeg的动态库,需要手动设定
cd /etc/ld.so.conf.d
sudo touch ffmpeg-x86_64.conf
打开文件写入/usr/local/ffmpeg/lib/
sudo ldconfig
所以此类缺少动态库的问题都是如此解决
问题2
Unknown input format: ‘alsa’
原因是linux内核alsa驱动已经安装了,但是上层的api工具没有安装,所以此时linux也是无法播放音频。需要安装
sudo yum install alsa-lib alsa-lib-devel alsa-utils
其他
# --extra-cflags="-fPIC" 解决LD so时报错
# relocation R_X86_64_32 against `.rodata‘ can not be used when making a shared object;
#不建议开启enable-shared
export CXXFLAGS="$CXXFLAGS -fPIC"
./configure --prefix=/usr/local/ffmpeg --enable-libx264 --enable-gpl
参考官网ffmpeg 文档
遇到各种坑,参考这里
参考fmpeg: error while loading shared libraries: libavdevice.so.58
版权声明:本文为my_live_123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。