如何最好地设置 FFMPEG scenecut 阈值

How to best set FFMPEG scenecut threshold

我正在使用 FFMPEG 获取实时流(来自 ATSC 接收器),并将其剪切为 shots/scenes。看起来有一个 scenecut 阈值(在我的示例中为 20)指定场景变化检测的灵敏度。为最佳镜头提取设置的最佳值是多少?我需要输出是单个 scene/shot 并尽可能准确。

ffmpeg -i http://hts:hts@<IP ADDRESS>:<PORT>/stream/service/<HASH ADDRESS> -y -c:v libx264 -profile:v high -prese6t:v fast -deinterlace -x264opts min-keyint=15:keyint=1000:scenecut=20 -b:v 2000k -c:a aac -b:a 128k -f segment -segment_format mp4 -segment_format_options movflags=empty_moov+frag_keyframe+default_base_moof+skip_trailer+faststart /home/1/output%%05d.mp4

通常情况下,值 0.2 to 0.5 会产生良好的结果。在此之下,您开始从与镜头更改相同的镜头中获得重复的帧,而在此之上,您开始丢失镜头更改。同样,这对视频类型非常主观,但任何小于 .15 的值都会从同一镜头中产生大量不必要的重复帧。