cat
コマンドを使用してビデオファイルをマージできるかどうかを知りたいです。生成されたファイルがスムーズに再生されるという意味ですか?
答え1
はい、可能です。ただし、すべての形式がこれをサポートしているわけではありません。
一部のマルチメディアコンテナ(MPEG-1、MPEG-2 PS、DV)では、簡単にビデオファイルをリンクして結合できます。
RAW形式に変換すると、ファイルもリンクされる可能性が高くなります。
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
ただし、cat
この方法で使用すると、不要な中間ファイルが生成されます。これらの中間ファイルの生成を防ぐためのより良い方法は次のとおりです。
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
答え2
メディアファイルには2種類あります。
ストリーミング可能
ストリーミングできません
主な違いは、2つのファイル形式にメタ情報が含まれる方法です。そしてストリーミングできません形式では、メタ情報(「ヘッダー」)はファイル内の特定の場所、通常は最初と時には最後に保存されます。ファイルの 1 つに関するメタ情報は非標準の場所にあるため無視されるため、これらのファイルを単にリンクすることはできません。
バラ油、ストリーミング可能フォーマットは、「中間のどこか」でファイルの再生を開始するリスナーを処理できる必要があります。したがって、これらの形式はメタ情報を継続的に再送信し、ファイル/ストリーム内で更新することもできます。これらの形式は簡単にリンクできます。
答え3
BЈовићが言ったように、通常、各ファイルには独自のファイルヘッダーがあります。この例を試してくださいUbuntuの使い方:
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi