FFmpeg';无法分析选项值";(无效)“;作为样本格式';

FFmpeg';无法分析选项值";(无效)“;作为样本格式';,ffmpeg,video-conversion,Ffmpeg,Video Conversion,我正在尝试处理一个文件并运行以下命令 ffmpeg -i input.webm output.webm 我用的是来自的ffmpeg库。我正在努力了解什么地方出了问题,或者我该如何解决它 我最终得到了这个: Worker has received command Received command: -i input.webm output.webm. Processing with 268435456 bits. ffmpeg version 2.2.1 Copyright (c) 2000-

我正在尝试处理一个文件并运行以下命令

ffmpeg -i input.webm output.webm
我用的是来自的ffmpeg库。我正在努力了解什么地方出了问题,或者我该如何解决它

我最终得到了这个:

Worker has received command
Received command: -i input.webm output.webm.  Processing with 268435456 bits.
ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun  9 2014 20:24:32 with emcc (Emscripten GCC-like replacement) 1.12.0 (commit 6960d2296299e96d43e694806f5d35799ef8d39c)
  configuration: --cc=emcc --prefix=/Users/bgrinstead/Sites/videoconverter.js/build/ffmpeg/../dist --extra-cflags='-I/Users/bgrinstead/Sites/videoconverter.js/build/ffmpeg/../dist/include -v' --enable-cross-compile --target-os=none --arch=x86_32 --cpu=generic --disable-ffplay --disable-ffprobe --disable-ffserver --disable-asm --disable-doc --disable-devices --disable-pthreads --disable-w32threads --disable-network --disable-hwaccels --disable-parsers --disable-bsfs --disable-debug --disable-protocols --disable-indevs --disable-outdevs --enable-protocol=file --enable-libvpx --enable-gpl --extra-libs='/Users/bgrinstead/Sites/videoconverter.js/build/ffmpeg/../dist/lib/libx264.a /Users/bgrinstead/Sites/videoconverter.js/build/ffmpeg/../dist/lib/libvpx.a'
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
[vp8 @ 0xed8c00] Warning: not compiled with thread support, using thread emulation
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, matroska,webm, from 'input.webm':
  Metadata:
    encoder         : Chrome
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Audio: opus, 48000 Hz, mono (default)
    Stream #0:1(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
[abuffer @ 0xedd670] Unable to parse option value "(null)" as sample format
    Last message repeated 1 times
    Last message repeated 1 times
[abuffer @ 0xedd670] Error setting option sample_fmt to value (null).
[graph 1 input from stream 0:0 @ 0xedd600] Error applying options to the filter.
Error opening filters!
Finished processing (took 673ms)

由于“无法将选项值”(null)“解析为样本格式”,最终结果停止。我该如何解决这个问题?

您的
ffmpeg
版本使用的是旧版和不受支持的版本2.2.1。 它太旧了,无法在本机上支持Opus解码(此版本需要libopus来解码Opus)。升级到从开发分支派生的版本(“git master”),或至少使用最新版本

如果可能的话,还应该使用现代的libvpx。请注意,对于最新的FFmpeg,您需要删除
——禁用bsfs
,因为VP9现在是Webm的默认视频编码器,并且需要VP9_超帧比特流过滤器(它会自动应用)。或者,您可以使用
-c:v libvpx
强制VP8编码


考虑为Webm添加libopus(首选)或libvorbis支持;否则,您将使用非常蹩脚和实验性的FFmpeg原生Vorbis编码器。

您的
FFmpeg
版本使用的是旧版和不受支持的版本2.2.1。 它太旧了,无法在本机上支持Opus解码(此版本需要libopus来解码Opus)。升级到从开发分支派生的版本(“git master”),或至少使用最新版本

如果可能的话,还应该使用现代的libvpx。请注意,对于最新的FFmpeg,您需要删除
——禁用bsfs
,因为VP9现在是Webm的默认视频编码器,并且需要VP9_超帧比特流过滤器(它会自动应用)。或者,您可以使用
-c:v libvpx
强制VP8编码


考虑为Webm添加libopus(首选)或libvorbis支持;否则,您将使用非常蹩脚和实验性的FFmpeg原生Vorbis编码器。

@LordNeckbeard FFmpeg的普通版本没有这个问题。javascript-emscripten版本不存在此问题,但ffmpeg的普通版本不存在此问题。javascript emscripten版本不支持。构建javascript版本需要Disable-asm和Disable-pthreads。这是一个脚本式的构建。我将尝试使用
--禁用bsfs
重建。您可以在此处看到生成脚本:。“我确实试过使用-c复制,它也有同样的问题,我认为它也需要一个解码器来执行remux。”阿克沙回答更新。您的版本太旧,无法在本机支持Opus解码。构建javascript版本需要禁用-asm和禁用pthreads。这是一个脚本式的构建。我将尝试使用
--禁用bsfs
重建。您可以在此处看到生成脚本:。“我确实试过使用-c复制,它也有同样的问题,我认为它也需要一个解码器来执行remux。”阿克沙回答更新。您的版本太旧,无法在本机上支持Opus解码。