Unknown encoder 'libfdk_aac'

Unknown encoder 'libfdk_aac'

我是 Linux 新手,所以如果我忽略了一些显而易见的东西,或者我把这个问题引向了错误的地方,请不要太严厉地评判我,我只是被难住了。

我刚刚使用指示几乎逐字逐句地提供。在两次安装中,当我尝试播放任何会议室中的任何录音时,我都遇到了以下错误。

The have been errors while processing the recording    


Recording file is not found


Exit value

Conversion messages

0 process: generateSampleAudio
command: /usr/bin/sox /opt/red5321/webapps/openmeetings/streams/hibernate/one_second.wav /opt/red5321/webapps/openmeetings/streams/7/rec_3_stream_e7ebdbfa-0716-4173-bd7e-797cbdc22d91_2017_04_04_09_42_26_FINAL_WAVE.wav pad 0 9.0 
exception: null
error: 
exitValue: 0
out: 

1 process: generate MP4
command: /usr/bin/ffmpeg -y -itsoffset 00:00:01.000 -i /opt/red5321/webapps/openmeetings/streams/7/rec_3_stream_e7ebdbfa-0716-4173-bd7e-797cbdc22d91_2017_04_04_09_42_26.flv -i /opt/red5321/webapps/openmeetings/streams/7/rec_3_stream_e7ebdbfa-0716-4173-bd7e-797cbdc22d91_2017_04_04_09_42_26_FINAL_WAVE.wav -c:v h264 -crf 24 -pix_fmt yuv420p -preset medium -profile:v baseline -c:a libfaac -c:a libfdk_aac -ar 22050 -b:a 32k -s 960x768 /opt/red5321/webapps/openmeetings/streams/hibernate/caf73e1d-4536-4ca2-a709-2efc7228ac48.mp4 
exception: null
error: ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, flv, from '/opt/red5321/webapps/openmeetings/streams/7/rec_3_stream_e7ebdbfa-0716-4173-bd7e-797cbdc22d91_2017_04_04_09_42_26.flv':
  Metadata:
    server          : Red5
    creationdate    : Tue Apr 04 09:42:35 PDT 2017
    canSeekToEnd    : true
    noaudiocodec    : 0
  Duration: 00:00:08.80, start: 0.000000, bitrate: 2348 kb/s
    Stream #0:0: Video: flashsv, bgr24, 960x768, 2347 kb/s, 10 fps, 10 tbr, 1k tbn, 1k tbc
Guessed Channel Layout for  Input Stream #1.0 : mono
Input #1, wav, from '/opt/red5321/webapps/openmeetings/streams/7/rec_3_stream_e7ebdbfa-0716-4173-bd7e-797cbdc22d91_2017_04_04_09_42_26_FINAL_WAVE.wav':
  Duration: 00:00:10.00, bitrate: 705 kb/s
    Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 1 channels, s16, 705 kb/s
Unknown encoder 'libfdk_aac'

exitValue: 1
out: 

1 process: generate preview JPG
command: /usr/bin/ffmpeg -y -i /opt/red5321/webapps/openmeetings/streams/hibernate/caf73e1d-4536-4ca2-a709-2efc7228ac48.mp4 -vcodec mjpeg -vframes 100 -an -f rawvideo -s 960x768 /opt/red5321/webapps/openmeetings/streams/hibernate/caf73e1d-4536-4ca2-a709-2efc7228ac48.jpg 
exception: null
error: ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
/opt/red5321/webapps/openmeetings/streams/hibernate/caf73e1d-4536-4ca2-a709-2efc7228ac48.mp4: No such file or directory

exitValue: 1
out: 

错误输出中引用的文件夹路径均具有读/写/执行权限。

答案1

Unknown encoder 'libfdk_aac'

问题

您的命令正在尝试使用 选择一个音频编码器-c:a libfaac -c:a libfdk_aac。此操作存在一些问题:

  • 该命令列出了一个输出的两个编码器。只应列出一个。在这种情况下,第二个将取代第一个,因此 libfaac 将被忽略。

  • 您的 ffmpeg在配置行中没有--enable-libfaac或,因此这些编码器不可用。这就是您得到的原因。--enable-libfdk_aacffmpegUnknown encoder 'libfdk_aac'

  • libfaac 支持已被删除,因此如果您想使用现代且最新的,则应该避免使用它ffmpeg

解决方案

删除-c:a libfaac -c:a libfdk_aac后将自动选择原生 FFmpeg AAC 编码器。或者,您可以使用-c:a aac手动选择原生 FFmpeg AAC 编码器。

如果您使用的是旧的、过时的编码器ffmpeg,则需要添加-strict experimental到命令中以启用原生 FFmpeg AAC 编码器。但是,建议更新您的ffmpeg编码器,因为原生 FFmpeg AAC 编码器得到了很大的改进。

您可以ffmpeg通过以下方式更新到新版本下载并将其移动到/usr/local/bin~/bin并将您的脚本指向它。


No such file or directory

这很简单:检查输入是否存在以及输入的路径是否正确。


更好的命令

生成 JPG 的命令不太好:

改变:

-vcodec mjpeg -vframes 100 -an -f rawvideo -s 960x768

到:

-vframes 1 -ss 1 -vf scale=960:-1
  • 您通常不需要-vcodec-f用于图像输出:输出文件名将自动确定编码器和容器格式。

  • -vframes 100将输出 100 帧,但输出时会列出单个文件名。请使用-vframes 1

  • -an图像输出不需要。

  • -f rawvideo输出 rawvideo,但您想要 JPG。删除它,或者-f image2如果您需要手动声明输出格式(例如,如果输出名称是变量)则使用它。

  • 比例过滤器-s比各方面都更好。

相关内容