Closed Skqing closed 5 years ago
插入优酷视频,地址不同有时不能播放,例如:
https://v.youku.com/v_show/id_XNDE0Nzk2ODE4MA==.html?spm=a2ha1.12675304.m_7182_c_14738.1&scm=20140719.manual.7182.video_XNDE0Nzk2ODE4MA%3D%3D
这种带参数地址无法播放,去掉参数插入后才能播放:
https://v.youku.com/v_show/id_XNDE0Nzk2ODE4MA==.html
怀疑是video.js中的方法convert_url的正则表达式有问题,无法获取正确的地址。 解决方法,去掉视频地址中多余的参数:
video.js中的方法convert_url
function convert_url(url){ if ( !url ) return ''; var arr = url.split('?'); if (arr && arr.length > 1) { url = arr[0]; } url = utils.trim(url) .replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i, 'player.youku.com/player.php/sid/$1/v.swf') .replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i, "www.youtube.com/v/$2") .replace(/youtu.be\/(\w+)$/i, "www.youtube.com/v/$1") .replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i, "player.ku6.com/refer/$1/v.swf") .replace(/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i, "player.56.com/v_$1.swf") .replace(/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i, "player.56.com/v_$1.swf") .replace(/v\.pps\.tv\/play_([\w]+)\.html.*$/i, "player.pps.tv/player/sid/$1/v.swf") .replace(/www\.letv\.com\/ptv\/vplay\/([\d]+)\.html.*$/i, "i7.imgs.letv.com/player/swfPlayer.swf?id=$1&autoplay=0") .replace(/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i, "www.tudou.com/v/$1") .replace(/v\.qq\.com\/cover\/[\w]+\/[\w]+\/([\w]+)\.html/i, "static.video.qq.com/TPout.swf?vid=$1") .replace(/v\.qq\.com\/.+[\?\&]vid=([^&]+).*$/i, "static.video.qq.com/TPout.swf?vid=$1") .replace(/my\.tv\.sohu\.com\/[\w]+\/[\d]+\/([\d]+)\.shtml.*$/i, "share.vrs.sohu.com/my/v.swf&id=$1"); return url; }
欢迎提交PR ~
可以,抽空弄一下
插入优酷视频,地址不同有时不能播放,例如:
这种带参数地址无法播放,去掉参数插入后才能播放:
怀疑是
video.js中的方法convert_url
的正则表达式有问题,无法获取正确的地址。 解决方法,去掉视频地址中多余的参数: