12

2つのMTSビデオファイルがあり、それぞれ2分の長さです。ファイルを結合してフォーマットをMPEG4に変換できる必要があります。MTSをMP4に変換するための適切なコマンドラインがありますが、そもそもファイルを結合する方法がわかりません。

Web上のいくつかの記事では、次のようにCATコマンドの使用を提案しています。

cat video1.mts video2.mts > whole_video.mts

ただし、これは機能せず、FFMPEGによると、「whole_video.mts」の長さは4分ではなく、わずか2分です。

誰かがファイルを一緒に結合する方法を知っていますか?FFMPEGはこれを行うために使用するのに最適なプログラムですか?前もって感謝します。

4

3 に答える 3

23

以下は私にとって完璧に機能しました(つまり、シームレスな結合が得られました)。

ffmpeg -i "concat:00019.MTS|00020.MTS|00021.MTS|00022.MTS" output.mp4
于 2015-08-05T15:55:17.350 に答える
3

猫の作品を使用しています。結果のwhole_video.mtsを読んでいる間、ビデオプレーヤーはビデオの長さにだまされます。通常、ファイルが以前に切り取られた場所で突然のタイムスタンプジャンプが発生します。しかし、これは大丈夫です。それをエンコードすると、正しいタイムスタンプ付きのファイルが得られます。

ffmpegでエンコードしてからMP4Boxで結合するのは悪い考えです。2番目のファイルがキーフレームで始まらない場合(2GBのファイル制限のためにカムコーダーによって切り取られた場合に発生します)、交差位置でブロックが欠落している醜い画像が表示されます。参加してからエンコードしてください。その逆ではありません。

于 2012-01-29T12:05:24.703 に答える
1

大丈夫です、私はそれを分類しました。FFMPEG、x264、MP4Box(GPAC)の最新のSVNバージョンを使用して、これが私がしたことです...

通常どおり、FFMPEGを使用してMTSファイルをMP4に変換します。

ffmpeg -i video1.mts -vcodec libx264 -deinterlace -crf 25 -vpre hq -f mp4 -s hd480 -ab 128k -threads 0 -y 1.mp4
ffmpeg -i video2.mts -vcodec libx264 -deinterlace -crf 25 -vpre hq -f mp4 -s hd480 -ab 128k -threads 0 -y 2.mp4

MP4Boxを使用して、MP4ファイルを結合します。

MP4Box -cat 1.mp4 -cat 2.mp4 output.mp4

これにより、ファイルが「output.mp4」に結合されますが、「ffmpeg -i output.mp4」を使用すると、期間が本来よりも長くなると表示されます。これを修正するには、FFMPEGを再度使用する必要がありました。

ffmpeg -i output.mp4 -vcodec copy -y final.mp4

そして出来上がり!FFMPEGを使用して「final.mp4」ファイルをクエリすると、正しい長さが表示され、ビデオは正常に再生されます。

これが同じ問題を経験している他の人に役立つことを願っています。

于 2010-08-24T10:42:07.820 に答える