2016-07-30 21 views
0

イムは、ファイルを処理し、次のコマンドFFmpegの「オプションの値を解析できません 『(ヌル)』サンプルフォーマットとして」

ffmpeg -i input.webm output.webm 

を実行しようと、私はvideoconverter.jsから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) 

最終結果は、「サンプルフォーマットとして 『(ヌル)』をオプション値を解析できません」が原因で停止しています。どうすればこの問題を解決できますか?

+0

プログラミング固有の質問のようには見えないので、ここではそれが重要です。私は[ffmpeg] cliツールの使用に関する質問に[su]を推奨します。 – LordNeckbeard

+0

@LordNeckbeard ffmpegの通常のビルドには問題はありません。 javascriptのemscriptenのバージョンはそうです。 – Akshat

答えて

0

お客様のffmpegビルドは古いバージョンでサポートされていないバージョン2.2.1を使用しています。 Opusのデコードをネイティブにサポートするには古すぎます(このバージョンでは、Opusをデコードするにはlibopusが必要です)。開発ブランチから派生したビルド( "git master")にアップグレードするか、少なくとも最新のリリースを使用してください。

可能であれば、最新のlibvpxも使用する必要があります。最近のFFmpegでは、--disable-bsfsを削除する必要があることに注意してください。これは、VP9がWebmのデフォルトのビデオエンコーダになり、vp9_superframeビットストリームフィルタが必要になるためです(自動的に適用されます)。あるいは、VP32を-c:v libvpxで強制的にエンコードすることもできます。

Webmにlibopus(推奨)またはlibvorbisサポートを追加することを検討してください。さもなければ、非常に低俗で実験的なFFmpegネイティブVorbisエンコーダを使用します。

+0

javascriptバージョンをビルドするには、disable-asmおよびdisable-pthreadsが必要です。そのemscriptenビルド。私は '--disable-bsfs'で再構築を試みます。ここでビルドスクリプトを見ることができます:https://github.com/bgrins/videoconverter.js/blob/master/build/build_all_codecs.sh私は-cコピーで試してみました、それと同じ問題があります、私はそれもremuxを行うために利用できるデコーダが必要と思う。 – Akshat

+0

@Akshat回答が更新されました。あなたのバージョンは古すぎてOpusのデコードをネイティブにサポートできません。 – LordNeckbeard

関連する問題