使用ffmpeg将图片转为视频时报错
ffmpeg: error while loading shared libraries: libopenh264.so.5: cannot open shared object file: No such file or directory
我的环境是ubuntu20.4,通过docker部署在centos服务器上
步骤一
通过以下命令查看ffmpeg库发现,我的ffmpeg是与pytorch挂钩,是在安装pytorch_1.8.1时一起安装的ffmpeg_4.3
conda list
步骤二
通过查阅网友的解决办法,可以确定是libopenh264.so.5版本太高,在对应 conda/env/lib 下仅发现libopenh264.so.6,一种比较直接的方法是直接重命名将6->5,但这样会导致 conda list 中丢失 ffmpeg,不过能正常运行,稳妥的办法是copy一份,重命名为libopenh264.so.5
cp ~/conda_env_path/lib/libopenh264.so.6 ~/conda_env_path/lib/libopenh264.so.5
通过这种方式,既保留了conda list中的ffmpeg,也能解决bug。
步骤三
测试命令
ffmpeg -i "image_path/%06d.png" -r 30 -vf scale=-1:480 ./test.mp4
其它方法
由于bug本质是ffmpeg版本问题,所以替换当前版本即可。
# ffmpeg 4
conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge
# ffmpeg 3.4.1
conda install ffmpeg x264=20131218 -c conda-forge