我是centos7的新手。我安装了 FFmpeg 用于将 mp3 文件转换为 opus (Telegram Bot)。但是,我尝试了很多方法来安装它,每次都遇到同样的错误!
例如,我使用这些命令来安装和编译 FFmpeg。这是我的结果:
[root@ip154 nasm-2.14.02]# ffmpeg ffmpeg 版本 3.4.8 版权所有 (c) 2000-2020 FFmpeg 开发人员使用 gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) 构建的配置:-- prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr /lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp -buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' '--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable- gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm -- enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared--enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107. 100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 / swre.sample 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 超快速音频和视频编码器用法:ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 超快音频和视频编码器用法:ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 超快音频和视频编码器用法:ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
使用 -h 获得全面帮助,或者更好的是,运行“man ffmpeg”
可以看到--enable-libopus --disable-encoder=libopus在结果中。
当我运行这个:
ffmpeg -i /var/www/html/test.mp3 -ac 1 -map 0:a -strict -2 -codec:a opus /var/www/html/0912645.ogg
结果是分段错误!
而这段代码:
ffmpeg -i /var/www/html/test.mp3 -c:a libopus -compression_level 10 /var/www/html/hello.ogg
结果是未知编码器'libopus'!
我不知道该怎么办!!!!
你有两个版本的
ffmpeg
安装。您正在执行的损坏ffmpeg
的版本与您从链接中的说明中获得的版本不同(基本上只是FFmpeg Wiki: CentOS的副本)。在某些情况下,shell 只是记住旧版本的位置,因此 Wiki 建议
hash -d ffmpeg
在安装后运行。你可以尝试这样做。或者检查机器人用来运行的路径
ffmpeg
。它可能指向旧的,破碎的ffmpeg
。