29

可能であれば、VLC を使用して mp4 から webm に変換するにはどうすればよいですか? どのコーデックを選択すればよいですか? サウンドを再コーディングする必要がありますか?

フォールバックとしてフラッシュを使用して、html5 ビデオを Web サイトに配置しようとしています。私が理解しているように、これは Firefox が許可する唯一の形式 (webm) です (Windows 7 64 ビットを使用している場合を除く)。Theoraは機能しているようですが、私が理解していることからすると、少し古いです。また、画像を正しくレンダリングし、サムネイルを提供するまでに時間がかかります:(

<video controls width="500">  
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" />
</video>

ああ、私は Mac OS Lion を使用していますが、Windows 7、Vista、および XP にもアクセスできます。

助けてくれてありがとう!

4

6 に答える 6

22

WebM は Matroska (.mkv) の単なるサブセットであるため、HandBrakeを使用して MKV ファイルを作成します (MP4 ではなく MKV コンテナーを選択します)。IMHO HandBrake は、Mac で MP4 および MKV ファイルを作成するための最良のツールです (Windows および Linux にも存在しますが、私はそこで使用したことはありません)。2 パス エンコーディングを使用すると、利用可能なストレージ スペースおよび/または帯域幅に対して最適な品質を得ることができます。非常に強力でありながら (非常に多くの設定を構成できます)、HandBrake は依然として非常に簡単なツールです (ほとんどの構成を行う必要はありません)。すでにデフォルトで非常に良い結果が得られます)。

WebM は MKV サブセットであるため、ビデオ コーデックとして VP8 または VP9 を使用し、オーディオ コーデックとして Vorbis または Opus を使用することに注意してください。2013 年までは、WebM には VP8 と Vorbis しかなかったので、これはほとんどのデバイス、ブラウザー、プレーヤーで再生できる最も互換性のある組み合わせです。2013 年には新しい VP9 と Opus が追加され、現在ではこれらの任意の組み合わせが合法です。

MKV を取得したら、 を使用して WebM に変換しますffmpegMacOS X 用にビルド済みの ffmpgをスタンドアロン バイナリとしてダウンロードできます(10.9 以降で動作します)。ターミナルでそのコマンドを実行するだけです。

./ffmpeg -i INPUTIFLE.mkv -c copy OUTPUTFILE.webm

以上です。これは-c copy、ffmpeg がここで何も変換しないことを意味するため (ビデオは再度トランスコードされません!)、すべてのオーディオおよびビデオ データをそのままコピーし、コンテナのみを書き換えて、そうでない MKV 部分を削除するため、非常に高速です。 WebM でサポートされています (たとえば、章はサポートされていません)。コピーするだけでは、何も再圧縮されないため、この変換が品質にまったく影響を与えないことも意味します。

ffmpeg再圧縮なしのコンテナー間の変換に使用すると、他の多くの形式でも機能します。たとえば、実際に MPEG4 または H.264 である MKV がある場合、再エンコードせずに同じ方法で MP4 ファイルに変換できます。品質を損なうことなく、ビデオのオーディオ レイヤーのみをプレーン オーディオ ファイルに抽出することもできます (たとえば、MP3 または AAC オーディオを MP3 または MPA ファイルに抽出します)。選択した宛先コンテナがソース ファイルのデータを保持できない場合 (たとえば、AAC オーディオを MP3 ファイルにコピーしたり、VP9 ビデオを MP4 ファイルにコピーしたりすることはできません)、 によって通知されffmpegます。

于 2017-01-24T22:06:04.907 に答える
18

そのコードを次のように変更します。

<video poster="/path/to/your/thumbnail/image.jpg" preload="meta" controls width="500"> 
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" /> 
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
</video>

理由:

poster="/path/to/your/thumbnail/image.jpg"

ユーザーが動画を再生する前に「サムネイル」を表示するため

<source src="video/45.mp4" type="video/mp4" /> BEFORE <source src="video/45-theora.ogg" type="video/ogg" />

mp4 をオープン フォーマット (webm や therora など) の前に使用する必要があります。これは、一部の iOS バージョンにバグがあり、mp4 が html 内の他のフォーマットの後にリストされている場合 (したがって最初にリストすること)、ビデオがまったく再生されないためです。

preload="meta"

iOS の一部のバージョン、さらには Safari や Chrome の一部のバージョンでさえ、同じページに一度に多数のビデオがある場合、ページを読み込むのに苦労するためです。preload=none または preload=meta は、これらの問題の解決に役立ちます。

エンコーディングに関しては、Miro Converterの方がエンコーディングに優れており、ブラウザで再生できる形式 (mp4、webm、theroa) の変換にははるかに使いやすいです。VLC には多くのオプションがありますが、正しく理解していないと圧倒されイライラすることがあります。Miro はドロップ アンド ドラッグ アプリケーションであり、divintohtml5で推奨されています。

于 2012-03-15T18:16:25.160 に答える
13

ffmpeg を使用している場合は、このコマンドがファイルサイズと品質の妥協点としてうまく機能することがわかりました。

ffmpeg -i myvideo.mp4 -acodec libvorbis -aq 5 -ac 2 -qmax 25 -threads 2 myvideo.webm

オーディオとビデオの品質は-aq-qmaxそれぞれ と で制御できます。興味があれば、いくつかの詳細をブログに投稿しました: http://daniemon.com/blog/how-to-convert-videos-to-webm-with-ffmpeg/

エンコーディング タスクにコミットするシステム リソースの量に応じて、-threadsパラメーターを調整するか、完全に省略できます。

于 2014-01-06T07:41:11.040 に答える