FFmpeg 将 mpeg2 转码为 H264 并比较帧

FFmpeg transcoding mpeg2 to H264 and compare frames

我有以下 mpeg2 源文件:

Stream #0:0[0x900]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 16:15 DAR 4:3], 4540 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc

并使用以下命令将其转码为 H264:

ffmpeg -i source.mpg -vcodec h264_nvenc -r 25 -g 25 -acodec copy -copyts -f mpegts example1.mpg

之后我想从两个视频文件中提取相同的帧:

ffmpeg -y -ss 00:44:16 -i source.mpg -frames:v 1 source.png

ffmpeg -y -ss 00:44:16 -i example1.mpg -frames:v 1 example1.png

但是图片(source.png和example1.png)不一样。请参阅 source.png:

还有 example1.png

如何在两个视频中捕捉同一时刻(帧)

您可以使用帧数而不是时间来从两个视频中提取帧。例如,您可以使用以下命令从视频中获取第 100 帧:-

ffmpeg -i source.mpg -vf "select=gte(n\,100)" -vframes 1 source.png