最終出力のMP4ファイルでも、2つ以上のMP4ファイルを連結またはマージするにはどうすればよいですか?
DOSウィンドウでCOPYコマンドを使用しようとしました(どこかで読みました)が、うまく機能しません。
[〜#〜] yamb [〜#〜] または My MP4Box GUI のようなGUIを使用することもできますが、MP4Boxはこれを実行できます。 (注:個人的にはmyプログラムではありません。これは単なる名前です。)Windows用のMP4Boxバイナリは このサイト から入手できます。
例:
MP4Box -tmp $HOME -add vid.01.m4v \
-cat vid.02.m4v -cat vid.03.m4v vid-out.mp4
あなたはこれをffmpegで試すことができます:
mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
これは何も再エンコードせず、新しいトランスポートストリームコンテナーに配置します。これにより、連結がより簡単になり、連結してMP4に戻します。 output.mp4がすでに存在する場合、コマンドは失敗します。上記のバージョンは名前付きパイプを使用しており、中間ファイルを使用する必要があるものをサポートしていないシステムを使用しています:
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4
Usind ffmpeg をお勧めします。これは、Mac OS X、Linux、および Windows で使用できます。
2つの映画を連結する方法の良い例を示します。 http://www.ffmpeg.org/faq.html#SEC27
最後のステップでは、結果のファイル用にMP4コンテナーを作成することを確認する必要があります。
更新:他の回答を読んだ後、インストールしたavidemuxを確認しました。それはあなたが探しているものです(その名前のためにMP4を実行できるとは思わなかった…)。
VirtualDubModはmp4に対応していると思いますが、使用しなかったので、確かにわかりません。
MeGUI を確認してください。かなり複雑で機能豊富なアプリとツールです。
コンテナー(この場合はmp4)に埋め込むためのツールはmuxerと呼ばれますが、おそらくそれらを連結することはできません。
VirtualDubと組み合わせて使用できます。 Virtualdubでビデオストリームを連結し、muxerで再びmp4にします(再エンコードする必要はありません)。
コマンドは次のとおりです。
ffmpeg -i concat:"video1.ts|video2.ts"
私はそれらをffmpegでaviに変換した後、mencoderでそれをやっています
これは、01.mp4 ... 15.mp4という名前の15個のファイルがあると仮定した簡単なスクリプトです。
#!/bin/bash
for j in `seq -w 1 15`;
do
echo converting file $j.avi
ffmpeg -i $j.mp4 $j.avi
echo adding file $j.avi to list
z="$z $j.avi"
done
echo doing append
mencoder -oac copy -ovc copy $z -o all.avi
乾杯