videojs无法播放nginx rtmp搭建的vod服务url(url中含有官方推荐的多级路径双斜杠)

视频存放地址 /home/lenovo/videofiles,其中还有以年月日为名称的文件夹,视频文件在年月日文件夹下存放
如:rtmp://10.191.111.73:8700/myvod//2020-06-03/a.mp4
VLC能够取到流,但是使用videojs直接报错,图片说明图片说明

解决办法在这里RTMP Play Subfolder doesn't work.,不要用//,而是用&

https://blog.csdn.net/weixin_42448623/article/details/100114689

改一下videojs-flash的streamToParts函数

videojsFlash.streamToParts = function (e) {
var t = {
                connection: "",
                stream: ""
            };
            if (!e) return t;
            var r = e.search(/&(?![\w-]+=)/),
                n = void 0;
            var ra = e.lastIndexOf("//")
            if(ra==5){
                //没有双斜杠
                var tt = (-1 !== r ? n = r + 1 : 0 === (r = n = e.lastIndexOf("/") + 1) && (r = n = e.length), t.connection = e.substring(0, r), t.stream = e.substring(n, e.length), t)
            }else{
                var stm = e.split("//");
                var tt = {
                    connection:stm[0]+"//"+stm[1],
                    stream:stm[2]
                }
            }
            return tt
}

这样就支持双斜杠了