监控物联网直播时遇到iOS无法播放HLS流的问题解决

花絮

随着越来越深入的移动互联网话,普通安防监控行业也随之卷入其中。目前不少行业都开始希望能将区域内监控摄像头实现web端无插件播放。可以在Windows浏览器、手机浏览器、微信内实时直播观看。
为此LiveQing团队出了一款流媒体软件LiveGBS, 可以很方便的接入各种普通的监控摄像头,转成RTMP和HLS视频流输出。手机浏览器或者微信中嵌入H5播放器,可以直接播放HLS视频流。
##问题##
在HLS直播时,遇到有些摄像头的HLS流在Windows和Android浏览器上可以播放,但是在iPhone上不能播放,提示"The media playback was aborted due to a corruption problem or because the media used features your browser did not support", 如下:
监控物联网直播时遇到iOS无法播放HLS流的问题解决


经过一番排查,原因是出问题的摄像机,RTSP数据信息中没有音频参数,音频编码格式为0,通道数为0,而在转RTMP流推送时就使用了这种这些0去初始化了音频MetaData。但是实际直播时数据流是有音频流的。这样就存在初始参数与实际不符的情况,修改初始参数后问题就解决了。