MKVコンテナのフレームレートを変更する


0

一部のMKVコンテナ(89アイテム、合計196,3 GB)の再生で問題が発生しました。

オーディオとビデオは25 fpsでエンコードされますが、サブは完全に同期していません-これらは23.976 fpsでエンコードされます。

私の質問:これらの映画のフレームレートを23.976にバッチ変更/再エンコードすることはできますか?


2
字幕を変更する方が簡単ではないでしょうか?ムービーの速度を25から23.98に上げると、オーディオのピッチを上げなければならず、不自然に見える/聞こえます。また、ビットストリームを再圧縮する必要があります。
slhck 14

89の字幕を手動で同期するのはかなりの労力です:(
メインストリーム14

実際、ffmpeg -i input.mkv -c:v libx264 -crf 21 -c:a aac -strict experimental -b:a 128k -r 23.98 -sn output.mkvいくつかのフレームをドロップしてフレームレートを変換するようなことを試してみたいと思うかもしれません。もちろん、これは再エンコードされます。字幕はファイル内にありますか?または.srtファイルとして?
slhck

OK、コメントありがとう。ファイルを再確認しましたが、字幕が削除されたようです。字幕をそのままにする方法はありますか?字幕はMKVコンテナに埋め込まれています。
メインストリーム14

ええ、-sn字幕を無効にします。では-c:s copy、あなたは、たとえば、それらをコピーすることができます。
slhck 14

回答:


-1

字幕をそのままにしながら、ビデオとオーディオを異なるフレームレートに再コーディングしてみてください。

ffmpeg -i input.mkv -c:v libx264 -crf 21 -c:a aac -strict experimental -b:a 128k -r 23.98 -c:s copy output.mkv

CRFはビデオ品質を設定します。18のように、品質をさらに高めるために低い値を選択してください。x264のデフォルトは23です。


mkvmergeリムース中にコンテナのタイムスタンプを変更できるツールを使用すれば、ビデオ品質を損なうことなくこれを実行できます。ただし、オーディオをデコード/処理/エンコードする必要はあります。
ピーターコーデス

1

人々がコメントで言ったように、あなたが実際に解決しようとしている問題に対処する正しい方法は、字幕を微調整するか、プレーヤーに異なる速度のビデオを求めていることを伝えることです。(例:mpv --sub-fps 2525fpsショーのサブを24 / 1.001 fpsコピーと同期させます。)(http://mpv.io/

しかし、実際の質問に答えるには:

fpsを変更するために再エンコードする必要はありません。残念ながら、ffmpeg 再エンコードせずに新しいタイムスタンプでリマックスできませんが、それはffmpegの設計上の制限です。ビデオのエンコードは損失が多く非常に遅いため、行わないでください。

mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkvビデオFPSを変更してみてください。それはオーディオのタイミングに影響を与えないので、A / V非同期化を取得します。 入力ファイルの0:トラック0を選択します。これは通常、ビデオだと思います。

ピッチを保持する高速化フィルターで処理した後、オーディオを再エンコードする必要があります。私は通常、mpv / mplayerのscaletempoフィルターで再生時にのみこれを行います(mpvは自動的に挿入します)。ffmpegには、atempoおそらくトリックを行うフィルターがあります。

スローダウンしたオーディオを24 / 1.001fpsビデオと多重化すると、作業ファイルが再び必要になります。

通常、これを行う必要はないので、私はこれをすべてテストしませんでした。潜水艦の速度をプレイヤーに伝えるだけです。またmpv --speed 25025/24000 -subfps 25 myfile.mkv、元々25fpsだったイギリスのショーの24 / 1.001 fpsコピーがあり、一定の速度で元の速度で再生したい場合、25fpsでビデオをオンザフライで再生することもできます。 -ピッチのオーディオ高速化。


1

少なくともWindowsの場合、エンコードして品質を失う必要はありません。字幕編集ソフトウェアを使用して、同期に進み、元の字幕のフレームレートを必要なものに変更し、後で新しい同期字幕に保存します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.