硬编码帧率错误导致的浏览器不能播放的问题
现象
服务器软解软编---------------------浏览器可以播放
服务器硬解软编---------------------浏览器可以播放
服务器软解硬编---------------------浏览器播放不出来
服务器硬解硬编---------------------浏览器播放不出来
保存硬编后的h264流,本地播放可以播放,但是发现gop=25,帧率=8;
但是我们在服务器不管是软编还是硬编都是设置的帧率=25,但是软编出来的流可以播放,但是硬编出来的流不可以播放。
原因
摄像机的帧率设置的是8,改成了25之后硬编可以播放。
残存的问题
解封装用的自己的库,没有获取帧率,而解码和编码都是用的ffmpeg,在编码的时候应该动态设置帧率和gop的,但是我们是写死25。改进的方法应该是1、在解封装的时候就获取到该路的gop和帧率,在编码的时候对应设置上;2、在编码的时候固定设置25,输入帧率不是25的情况下需要进行帧率的转换,目前没有找到ffmpeg对应的转换帧率的方法,网上有说进行插帧或删帧的方法,没有进行尝试。