FFmpegを使用してFLVをOGG Theoraビデオに変換すると、「theora_encode_initが失敗しました」


2

FFmpegを使用してフラッシュビデオ(.flv)をOGG Theoraビデオに変換してHTML 5で表示するにはどうすればよいですか?


使ってみたとき

ffmpeg -i dayinthelife.wmv -vcodec libtheora -acodec libvorbis -b 750k dayinthelife.ogv

次の出力が生成されました。

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, asf, from 'dayinthelife.wmv':
  Duration:output 00:01:14.19, start: 5.000000, bitrate: 3754 kb/s
    Stream #0.0: Audio: wmav2, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0.1: Video: wmv3, yuv420p, 1440x1080, 24000 kb/s, 29.97 tbr, 1k tbn, 1k tbc
Output #0, ogg, to 'dayinthelife.ogv':
    Stream #0.0: Video: libtheora, yuv420p, 1440x1080, q=2-31, 500 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1: Audio: vorbis, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
[libtheora @ 0x2551920]theora_encode_init failed
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

これはどのFLVファイルでも発生しますか?(実際には、ここで入力としてWMVファイルを使用していることに注意してください)。どのバージョンのFFmpegを使用していますか?
-slhck

私が試した3つのflvファイルと2つのwmvファイルのいずれかで発生します。削除した回答で教えていただいたガイドに基づいて、ffmpegを再インストールしています。
イッツチャック

それを試して、それが機能するかどうかを確認してください。リポジトリから取得したさまざまなFFmpegバージョンと結果が混在しています。
-slhck

それは動作しますが、それを読んだ後、私はffmpeg2theoraを残りに使用しました。
イッツチャック

そうですか。あなたがまだ有用であると思うならば、私は私の答えを元に戻しましたffmpeg2theora。:)
slhck

回答:


1

それは比較的簡単です:

ffmpeg -i input.flv -vcodec theora -acodec vorbis output.ogv

またはなどの-bオプションで目的のターゲットビットレートを指定します。-b 1M-b 512K


TheoraおよびVorbisをサポートするffmpegをコンパイルする必要があることに注意してください。これらのオプションがない場合は、こちらのガイドに従って適切なライブラリでコンパイルしてください

具体的には、これらのフラグ:--enable-libtheora --enable-libvorbis


私は尋ねる前にそれを試しました。エラーが発生[libtheora @ 0x2551920]theora_encode_init failedし、出力ファイルが空になりました。私はそれについて何をしますか?
イッツチャック

1

これは一種のタンジェントですが、仕事を成し遂げます。

Handbrakeは、多くのビデオ形式をMP4に変換するFFmpeg上に構築された無料のエンコーダーです。出力を「Web最適化」に指定すると、MP4でHTML5互換のビデオが提供されます。

Ogg / Theoraで動画を取得する手順は次のとおりです。

  • ハンドブレーキを開く
  • 「Web最適化」を指定します
  • Handbrakeが実行するコマンドライン出力を取得しますが、実行しないでください。
  • テキストエディタで、ライブラリをMP4からOgg / Theoraライブラリに変更します。
  • 変更した出力をFFmpegで実行します。

FFmpegがそもそもビデオをエンコードできない場合、それが本当に役立つかどうかはわかりません。
-slhck

正しいオプションがFFmpegに渡されていない可能性が高くなります。ただし、再レンダリングしようとしているファイルに破損がある可能性もあります。
ジョナサン

変換するのに非常に基本的なオプションで十分です。FFmpegのインストール(例ffmpeg -i input.flv -vcodec libtheora -acodec libvorbis output.ogv)で正常に完了しました。入力ファイルまたはFFmpegの設定が間違っていると思われます。
slhck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.