2012-09-10 17:23:32 +0000 2012-09-10 17:23:32 +0000
44
44
Advertisement

元の品質を保持しながら、MP4にMKVを変換するためのハンドブレーキの設定

Advertisement

私はMP4に変換する必要があるMKVファイルのトンを持っており、私の選択したソフトウェアはハンドブレーキです。

私は変換に最適な設定に行き詰っています。私は完全な品質を保持したい。私はちょうど元の設定で変換し、何も変更しないか、または私が変更する必要がある特定のものはありますか?

Advertisement
Advertisement

回答 (2)

87
87
87
2012-09-10 17:58:20 +0000

ハンドブレーキの問題点は何ですか?

Handbrakeを使って、あるコンテナフォーマットから他のコンテナフォーマットに変換するとき(つまり、あなたの場合はMKVからMP4に変換するとき)、Handbrakeはビデオを再エンコードします。ビデオパススルーを有効にしたであろう それぞれの機能要求 も参照してください:

申し訳ありませんが、ビデオパススルーの追加は予定されていません。HandBrake はビデオトランスコーダとして設計されています。パススルーを許可するようには設計されていません。

そのため、Handbrakeでコンテナを変更するときはいつでも、ビデオは再エンコードされることになり、a)時間がかかり、b)品質が低下する可能性があります。

再エンコードする必要がありますか?コンテナを入れ替えればいいんじゃないの?

パススルーは不可能なので、自問自答してみてください。**コンテナをMKVからMP4に変更するだけなら、通常は何もエンコードする必要はありません。これは品質を失うことはありませんし、それははるかに速いプロセスになります。

FFmpeg で簡単にコンテナを入れ替えることができます。

ffmpeg -i input.mkv -c copy -map 0 output.mp4

MP4コンテナを作成できる MP4Box のようなツールもあります。

ただし、大きな注意点があります: これはターゲット(MP4)コンテナでオーディオとビデオコーデックがサポートされている場合にのみ機能します。また、MP4の字幕フォーマットのサポートはMKVとは異なり、実際にはかなり制限されているため、このコマンドは失敗する可能性があります。

このコマンドがうまくいかず、入力が出力コンテナに間違ったコーデックを使用している場合は、再エンコードする必要があるでしょう。この場合、コーデックは出力コンテナに適応されます。

なぜこのようなことが必要なのかを理解するには、 ビデオコーデックとコンテナの違い を学ぶことが重要です。これにより、コンテナの変更がなぜ機能するのか、また、コンテナのMP4とMKVは実はビデオコーデックとはほとんど関係がないのかを理解することができるようになります。

とにかく、なぜ再エンコードが悪いのか?

すでにエンコードされたビデオをエンコードする際に、フルクオリティを保持することは(通常)できません。これは、オリジナルがすでに情報を捨てて圧縮されているためで、それをやり直すことで世代損失が発生しているからです。

ビデオの寸法が変わった場合や、ビデオストリームを圧縮するために特定のビットレートが必要な場合、元のビデオが何らかの理由で再生できないコーデックを使用している場合など、ビデオを再エンコードしたい場合がよくあります。

ですから、MKVビデオをHandbrakeに読み込んで、Handbrakeが使用しているH.264エンコーダであるx264で再エンコードし、MP4コンテナに保存した場合、何があっても品質が落ちてしまいます。しかし、その場合、ファイルサイズも大きくなります。

理想的なケースでは、ビデオを非圧縮ビデオに変換します。

わかったけど、どうしても再エンコードしないといけないんだよね!

本当に再エンコードしなければならない場合は、平均ビットレートではなく、Constant Rate Factorを選択してください。ちょうどMP3のための “可変ビットレート "のようなもの:それは、それらを必要とするビデオ部分にビットを費やすことを確認し、全体的な品質を向上させます - 同じファイルサイズで。0x2&0x2&正真正銘のCRF値は19から24までで、低い方が「より良い」ことを意味します。なので、Rate Factorを19にしてみるといいでしょう。また、エンコーダがすべての機能を使用し、与えられたビットレートに対して品質を最適化できるようにする「High」プロファイルを設定することを忘れないでください。

4
4
4
2014-11-15 12:52:09 +0000

これは私のために非常によく動作します。以下は、Windowsですべての.mkvを.mp4に変換するコードです。

  • あなたのパスにffmpegを追加する必要があるかもしれません。あなたはffmpeg実行ファイルのフルパスをD:apps\ffmpegbin\ffmpeg.exeに置くことができます。.mkvファイルをドロップしてください。ディレクトリ全体を処理します。

convert.batというファイルに保存します。

for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
pause
Advertisement

関連する質問

22
7
8
1
4
Advertisement
Advertisement