MP4に変換する必要があるMKVファイルが大量にあり、選択したソフトウェアはHandbrakeです。
変換に最適な設定はどれですか。完全な品質を維持したい。元の設定で変換するだけで、何も変更しませんか、または特定の変更が必要ですか?
MP4に変換する必要があるMKVファイルが大量にあり、選択したソフトウェアはHandbrakeです。
変換に最適な設定はどれですか。完全な品質を維持したい。元の設定で変換するだけで、何も変更しませんか、または特定の変更が必要ですか?
回答:
Handbrakeを使用して、あるコンテナ形式から別のコンテナ形式に変換する場合(つまり、MKVをMP4に変換する場合)、Handbrakeはビデオを再エンコードします。ビデオパススルーを有効にした各機能リクエストも参照してください。
ビデオパススルーの追加は予定されていません。HandBrakeは、ビデオトランスコーダーとして設計されています。パススルーを許可するようには設計されていません。
したがって、Handbrakeでコンテナを変更すると、ビデオが再エンコードされます。つまり、a)時間を要し、b)品質が低下する可能性があります。
パススルーは不可能であるため、自問してください:再エンコードする必要がありますか?コンテナをMKVからMP4に変更するだけの場合、通常は何もエンコードする必要はありません。ビデオの「ラップ」を変更するだけです。これにより品質が失われることはなく、はるかに高速なプロセスになります。
FFmpegを使用すると、コンテナを簡単に交換できます。ビデオストリームとオーディオストリームをコピーするように指示するだけです。
ffmpeg -i input.mkv -c copy -map 0 output.mp4
また、MP4コンテナーを作成できるMP4Boxなどのツールもあります。MKVtoolnixを使用したMKV でも同様です。
ただし、大きな注意点があります。これは、オーディオおよびビデオコーデックがターゲット(MP4)コンテナーでサポートされている場合にのみ機能します。これは、たとえばH.264 / H.265およびAACの場合ですが、他の多くの場合ではありません。また、MP4の字幕形式のサポートはMKVとは異なり、実際には非常に制限されているため、このコマンドは失敗する可能性があります。
このコマンドが機能せず、入力が出力コンテナに間違ったコーデックを使用する場合、おそらく再エンコードする必要があります。この場合、コーデックは出力コンテナに適合します。
これが必要な理由を理解するには、ビデオコーデックとコンテナの違いを理解することが重要です。これは、コンテナの変更が機能する理由と、コンテナMP4およびMKVが実際にビデオコーデックとほとんど関係がない理由を理解するのに役立ちます。
あなたは(通常は)完全な品質を維持することはできませんすでにエンコードされたビデオをエンコードするとき。これは、元の情報が情報を破棄することで既に圧縮されており、再度実行することで世代の損失が発生しているためです。
多くの場合、たとえばサイズが変更されたとき、ビデオストリームを圧縮するために特定のビットレートが必要なとき、または何らかの理由で再生できないコーデックを元のビデオが使用するときに、ビデオを再エンコードする必要があります。
あなたはそれがハンドブレーキの用途はMP4コンテナに保管し、x264のでH.264エンコーダをあなたのMKVのハンドブレーキにビデオ、および再エンコードをロードするのであれば、あなたは、どんな失う品質に行くされていない場合を除き、あなたはビットレートを設定したり、品質係数が非常に高いため、(実際に)違いが見えません。ただし、ファイルサイズも大きくなります。
理想的なケースでは、ビデオを非圧縮ビデオに変換します。これにより品質は失われませんが、数分間のビデオ素材でも、数十ギガバイトのサイズのファイルが提供されます。
あなたがいる場合、実際に再エンコードする必要があります、必ず平均ビットレートを設定しますが、選択しないで作る速度定数ファクター「一定の品質」のようなものです。MP3の「可変ビットレート」と同じように、同じファイルサイズで、それらを必要とするビデオ部分にビットを費やし、全体的な品質を向上させます。
健全なCRF値は19から24で、低いほど「より良い」ことを意味します。したがって、19のレートファクターで試すことができます。また、「高」プロファイルを設定して、エンコーダがすべての機能を使用し、特定のビットレートの品質を最適化できるようにします。
ffmpeg -i input.mp4 -c copy output.mkv
ば大丈夫です。
これは私にとって非常にうまく機能します。以下は、Windowsですべての.mkvを.mp4ファイルに変換するコードです。
convert.batというファイルに保存します。
for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
pause
for %%a in ("*.mkv") do %~dp0ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"