示例命令:
-map 0:0 -f mp4 -vcodec libx264 -preset slow -profile:v main -vf scale="640:trunc(ow/a/2)*2" -vb 700k -minrate 650k -maxrate 750k -bufsize 10000k -an -g 48 -x264opts keyint=48:min-keyint=10:scenecut=40 -flags +cgop -sc_threshold 40 -pix_fmt yuv420p -threads 0 -y
编码没有错误,但我想了解以下几点-
1)上面的命令会保证GOP大小的范围是{10,48},如果任何场景变化值(frame1到fame2)>40%,那么那里引入了关键帧?
2) 这意味着在 3 小时的源视频中,不能保证 GOP 大小将保持不变
3) 不考虑,我正在创建 7 个 MP4 文件,每个文件具有不同的比特率和分辨率。(这些 Mp4 将在后期进行编码以进行平滑处理)。因此,我的目标是自适应流媒体。但是当我这样做时,我发现如果 GOP 大小在每个比特率之间不一致。我的意思是,例如:如果在 Bitrate1 - GOP 大小像 10、20、48 等等,在其他比特率中它不是相同的序列。我希望我的问题是有道理的。
那么有没有一种方法可以确保 GOP 的大小可能会因单个输出而异。但如果源相同,它应该在每个比特率上保持一致吗?
也适用于自适应流 场景切换检测是否可取?