web-dev-qa-db-ja.com

品質を落とさずに2つのmp4ファイルをマージする方法を教えてください。

私は2つの高品質のmp4ファイルを持っています、それは同じショーの2つの部分からなります。

私はそれらを1つのファイルにマージしたいのですが、私は通常VirtualDubを使用してファイルをマージしています...しかしmp4はサポートしていないようです。

どのような選択肢がありますか(特に再エンコードを必要としないもの)?

50

私は通常VirtualDubを使ってファイルをマージしますが、mp4をサポートしているようには見えません。それでは、どのような選択肢がありますか?

Avidemux 。これはVirtualDubによく似ていますが、サポートされている形式がより多く、コーデックとフィルタが組み込まれています。私はいつもそれを好みで使います。それは私のために罰金AVC + AAC.MP4ファイルを(記録することなく)結合する。

AviDemuxに参加するには:

  1. ファイル - >開く - >ファイルの選択
  2. ファイル - >追加 - >ファイルの選択
  3. すべてをコピーに設定
  4. ファイル - >保存 - > FileName
  5. 待つ..

AViDemuxフォーラムによると、この参加プロセスは無損失です( http://www.avidemux.org/smf/index.php?topic=9467.0

39
bobince

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

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

これは何も再エンコードしません、それらを新しいトランスポートストリームコンテナに配置します。 output.mp4が既に存在する場合、コマンドは失敗します。上記のバージョンでは、中間ファイルを使用する必要があるもの(Windowsなど)をサポートしていないシステムを使用している場合は名前付きパイプを使用します。

ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -bsf:a aac_adtstoasc output.mp4
29
evilsoup

Concatデマルチプレクサ

Concat demuxerがffmpeg 1.1に追加されました。 ffmpegのバージョンが古い場合は、ここから最新の静的バイナリを入手してください。http://www.ffmpeg.org/download。 html

説明書

以下の形式で連結したいすべてのファイルを含むファイルmylist.txtを作成します(ダッシュで始まる行は無視されます)。

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

これらは相対パスでも絶対パスでもかまいません。それからあなたはあなたのファイルを次のようにエンコードすることができます。

ffmpeg -f concat -i mylist.txt -c copy output

このリストファイルはbash for loopで生成することも、printfを使用して生成することもできます。次のいずれかを実行すると、作業ディレクトリ内のすべての* .wavを含むリストファイルが生成されます。

for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt

出典: ffmpeg wiki

15
erik

YAMBMP4BOX は良い選択です。
両方をダウンロードして解凍し(インストールは不要、一緒に約5MB)、[設定]を選択してMP4boxのフォルダパスを設定します。
mp4ファイルを結合するには、[編集]> [結合して結合]の順に選択します。

8
Eran

SUPER©(簡易ユニバーサルプレーヤーエンコーダ&レンダラ)は、以下の追加の出力プロセスを提供します。

サポートされている任意の入力マルチメディアファイルを処理できます。

      o Join Format-Identical Files.
      o Mux Video & Audio Streams.
      o DeMux Extract Streams. 

もちろん、MP4はサポートされているフォーマットです。

SUPER©はフリーウェアです。

6
Molly7244

Matroskaビデオコンテナを使ってみてください。

まず、 mkvtoolnix が必要です。それをダウンロードしてインストールしたら、mkvmerge GUIを起動する必要があります(あなたがコマンドラインツールを好きでない限り、これで問題ありません - ただし、 ファイルリンクセクションを見たくなるかもしれませんmkvmergeのドキュメント )。

「追加」をクリックして最初のファイルを追加します。次に、「追加」をクリックして、2番目のファイルを開きます。出力ファイルを設定し、一番下の "Start muxing"をクリックしてください。

コンテナがあなたのニーズに合わない場合、あなたはそれを再エンコードするか、他のフォーマットに変換しようとすることができます... MKVはとても素敵なコンテナですが!

5
Breakthrough

あなたがあなたのシステムでそれらを再生することができたり/コーデックがインストールされている場合、Windowsムービーメーカーは2つのファイルを結合するための最も速い(そして無料の)方法かもしれません。その後、Virtualdubを使用して別の形式に変換することができます。

1
William Hilsum

別の解決策は Open Video Joiner です。トランジション効果もあります。

enter image description here

1
harrymc