亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

video.js支持m3u8格式直播的實現示例

2024-09-05 07:23:29
字體:
來源:轉載
供稿:網友

為什么要使用video.js?

1. PC端瀏覽器并不支持video直接播放m3u8格式的視頻

2. 手機端各式各樣的瀏覽器定制的video界面風格不統一,直接寫原生的js控制視頻兼容性較差

3. video.js解決以上兩個問題,還可以有各種視頻狀態接口暴露,優化體驗

核心代碼:

<!DOCTYPE html><html><head>    <title>videojs支持hls直播實例</title>    <link href="./video.css?v=bcd2ce1385" rel="stylesheet"></head><body>    <video id="roomVideo" class="video-js vjs-default-skin vjs-big-play-centered" x-webkit-airplay="allow" poster="" webkit-playsinline playsinline x5-video-player-type="h5" x5-video-player-fullscreen="true" preload="auto">        <source src="/chat/playlist.m3u8"  type="application/x-mpegURL">    </video>    <script src="./video.js?v=fc5104a2ab23"></script>    <script src="./videojs-contrib-hls.js?v=c726b94b9923"></script>        <script type="text/javascript">        var myPlayer = videojs('roomVideo',{            bigPlayButton : false,            textTrackDisplay : false,            posterImage: true,            errorDisplay : false,            controlBar : false        },function(){            console.log(this)            this.on('loadedmetadata',function(){                console.log('loadedmetadata');                //加載到元數據后開始播放視頻                startVideo();            })            this.on('ended',function(){                console.log('ended')            })            this.on('firstplay',function(){                console.log('firstplay')            })            this.on('loadstart',function(){            //開始加載                console.log('loadstart')            })            this.on('loadeddata',function(){                console.log('loadeddata')            })            this.on('seeking',function(){            //正在去拿視頻流的路上                console.log('seeking')            })            this.on('seeked',function(){            //已經拿到視頻流,可以播放                console.log('seeked')            })            this.on('waiting',function(){                console.log('waiting')            })            this.on('pause',function(){                console.log('pause')            })            this.on('play',function(){                console.log('play')            })        });        var isVideoBreak;        function startVideo() {            myPlayer.play();            //微信內全屏支持            document.getElementById('roomVideo').style.width = window.screen.width + "px";            document.getElementById('roomVideo').style.height = window.screen.height + "px";            //判斷開始播放視頻,移除高斯模糊等待層            var isVideoPlaying = setInterval(function(){                var currentTime = myPlayer.currentTime();                if(currentTime > 0){                    $('.vjs-poster').remove();                    clearInterval(isVideoPlaying);                }            },200)            //判斷視頻是否卡住,卡主3s重新load視頻            var lastTime = -1,                tryTimes = 0;                        clearInterval(isVideoBreak);            isVideoBreak = setInterval(function(){                var currentTime = myPlayer.currentTime();                console.log('currentTime'+currentTime+'lastTime'+lastTime);                if(currentTime == lastTime){                    //此時視頻已卡主3s                    //設置當前播放時間為超時時間,此時videojs會在play()后把currentTime設置為0                    myPlayer.currentTime(currentTime+10000);                    myPlayer.play();                    //嘗試5次播放后,如仍未播放成功提示刷新                    if(++tryTimes > 5){                        alert('您的網速有點慢,刷新下試試');                        tryTimes = 0;                    }                }else{                    lastTime = currentTime;                    tryTimes = 0;                }            },3000)        }    </script></body></html>

源碼請移步github:

videojs支持hls直播實例

附:

一.  視頻狀態分析:

EVENTS
durationchange
ended
firstplay
fullscreenchange
loadedalldata
loadeddata
loadedmetadata
loadstart
pause
play
progress
seeked
seeking
timeupdate
volumechange
waiting
resize inherited

currentTime()可以用來發輔助判斷視頻播放情況

二.  視頻加載優化:

通過不初始化video無用組件的方式,提高video加載速度

var myPlayer = videojs('roomVideo',{            bigPlayButton : false,            textTrackDisplay : false,            posterImage: true,            errorDisplay : false,            controlBar : false        },function(){});

未簡化之前:

簡化后:

三.  你可能也會遇到的錯誤error

錯誤1:

{code: 4, message: "No compatible source was found for this media."}

解決:去掉video標簽的data-setup="{}", 只保留js的初始配置

錯誤2:

video.js Uncaught TypeError: Cannot read property 'one' of undefined

解決:

正確

var myPlayer = videojs('roomVideo',{        bigPlayButton : false,        textTrackDisplay : false,        posterImage: false,        errorDisplay : false,        controlBar : {            captionsButton : false,            chaptersButton: false,            subtitlesButton:false,            liveDisplay:false,            playbackRateMenuButton:false        }    },function(){        console.log(this)    });

錯誤

var myPlayer = videojs('roomVideo',{        children : {            bigPlayButton : false,            textTrackDisplay : false,            posterImage: false,            errorDisplay : false,            controlBar : {                captionsButton : false,                chaptersButton: false,                subtitlesButton:false,                liveDisplay:false,                playbackRateMenuButton:false            }        }    },function(){        console.log(this)    });

到此這篇關于video.js支持m3u8格式直播的實現示例的文章就介紹到這了,更多相關video.js支持m3u8內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产极品jizzhd欧美| 国产精品亚洲一区二区三区| 深夜福利一区二区| 国产视频999| 亚洲欧美国产日韩中文字幕| 国产精品1区2区在线观看| 久久69精品久久久久久久电影好| 欧美成人精品一区二区三区| 中文字幕国内精品| www国产亚洲精品久久网站| 亚洲欧美激情在线视频| 国产精品影片在线观看| 精品亚洲va在线va天堂资源站| 国产91精品黑色丝袜高跟鞋| 日韩中文字幕网| 91精品国产精品| 国产欧美亚洲视频| 日韩激情视频在线播放| 国产精品视频免费观看www| 亚洲成人精品视频在线观看| 日韩中文在线不卡| 97在线视频精品| 欧美大片欧美激情性色a∨久久| 欧美日韩激情美女| 久久综合免费视频影院| 亚洲欧美另类国产| 精品久久久久久中文字幕| 欧美巨大黑人极品精男| 久久久久日韩精品久久久男男| 国产美女久久精品香蕉69| 韩国三级电影久久久久久| 久久精品最新地址| 九九视频这里只有精品| 亚洲欧美日韩国产精品| 成人情趣片在线观看免费| 中文字幕日韩欧美在线视频| 成人国产精品一区二区| 欧洲亚洲女同hd| 亚洲另类激情图| 亚洲国产成人爱av在线播放| 欧美成人激情视频| 欧美中文字幕精品| 日韩视频―中文字幕| 久久夜精品香蕉| 久久久久久久一| 亚洲天堂2020| 午夜精品久久17c| 日韩av片电影专区| 日韩免费中文字幕| 国产精品一区二区久久国产| 国产欧美精品在线| 尤物yw午夜国产精品视频明星| 亚洲一区二区三区在线免费观看| 日韩电影中文字幕av| 在线电影欧美日韩一区二区私密| 91高潮在线观看| 精品国内亚洲在观看18黄| 日韩在线观看免费全集电视剧网站| 欧美极品第一页| 影音先锋欧美在线资源| 国产精品美乳一区二区免费| 久久高清视频免费| 亚洲区免费影片| 欧美国产第一页| 国产精品极品美女粉嫩高清在线| 国产日韩欧美夫妻视频在线观看| 久久亚洲国产精品| 亚洲一区亚洲二区亚洲三区| 久久国产一区二区三区| 一区二区三区高清国产| 红桃视频成人在线观看| 最好看的2019年中文视频| 欧美剧在线观看| 在线精品视频视频中文字幕| 超碰日本道色综合久久综合| 51视频国产精品一区二区| 国产不卡视频在线| 日韩精品在线第一页| 疯狂做受xxxx高潮欧美日本| 亚洲精品福利资源站| 欧美精品一二区| 久久精品青青大伊人av| 国内精品免费午夜毛片| 91精品国产91久久久久久吃药| 中文字幕精品av| 亚洲精品黄网在线观看| 国产精品男女猛烈高潮激情| 中文字幕日韩欧美| 国产精品久在线观看| 韩国国内大量揄拍精品视频| 91精品久久久久久久| 欧美日韩亚洲91| 17婷婷久久www| 国产丝袜视频一区| 粉嫩老牛aⅴ一区二区三区| 久久久免费观看| 欧美性生交xxxxxdddd| 亚洲图中文字幕| 欧美日本国产在线| 日韩一区二区福利| 亚洲综合在线做性| 在线观看国产精品淫| 国产视频久久久久| 欧美性videos高清精品| 97超级碰在线看视频免费在线看| 国产精品丝袜久久久久久高清| 久久全球大尺度高清视频| 日韩精品视频免费| 国产精品夜间视频香蕉| 日韩在线视频一区| 国产精品久在线观看| 亚洲香蕉在线观看| 成人性教育视频在线观看| 精品精品国产国产自在线| 国产成人精品久久久| 欧美疯狂性受xxxxx另类| 亚洲一区av在线播放| 成人激情在线播放| 欧美日韩激情小视频| 精品美女久久久久久免费| 国产福利视频一区| 在线亚洲欧美视频| 国产欧美精品va在线观看| 日韩中文字幕网站| 久久69精品久久久久久久电影好| 亚洲性生活视频在线观看| 色噜噜亚洲精品中文字幕| 亚洲色图av在线| 成人av在线天堂| 久久国产精品久久久久久久久久| 国内精品模特av私拍在线观看| 亚洲精品第一国产综合精品| 国产精品视频色| 日韩精品在线视频美女| 伊是香蕉大人久久| 尤物99国产成人精品视频| 欧美激情网站在线观看| 久久久久久久久久婷婷| 色播久久人人爽人人爽人人片视av| 国产精品老女人精品视频| 成人疯狂猛交xxx| 亚洲男人天堂2019| 亚洲欧美国产一本综合首页| 伊人亚洲福利一区二区三区| 91青草视频久久| 国产不卡一区二区在线播放| 亚洲久久久久久久久久久| 91视频国产一区| 欧美国产视频日韩| 性欧美视频videos6一9| 亚洲欧美日韩一区二区在线| 国产一区av在线| 日韩成人在线免费观看| 欧美日韩国产精品一区二区三区四区| 色婷婷av一区二区三区在线观看| 国产一区二区色| 一区二区欧美激情| 亚洲国产成人精品久久久国产成人一区| 久久夜色精品亚洲噜噜国产mv| 久久国产精品久久久久| 中文字幕亚洲欧美一区二区三区| 一区二区三区无码高清视频| 亚洲美腿欧美激情另类| 欧美黑人极品猛少妇色xxxxx|