web-dev-qa-db-ja.com

DTSサウンド付きのMKVをAACまたはAC3オーディオ付きのMP4ビデオに変換

4.3 GB 720pの映画を入手し、このMKVをDTSサウンドでAACまたはAC3オーディオのMP4ビデオに変換します。

私は時々得ます:

ffmpeg: unrecognized option '-c:v'

…そして:

aac unrecognized

¬および他の同様のもの。

この映画は、急流のサイトで見られるような小さいサイズにしたいです。

13
dale

FFmpeg の最新バージョンを実行していることを確認してください。 WindowsおよびLinuxの場合、静的ビルドはホームページから入手できます。 macOSの場合、FFmpegは Homebrew からインストールできます。

次に、最も単純なケースで実行します。

ffmpeg -i input.mkv -c:v libx264 -c:a aac out.mp4

ビデオ品質の設定

ビデオ品質を制御するには、 crfパラメータ を設定します。デフォルトは23です。低いほど品質は高くなりますが、ファイルサイズは大きくなります。 19から26までの値を試して、何が最適かを確認してください。必要なファイルサイズに応じて、特定のビットレートを設定することもできます。ここでは、例えば、500 kBit/s:

ffmpeg -i input.mkv -c:v libx264 -crf 23 …
ffmpeg -i input.mkv -c:v libx264 -b:v 500k …

オーディオの場合は、-b:a

マルチチャンネルオーディオ

オーディオストリームで複数のチャネル(5.1サウンドなど)を使用している場合は、別のAACエンコーダー(libfdk_aac)。このエンコーダーは静的ビルドでは使用できませんが、ffmpegのパッケージ済み/ Homebrewバージョンで取得できます。

ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a libfdk_aac -b:a 384k out.mp4

すべてのストリームをコピーする

入力ファイルに複数のビデオ、オーディオ、字幕ストリームがある場合、ffmpegはデフォルトでそれらのすべてを変換しません。

使用する -map 0 ffmpegに入力ファイルからすべてのストリームを取得するように指示します(詳細は FFmpeg Wiki を参照)。これは、元の言語にある可能性があるさまざまな言語や字幕を保持するのに役立ちます。

ffmpeg -i input.mkv -c:v libx264 -c:a aac -map 0 out.mp4
19
slhck

MKVは単なるコンテナーです。 .mkvコンテナ内にMPEG-4ビデオを含めることができます。

私の提案はこれです:

ファイルを.mkvコンテナにプッシュします。

mkvmerge -o newfile.mkv inputfile.m4v

mkvdts2ac3.shスクリプト ここから入手可能 を取得して、次のコマンドを実行します。

mkvdts2ac3.sh newfile.mkv

できた!

私のテレビはAC3をサポートしていますが、DTSはサポートしていないので、この設定は私にとって不思議です。

mkvdts2ac3.shには、非常に基本的ないくつかの依存関係の要件があることに注意してください。スクリプトを実行すると表示されます。

2
UtahJarhead

あなたはこれを行うことができます:

ffmpeg -i input.mkv -c:v copy -c:a libfaac out.mp4

または、喜びがない場合は、内部ビットストリームを修正してみてください

ステレオおよびascへの変換:

ffmpeg -i input.mkv -c:v copy -c:a libfaac    \
-bsf:a aac_adtstoasc -ac 2 -ar 48000 -ab 256k \
out.mkv

5.1の場合、サラウンドと音声が聞き取りにくくなります。これは、ダイアログがセンターチャンネル上にあり、R&Lチャンネルからオフマイクのみが聞こえるが、音楽とサウンド効果が急上昇しているためです。

これをdolby-IIフィルターで補正して、サラウンドチャネルを大幅に削減し、センターチャネルをステレオに分割して、それらをすべて右と左のステレオチャネルに結合できます。

ffmpeg -i input.mkv -c:v copy -c:a libfaac -bsf:a aac_adtstoasc   \
  -af aresample=matrix_encoding=dplii -ac 2 -ar 48000 -ab 256k    \
  out.mkv
1
Chris Reid

@ UtahJarheadが言った のように、MKVはコンテナです。基本的には、DTSオーディオをAC3またはAACに変換する必要があります。

これを行う最良の方法は、オーディオにFFmpegを使用し、オーディオとビデオをマージするためにMKVToolNixを使用することです。

コマンドではなくGUIを使用する場合は、ここでその方法を説明しました:ビデオからサポートされていないオーディオを変換する

0
IvanRF