欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > html5用video標簽流式加載的實現

html5用video標簽流式加載的實現

熱門標簽:只辦理400電話 電話機器人電銷系統掙話費 平涼地圖標注位置怎么弄 機器人外呼系統存在哪些能力 高德地圖標注地點糾錯 南昌仁和怎么申請開通400電話 如何獲取地圖標注客戶 拓展地圖標注 電話機器人黑斑馬免費

video標簽

瀏覽器的video標簽通常是接收一個src屬性,然后瀏覽器就會根據這個src屬性來自動加載視頻。
這個過程是瀏覽器來加載video的。

這種方式有什么問題嗎?

  • mp4文件不能流式加載
  • webm,flv,hls等格式兼容性問題
  • 播放器ui太丑,一些常用的功能都沒有
  • 清晰度切換,等一些操作需要重載視頻,比較慢而且還會黑屏
  • 無法對視頻加密

請求video流視頻

我們可以通過設置responseType為arraybuffer來獲取視頻流,也可以通過range字段來獲取視頻流片段。比如

let xhr = new window.XMLHttpRequest();
xhr.responseType = 'arraybuffer'
xhr.open('get', 'http://www.w3school.com.cn/i/movie.mp4')
xhr.responseType = 'arraybuffer';
// xhr.setRequestHeader('Range', `bytes=0-390625`)
xhr.onload = function () {
    if (xhr.status === 200 || xhr.status === 206) {
        console.log(xhr.response)
    }
}
xhr.send();

或者fetch的arrayBuffer方法返回視頻流。

 fetch(videoUrl).then(function(response) {
       return response.arrayBuffer();
 })

獲取到的數據是什么呢?二進制的視頻流。
獲取這個有什么用呢?

video去播“流”

MediaSource

MediaSource簡稱mse,是h5的一個api,它允許通過js生成媒體流,讓瀏覽器播放。

使用

我們通過 URL.createObjectURL來創建一個blob格式的視頻文件,來給video標簽播。
具體用法就是new MediaSource,然后根據這個MediaSource生成blob文件,然后向MediaSource中添加mime和視頻流。

<div class="a">
        <video id="video" controls preload="auto"></video>
    </div>
    <script>
        $(function() {
            var video = document.querySelector('#video');
            var mediaSource = new MediaSource();
            video.src = URL.createObjectURL(mediaSource);
            mediaSource.addEventListener('sourceopen', sourceOpen);

            function sourceOpen(e) {
                URL.revokeObjectURL(video.src);
                // 設置 媒體的編碼類型
                var mime = 'video/webm; codecs="vorbis,vp8"';
                var mediaSource = e.target;
                var sourceBuffer = mediaSource.addSourceBuffer(mime);
                var videoUrl = 'http://localhost:9090/examples/mp4/video.webm';
                fetch(videoUrl).then(function(response) {
                        console.log(response)
                        return response.arrayBuffer();
                    })
                    .then(function(arrayBuffer) {
                        sourceBuffer.addEventListener('updateend', function(e) {
                            if (!sourceBuffer.updating && mediaSource.readyState === 'open') {
                                mediaSource.endOfStream();
                                // 在數據請求完成后,我們需要調用 endOfStream()。它會改變 MediaSource.readyState 為 ended 并且觸發 sourceended 事件。
                                video.play().then(function() {}).catch(function(err) {
                                    console.log(err)
                                });
                            }
                        });
                        sourceBuffer.appendBuffer(arrayBuffer);
                    });
            }
        })
</script>

我們的mine是什么呢?
video/webm是視頻格式,codecs后面第一段是一些視頻編解碼的一些重要信息,諸如編碼方式、分辨率、幀率、碼率以及對解碼器解碼能力的要求。
第二段是關于音頻部分的信息。


 

生成這樣的一個video標簽。我們現在繞過了瀏覽器直接去請求src這一步,ajax請求視頻流,然后我們可以對視頻流進行處理,直接操作視頻流實現我們需要的各種功能。
但是對于mp4格式,是不支持流式加載的,所以只能通過我們自己操作流來實現流式播放。

播放器

公司同事研發了一款開源播放器,https://github.com/bytedance/xgplayer ,西瓜視頻好幾千萬dau的產品實測。

播放器原理

它是利用了流式處理視頻源,不僅僅是簡單的請求流然后交給video標簽播放,它是請求視頻流然后用js解碼然后進行一些需要的操作,交給video播放。

為什么要用js解碼呢?

公司大部分視頻是mp4,怎么讓mp4支持流播放呢?我們把mp4的流拿過來,js解析出它的視頻信息,然后js轉換成支持視頻流的fmp4格式的文件。
它的優勢是

  1. 解決了chrome不支持hls格式的問題(還有各種不支持格式的問題),因為我們是直接操作二進制視頻數據,所以不存在video標簽不支持的情況。
  2. 解決了切換清晰度重新刷新視頻的問題
  3. 對于mp4文件快進操作進行最小化的請求加載,讓它支持流式加載。
  4. 支持直播和彈幕

我們直接操作的視頻流,所以在對視頻進行清晰度切換,或者快進的時候,我們后計算當前時間的流,然后用js加載視頻的新的流,從而進行最快的加載和響應。

到此這篇關于html5用video標簽流式加載的實現的文章就介紹到這了,更多相關html5用video標簽流式加載內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:遼源 新疆 池州 漯河 青島 西藏 永州 棗莊

巨人網絡通訊聲明:本文標題《html5用video標簽流式加載的實現》,本文關鍵詞  html5,用,video,標簽,流式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5用video標簽流式加載的實現》相關的同類信息!
  • 本頁收集關于html5用video標簽流式加載的實現的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    性色av蜜臀av色欲av| 2020国产精品久久精品美国| 国产女人18毛片水真多成人如厕| 视频一区国产视频| 国产在线观看免费播放| 在线观看亚洲成人| 亚洲狼人国产精品| 99久久夜色精品国产网站| 麻豆明星ai换脸视频| 亚洲国产精品99久久久久久久久| 国产在线不卡一区| 女人十八毛片嫩草av| 久久一留热品黄| 精久久久久久久久久久| 永久免费成人代码| 精品国产一区二区三区四区四| 蜜桃av噜噜一区| 国产美女免费网站| 久久一二三国产| 国产精品亚洲午夜一区二区三区| 四季av中文字幕| 国产欧美一区二区三区沐欲| 国产激情精品久久久第一区二区| 日本女人性生活视频| 国产精品色哟哟| 成人国产视频在线观看| 色网站国产精品| 一区二区三区四区国产精品| 中文字幕一二三| 8x8x8国产精品| 美腿丝袜亚洲色图| 国产人与禽zoz0性伦| 国产精品免费看片| 97久久精品人人澡人人爽| 欧美性生活大片视频| 日日摸夜夜添夜夜添国产精品| aa片在线观看视频在线播放| 精品成人免费观看| 国产成人精品一区二区三区四区 | 国产黄色精品网站| 久久免费看少妇高潮v片特黄| 尤物av一区二区| 中文字幕 日本| 精品sm在线观看| 国产91精品精华液一区二区三区 | 在线观看免费视频综合| 亚洲国产精品久久艾草纯爱| 日韩网站在线播放| 国产日韩欧美精品在线| av电影天堂一区二区在线观看| 欧美日韩精品系列| 激情综合网最新| 欧洲精品一区二区三区在线观看| 三级在线观看一区二区| 国产jk精品白丝av在线观看| 国产精品久久久久久久久果冻传媒| 人妻少妇偷人精品久久久任期| 日韩一级成人av| 国产老肥熟一区二区三区| 91福利国产精品| 蜜桃视频一区二区| 日本电影欧美片| 麻豆精品精品国产自在97香蕉| 国产精品国产精品88| 亚洲成人精品在线观看| 日韩欧美黄色网址| 一级日本不卡的影视| 正在播放国产对白害羞| 一区二区三区av电影| 国产伦精品一区二区三区视频女| ●精品国产综合乱码久久久久| 日本人添下边视频免费| 国产精品女主播av| 野花社区视频在线观看| 亚洲美女淫视频| 无码少妇一区二区| 亚洲在线一区二区三区| 国产精品一区二区亚洲| 视频一区在线播放| 色网站国产精品| 国产在线播放一区二区三区| 欧美视频第二页| 高清成人在线观看| 欧美videos大乳护士334| 99久久精品国产毛片| 26uuu国产在线精品一区二区| 少妇极品熟妇人妻无码| 亚洲国产精品成人综合| 一本加勒比北条麻妃| 亚洲综合久久久久| 成人免费毛片xxx| 麻豆国产精品777777在线| 欧美在线看片a免费观看| 国产精品亚洲成人| 日韩欧美一级片| 成人在线观看一区二区| 最新中文字幕一区二区三区 | 国产精品无码一区二区三| 亚洲欧美自拍偷拍| 91麻豆精品久久毛片一级| 蜜臀精品久久久久久蜜臀| 欧美日韩国产经典色站一区二区三区 | 久久精品日产第一区二区三区高清版| 无码国产精品久久一区免费| 国产精品久久看| 免费在线观看a视频| 日韩电影免费在线看| 欧美在线影院一区二区| www.欧美日韩| 国产精品视频你懂的| 欧美福利第一页| 免费看欧美女人艹b| 欧美日韩成人综合| 国产又粗又猛又爽又黄| 亚洲欧美一区二区视频| 免费在线观看黄色小视频| 国产乱理伦片在线观看夜一区| 欧美mv和日韩mv的网站| 免费无码一区二区三区| 日韩国产在线观看| 欧美一区二区三区小说| 无码国产精品一区二区免费式直播| 亚洲精品videosex极品| 色婷婷亚洲综合| 99久久精品99国产精品| 亚洲日本免费电影| 色综合久久综合| av一区二区三区四区| 亚洲欧洲日产国码二区| 丰满少妇被猛烈进入一区二区| 激情图区综合网| 久久久九九九九| 天天操天天舔天天射| 国产九色sp调教91| 国产精品欧美一区二区三区| www日韩在线| 99久久综合色| 亚洲一区影音先锋| 51精品视频一区二区三区| 日本黄色录像片| 免费观看在线综合| 欧美精品一区男女天堂| 亚洲色图欧美色| 国产黄人亚洲片| 国产精品久久国产精麻豆99网站| 国产一区二区三区在线视频观看| 成人性视频网站| 亚洲精品写真福利| 欧美精品乱码久久久久久| 人妻无码中文久久久久专区| 捆绑调教美女网站视频一区| 欧美精品一区二区精品网| 免费看的黄色录像| 国产成人精品三级麻豆| 亚洲视频综合在线| 欧美久久久久久久久中文字幕| 亚洲婷婷在线观看| 久久不见久久见中文字幕免费| 国产亚洲综合性久久久影院| 欧美 日韩 国产 一区二区三区| 成人在线短视频| 天堂一区二区在线| 久久久久久影视| 91精品国产高清一区二区三蜜臀| 99re视频精品| 日韩精品一二三| 久久精品欧美一区二区三区不卡| 中文在线字幕在线观看| 久久久无码人妻精品无码| 日韩成人精品在线观看| 久久久99精品免费观看| 色噜噜狠狠色综合中国| 中文字幕av观看| 国产不卡视频一区| 亚洲一区二区三区免费视频| 日韩精品专区在线影院重磅| 来吧亚洲综合网| 无码任你躁久久久久久老妇| 国产一区二区免费视频| 亚洲精品成人在线| 欧美成人乱码一区二区三区| 日本中文字幕免费在线观看 | 中文字幕一区二区三区不卡在线| 欧美日韩亚洲不卡| jizzjizzjizz国产| 香蕉久久久久久av成人| 国产剧情一区二区| 午夜欧美2019年伦理| 国产日韩综合av| 欧美日韩精品一区二区天天拍小说 | 亚洲精品国产熟女久久久| 成人免费视频一区| 污片在线观看一区二区| 日本一区二区免费在线观看视频| 欧美日韩国产欧美日美国产精品| 欧日韩不卡视频| 婷婷五月精品中文字幕| 成人高清免费在线播放| 蜜臀精品一区二区三区在线观看 | 少妇熟女视频一区二区三区|