我想知道是否可以使用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
有两种媒体文件
可流式传输
不可流式传输
主要区别在于两种文件格式如何嵌入元信息。和不可流式传输格式中,元信息(“标头”)存储在文件中的特定位置,通常在开头,有时在结尾。您不能简单地连接此类文件,因为其中一个文件的元信息将位于非标准位置,因此会被忽略。
奥托,可流式传输格式需要能够处理将在“中间某处”开始播放文件的侦听器。因此,这些格式不断重新发送元信息,甚至允许在文件/流中更新它。这些格式可以简单地串联起来。
答案3
正如 BЈовић 所说,一般来说,每个文件都有自己的文件头。尝试使用这个例子Ubuntu 操作方法:
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi