ffmpeg 和其他软件有很多选项,我尝试了 ffmpeg 的“concat”方法并尝试了 mkvmerge,它们不适用于 JPEG 视频 (MJPG)。我会使用任何可以保持质量的工具,但最好是 ffmpeg。
以下是视频的规格(它们都相同):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.MOV':
Metadata:
major_brand : qt
minor_version : 537331972
compatible_brands: qt pana
Duration: 00:00:30.00, start: 0.000000, bitrate: 29166 kb/s
Stream #0:0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj420p(pc, bt470bg/unknown/unknown), 1280x720, 28486 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc (default)
Metadata:
creation_time : 2019-04-02T14:53:42.000000Z
encoder : Photo - JPEG
Stream #0:1(eng): Audio: pcm_s16be (twos / 0x736F7774), 16000 Hz, mono, s16, 256 kb/s (default)
最简单的方法
加入MJPEG视频的最简单方法是使用该
cat
工具或. 但我几乎从不建议这些,因为它们只适用于最简单的格式,而且这些方法有太多方法可以创建损坏的输出。ffmpeg
最佳方法
concat demuxer比 concat 协议“更智能”,因此
cat
它更健壮且不太可能创建损坏的输出。创建一个名为
input.txt
列出要连接的视频的文本文件。运行
ffmpeg
并将其input.txt
作为输入:这假设您的输入具有相同的属性:视频格式、帧速率、像素格式(YUV 4:2:0 vs YUV 4:2:2 vs YUV 4:4:4)、宽度、高度、音频格式、通道布局、和采样率。
该示例使用流复制模式 (
-c copy
),因此它将避免重新编码并因此保持质量。有关更多信息,请参阅FFmpeg Wiki:连接。
像这样:
是的,这行得通。
为什么不?这些命令非常通用,对我有用。我几乎不使用 mjpg,也没有发现用于 ffmeg 的 Motion JPEG 存在问题。
备择方案