“配置编码器失败” 这个错误可能有多个原因,以下是一些建议的排查步骤:
-
检查ffmpeg版本: 确保你正在使用的ffmpeg版本支持你的编码器和功能。有时,版本的差异可能导致某些功能不受支持。
-
检查编码器支持: 确保你的ffmpeg版本编译时启用了所需的编码器。你可以使用以下命令查看支持的编码器:
ffmpeg -encoders
确保你看到了你要使用的编码器,而且它是启用的。
-
检查输入数据: 确保你的输入数据是有效的,而且ffmpeg可以正确地读取它。
-
查看错误详细信息: 如果你的错误信息中有详细的错误信息或者堆栈跟踪,这些信息可能对找出问题有帮助。
-
尝试简化配置: 如果可能的话,尝试用最简化的配置来运行ffmpeg,看看问题是否依然存在。这有助于确定问题的来源。
-
查看ffmpeg日志: 在执行ffmpeg时,尝试将输出写入日志文件,以便更仔细地查看错误。例如:
ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 500k -an -report output.mp4 2> ffmpeg_log.txt
查看生成的 ffmpeg_log.txt
文件,看看是否有任何错误或警告。
出现错误提醒:
[vp8_v4l2m2m @ 0x56195db9f9f0] Could not find a valid device
[vp8_v4l2m2m @ 0x56195db9f9f0] can't configure encoder
输入查看支持视频格式
ffmpeg -devices |grep configuration
FFMPEG 配置选项详细说明
出现这个证明 不支持此解码 ,需要重新编译生成libx264.so库,重新编译FFmpeg并将x264添加进去下载x264源码
cd x264 //进入x264源码文件目录下
./configure --enable-shared
make -j4
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib //生成文件的默认路径为:/usr/local/lib
cd ffmpeg //进入ffmpeg源码文件目录下
./configure --enable-shared --disable-yasm --enable-libx264 --enable-gpl --prefix=/home/jiajia/ffmpeg-x64 --prefix=/usr --extra-version=1ubuntu1.0firefly5 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-decoder=h264_v4l2m2m //配置参考 FFMPEG 配置选项详细说明
make -j4
make install