【发布时间】:2020-06-05 17:08:11
【问题描述】:
是否有一个 FFMPEG 命令,如果我们传递一个视频文件,在每个场景更改时它都应该为它生成一个关键帧。我理解的关键帧是视频的一系列文件(图像或视频)文件,可用于在视频悬停时播放。请告知我们是否可以这样做?
【问题讨论】:
是否有一个 FFMPEG 命令,如果我们传递一个视频文件,在每个场景更改时它都应该为它生成一个关键帧。我理解的关键帧是视频的一系列文件(图像或视频)文件,可用于在视频悬停时播放。请告知我们是否可以这样做?
【问题讨论】:
是否有一个 FFMPEG 命令,如果我们传递一个视频文件,每个 场景改变它应该为它生成一个关键帧。
嗯,这取决于什么编解码器,以及你所称的场景。 x264 具有调整场景灵敏度的 scenecut 参数。但是,x264 所称的场景可能与您所称的场景不同。
例如,迈克尔·贝 (Michael Bay) 的电影每 4 或 5 秒就有一次硬切。 x264 可能会将每个“剪辑”视为一个场景。 ffmpeg 无法处理任何比剪切或淡化更聪明的事情。
我理解的关键帧是一系列文件(图像或视频) 视频文件,可用于在鼠标悬停时播放 视频。请告知我们是否可以这样做?
不,一点也不。
关键帧是单个帧,而不是一系列帧或文件。它也与“悬停”无关。关键帧只是一个独立的帧,这意味着您可以独立解码它,而无需首先解码它可能引用的任何帧。
视频压缩不只是对每一帧进行编码。它将对一帧进行编码,然后对于下一帧,仅对更改的部分进行编码。这称为“预测帧”,如果不对参考帧进行解码,则无法对其进行解码。关键帧只是一个不引用任何其他帧的帧。
有时一些玩家可能会进行优化,在悬停时预览关键帧,因为关键帧的解码速度比预测帧快。但这是 100% 的播放器优化,并非所有播放器都这样做。
对我来说,听起来像是xyproblem。
【讨论】: