自己写了个码率判断脚本,压缩过程用crf模式,压缩完毕后会分类新视频,原视频,核心思想只有一条,就是在新视频不通过的时候尽可能保留原视频。
最早的时候这个机制很简单,就是单纯判断新码率是否大于码率线,但后面机制就复杂了,比如老视频如果小于新视频,但新视频的码率还低于码率线,这时候也应该不通过。
新视频可能是不完整视频需要判断,新视频的分辨率不能大于原视频,等等
之后我还引入了赦免机制,如果新视频大于原视频,但原视频已经低于码率线的0.45倍了,这时候原视频被赦免为“无需压缩的视频”,新视频被删除。
这个机制的引入让之前的情况更加复杂,我需要判断新旧视频的编码效率问题,如果原视频的编码效率大于新视频,那么更倾向于保留原视频,这就涉及到动态生成码率线了,这种动态也不完美,因为它完全基于新视频与原视频之间的编码代差
最早的时候这个机制很简单,就是单纯判断新码率是否大于码率线,但后面机制就复杂了,比如老视频如果小于新视频,但新视频的码率还低于码率线,这时候也应该不通过。
新视频可能是不完整视频需要判断,新视频的分辨率不能大于原视频,等等
之后我还引入了赦免机制,如果新视频大于原视频,但原视频已经低于码率线的0.45倍了,这时候原视频被赦免为“无需压缩的视频”,新视频被删除。
这个机制的引入让之前的情况更加复杂,我需要判断新旧视频的编码效率问题,如果原视频的编码效率大于新视频,那么更倾向于保留原视频,这就涉及到动态生成码率线了,这种动态也不完美,因为它完全基于新视频与原视频之间的编码代差