私はこのスレッドを見つけました: 元の品質を維持しながらMKVをMP4に変換するためのハンドブレーキ設定
そして、次のコードで.MKVを.MP4に「変換」できます。
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na .mp4"
pause
唯一の問題は、2つのオーディオレーンがあることです。ドイツ語、そして英語。上記のコードでは、ドイツ語(1番目)の言語のみをコピーします。しかし、2番目の音声言語ではありません。どうやってやるの?
現時点では、ドイツ語のみで.MKVから.MP4に変換しています。しかし、VLCプレーヤーで言語をドイツ語から英語に切り替えられるようにしたいと思っています。
ご協力いただきありがとうございます!
編集:ここでそのスレッドを見つけました: http://ffmpeg.gusari.org/viewtopic.php?f=25&t=611
そして、私はその情報でテストしました。上記のコードを次のコードに変更しました。
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -map 0:0 -map 0:1 -map 0:2 -c:v copy -c:a:0 copy -c:a:1 copy "%%~na.mp4"
pause
私はここで何か間違ったことをしましたか?どうすればドイツ語/英語の字幕をそれに追加できますか?そこに字幕マップを追加し、.MKVに字幕がまったくない場合、これは問題になりますか? 2つのサウンドトラックと2つの字幕で.MKVを変換する.batファイルを作成したいだけです。情報を失うことなく、すべての.MKVファイルを.MP4に「リマックス」(またはdunnoに変換)できるようにします。
現時点では、私の.MKVには字幕がないので、重要ではありません。でも、将来に備えたほうがいいですよね?
それで、私がそれを正しくしたかどうか、そしておそらく字幕を追加する方法も教えてください。 FFmpegを使ったのは初めてです。ダウンロードしただけで、聞いたことはありません。そのためにCMDを実際に使用したことはありません。
ffmpegはすべてのトラックを自動的にマッピングするわけではありません。デフォルト ストリーム選択 は、1つのオーディオ、1つのビデオ、および1つの字幕トラックのみを出力にマップします。 map すべてのストリームが必要な場合は、-map 0
を使用します。マップするwhatを選択できるようにする場合は、最初に入力ファイルを解析して(ffmpeg -i input.mkv
)、いくつかを使用する必要があります。最終的な変換コマンドを作成するためのスクリプト。 ffprobeはそのために役立ちます。例については、 FFmpeg Wiki:FFprobeのヒント を参照してください。
-c copy
を ストリームコピー すべてのストリームに指定できます。ストリームのタイプは関係ありません。ビデオストリームとオーディオストリームを別々にインデックス付けすることもできるため、コマンドを次のように短縮できます。
ffmpeg -i input.mkv -c copy -map 0 output.mp4
さて、私は次のような.batファイルを使用しています:
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na.mp4"
エラーメッセージが表示されますが、.MP4は引き続き正常に機能します。ここにログファイルがあります:pastie.org/private/9lqyvhyotnh1o4gp6rg5g
問題は、古いソニーのテレビが.MP4を見ているときにフリーズすることがあるということです。それがテレビの「プレーヤー」なのか、変換されたファイル自体なのかわかりません。 GUIは良さそうです。しかし、連続して20個のファイルのように変換したい場合は、多くのクリックが必要です。 .batファイルは、これらすべてのファイルを1つのフォルダーにまとめて自動的に実行します。
おそらく誰かが私がエラーメッセージを受け取る理由を知っているでしょう、そしてこのスクリプトが間違っているかどうか:)
VCTと呼ばれるオープンソースプログラムがあります: https://sourceforge.net/projects/videoconvertertranscoder/?source=directory
FfmpegのGUIです。 ffmpegコマンドを手動で編集することもできます。 MKVをMP4に再パックできるTranscodeというタブがありますが、このタブには字幕を追加するオプションがありません。
MKVをMP4に再パックし、同時に字幕を追加する場合の手順は次のとおりです。
もちろん、2回エンコードしてもかまわず、コマンドの入力が気に入らない場合は、次のようにすることもできます。