ffmpegを使うとmp4に限らずwavでもwmvでも結合できます。
目次
ffmpegによるmp4結合の基本
結合には3種類あるようですが(How to concatenate two MP4 files using FFmpeg?)、”concat demuxer”を使うのが良さそうです。
mp4の場合はリスト・ファイル hoge.txtを作ります。 中身はこんな感じで。
file 'hoge1.mp4' file 'hoge2.mp4' file 'hoge3.mp4'
このファイルをffmpegに喰わせれば結合されます。
ffmpeg -f concat -safe 0 -i hoge.txt -c copy hoge-all.mp4
リスト・ファイルの作り方
上記のリスト・ファイルはshellなら次のようなコマンドで生成できます。 何度もリストを作る時はこういうスクリプトを使う方が楽でしょうね。
Concatenating media files (ffmpeg wiki)
for i in hoge*.mp4 ; do echo "file '$i'" >> hoge.txt; done
mp4連結のスクリプト
何度もリストから変換する場合もスクリプトが楽です。
shellなら以下のような感じでリスト(.txt)からファイル名を適当に作って変換できます。
hoge.txtならhoge.mp4のようなファイルを生成します。
#!/bin/sh while [ $# -ne 0 ]; do case "$1" in *.txt) if [ -s "$1" ]; then files="$files $1" fi ;; esac shift done for i in $files do filebase=`basename $i|sed 's/\(.*\)\..*/\1/'` mp4file=${filebase}.mp4 ffmpeg -f concat -safe 0 -i $i -c copy ${mp4file} done