整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          高質(zhì)量 HTML5 開源視頻播放器DPlayer

          天給大家推薦一個超強(qiáng)大的html5含彈幕視頻播放器插件DPlayer。

          dplayer 一款開源的高質(zhì)量H5視頻播放器,Star高達(dá)9.5K+。作者是一名大四95后小鮮肉。支持發(fā)布彈幕、Bilibili視頻及實(shí)時視頻(HLS M3U8 FLV)等格式。

          安裝

          $ npm install dplayer --save

          也可以使用cdn引入,dplayer目前最新版本1.26.0

          https://www.bootcdn.cn/dplayer/

          我們先嘗試初始化一個最簡單的 DPlayer

          加載播放器文件:

          <div id="dplayer"></div>
          <script src="DPlayer.min.js"></script>

          使用模塊管理器

          import DPlayer from 'dplayer';
          const dp = new DPlayer(options);

          使用js初始化

          const dp = new DPlayer({
            container: document.getElementById('dplayer'),
            video: {
              url: 'demo.mp4',
            },
          });

          DPlayer 有豐富的參數(shù)可以自定義你的播放器實(shí)例,詳細(xì)配置如下:

          const dp = new DPlayer({
              container: document.getElementById('dplayer'),
              autoplay: false,
              theme: '#FADFA3',
              loop: true,
              lang: 'zh-cn',
              screenshot: true,
              hotkey: true,
              preload: 'auto',
              logo: 'logo.png',
              volume: 0.7,
              mutex: true,
              video: {
                  url: 'dplayer.mp4',
                  pic: 'dplayer.png',
                  thumbnails: 'thumbnails.jpg',
                  type: 'auto',
              },
              subtitle: {
                  url: 'dplayer.vtt',
                  type: 'webvtt',
                  fontSize: '25px',
                  bottom: '10%',
                  color: '#b7daff',
              },
              danmaku: {
                  id: '9E2E3368B56CDBB4',
                  api: 'https://api.prprpr.me/dplayer/',
                  token: 'tokendemo',
                  maximum: 1000,
                  addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=4157142'],
                  user: 'DIYgod',
                  bottom: '15%',
                  unlimited: true,
              },
              contextmenu: [
                  {
                      text: 'custom1',
                      link: 'https://github.com/DIYgod/DPlayer',
                  },
                  {
                      text: 'custom2',
                      click: (player) => {
                          console.log(player);
                      },
                  },
              ],
              highlight: [
                  {
                      time: 20,
                      text: '這是第 20 秒',
                  },
                  {
                      time: 120,
                      text: '這是 2 分鐘',
                  },
              ],
          });

          清晰度切換

          在 video.quality 里設(shè)置不同清晰度的視頻鏈接和類型,video.defaultQuality 設(shè)置默認(rèn)清晰度

          const dp = new DPlayer({
              container: document.getElementById('dplayer'),
              video: {
                  quality: [
                      {
                          name: 'HD',
                          url: 'demo.m3u8',
                          type: 'hls',
                      },
                      {
                          name: 'SD',
                          url: 'demo.mp4',
                          type: 'normal',
                      },
                  ],
                  defaultQuality: 0,
                  pic: 'demo.png',
                  thumbnails: 'thumbnails.jpg',
              },
          });

          HLS支持

          需要在 DPlayer.min.js 前面加載 hls.js

          <div id="dplayer"></div>
          <script src="hls.min.js"></script>
          <script src="DPlayer.min.js"></script>
          const dp = new DPlayer({
              container: document.getElementById('dplayer'),
              video: {
                  url: 'demo.m3u8',
                  type: 'hls',
              },
              pluginOptions: {
                  hls: {
                      // hls config
                  },
              },
          });
          console.log(dp.plugins.hls); // Hls 實(shí)例

          提供豐富的文檔支持及示例演示

          附上項(xiàng)目文檔及地址

          # 文檔地址
          http://dplayer.js.org/zh/
          
          # 倉庫地址
          https://github.com/MoePlayer/DPlayer

          另外,DPlayer系列播放器還包含Vue和React版本。

          • Vue-DPlayer
          https://dplayer.netlify.app/
          • React-DPlayer
          https://github.com/MoePlayer/react-dplayer

          好了,就分享到這里。感興趣的同學(xué)可以去看下哈!如果小伙伴們有其它優(yōu)秀的H5播放器,歡迎一起交流討論。

          TML5實(shí)現(xiàn)大文件上傳下載,JQUERY大文件上傳(切片),HTML實(shí)現(xiàn)文件夾的上傳和下載,前端如何用HTML5實(shí)現(xiàn)分片上傳GB級大文件,網(wǎng)頁中實(shí)現(xiàn)文件上傳下載的三種解決方案(推薦),HTML5實(shí)現(xiàn)文件批量上傳組件,JQUERY 實(shí)現(xiàn)文件夾上傳(保留目錄結(jié)構(gòu)),B/S大文件上傳支持?jǐn)帱c(diǎn)上傳,WebService 大文件上傳,斷點(diǎn)續(xù)傳分片,HTML+AJAX實(shí)現(xiàn)上傳大文件問題,用HTML實(shí)現(xiàn)本地文件的上傳,HTML5實(shí)現(xiàn)大文件上傳,HTML5實(shí)現(xiàn)大文件分片上傳思路,利用HTML5分片上傳超大文件思路,

          WEBUPLOADER 支持 超大上G,多附件上傳,JS 大文件分割/分片上傳,

          百度WEBUPLOADER上傳視頻等大文件,WEBUPLOAD組件實(shí)現(xiàn)文件上傳功能和下載功能,JS大文件切片上傳,斷點(diǎn)續(xù)傳實(shí)現(xiàn)DEMO,前端上傳大文件的解決方案,前端上傳大文件處理(切片、斷點(diǎn)續(xù)傳),前端大文件上傳優(yōu)化方案——分片上傳,vue大文件上傳解決方案,vue大文件上傳解決方案10G,vue大文件上傳解決方案50G,vue大文件上傳解決方案100G,html5如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,

          java如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,SpringBoot如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,SpringMVC如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,SpringCloud如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,

          webuploader如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,百度webuploader如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,html5實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,vue如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,前端如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,JavaScript如何實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳、秒傳,

          html5大文件斷點(diǎn)續(xù)傳、秒傳解決方案,html5大文件斷點(diǎn)續(xù)傳、加密上傳解決方案,html5大文件斷點(diǎn)續(xù)傳、加密存儲解決方案,html5大文件斷點(diǎn)續(xù)傳分片解決方案,html5大文件斷點(diǎn)續(xù)傳分塊解決方案,html5大文件斷點(diǎn)續(xù)傳分割解決方案,html5大文件斷點(diǎn)續(xù)傳切割解決方案,

          項(xiàng)目是一個新項(xiàng)目,開發(fā)部門在技術(shù)選型方面采用的是后端用的SpringBoot,前端用的VUE2,數(shù)據(jù)庫用的MySQL,主要是考慮兼容和遷移,客戶那邊確認(rèn)過,明年開始將遷移到信創(chuàng)國產(chǎn)化平臺中,

          后端我們公司項(xiàng)目組選的是JAVA,因?yàn)楣居凶约旱漠a(chǎn)品,所以直接使用就行了,針對客戶需求這塊是進(jìn)行擴(kuò)展。

          客戶這邊實(shí)際上要傳的文件單個大小就有50G左右,所以需要支持?jǐn)帱c(diǎn)續(xù)傳和分片上傳,并且要支持多線程上傳,能夠充分利用帶寬資源。

          之前在網(wǎng)上找過相關(guān)的資料,論壇里面也有網(wǎng)友交流過,還加過很多QQ群和微信群,但是結(jié)果都不太令人滿意。

          技術(shù)選型的話用的是jquery,也是一個企業(yè)內(nèi)網(wǎng)系統(tǒng),用的是之前公司的框架,只是進(jìn)行功能擴(kuò)展

          分片網(wǎng)上討論的很多,基本上全部都是用的HTML5的API,這個方案也不是不能用,但是在IE下面就不行了,兼容性差了點(diǎn),并且也不能進(jìn)行擴(kuò)展,不能進(jìn)行二次開發(fā),限制性非常大,我們技術(shù)同事提的要求是需要提供產(chǎn)品完整源代碼,

          網(wǎng)上的文章全部都沒有提供文件夾上傳和續(xù)傳的代碼,也沒有提供數(shù)據(jù)庫操作的代碼,

          另外這塊我們是要求必須提供產(chǎn)品完整源代碼,因?yàn)楹竺嫖覀冃枰砸褋砭S護(hù),同時是要求能夠自主可控的

          研發(fā)部門的同事調(diào)研過百度的webuploader這個組件,發(fā)現(xiàn)他實(shí)際上就是對Flash和HTML5進(jìn)行了一個封裝,本質(zhì)還是調(diào)的HTML5的API,之前在項(xiàng)目中也用過,嘗試過,但是最終都不太滿意,一個是兼容性非常差,說的是兼容IE,但是在IE用的是Flash,在很多用戶的電腦上用不了,卡頓崩潰發(fā)生的太頻繁,文件上傳的數(shù)量一多比如幾千個,前端頁面就開始卡了,用戶體驗(yàn)非常差。這些問題研發(fā)部的同事都向百度反應(yīng)過,但是百度webuploader那邊一直沒人回,基本上沒人管,領(lǐng)導(dǎo)說要求付費(fèi)提供技術(shù)支持,那邊也是沒人回,聯(lián)系不上他們?nèi)魏稳恕?/p>

          webuploader這邊連個開發(fā)人員都聯(lián)系不到,這個是怎么回事?

          用戶上傳的文件比較大,有20G左右,直接用HTML傳的話容易失敗,服務(wù)器也容易出錯,需要分片,分塊,分割上傳。也就是將一個大的文件分成若干個小文件塊來上傳,另外就是需要實(shí)現(xiàn)秒傳功能和防重復(fù)功能,秒傳就是用戶如果上傳過這個文件,那么直接在數(shù)據(jù)庫中查找記錄就行了,不用再上傳一次,節(jié)省時間,實(shí)現(xiàn)的思路是對文件做MD5計算,將MD5值保存到數(shù)據(jù)庫,算法可以用MD5,或者CRC,或者SHA1,這個隨便哪個算法都行。

          切片的話還有一點(diǎn)就是在服務(wù)器上合并,一個文件的所有分片數(shù)據(jù)上傳完后需要在服務(wù)器端進(jìn)行合并操作。

          視頻教程:https://www.ixigua.com/7226245960341389859

          1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復(fù)制到項(xiàng)目中

          示例中已經(jīng)包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應(yīng):文件初始化,文件數(shù)據(jù)上傳,文件進(jìn)度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數(shù)據(jù)庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          產(chǎn)品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
          授權(quán)碼生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1

          TML5實(shí)現(xiàn)大文件上傳下載,HTML5實(shí)現(xiàn)大文件上傳下載解決方案,HTML5實(shí)現(xiàn)大文件上傳下載思路,HTML5實(shí)現(xiàn)大文件上傳下載源碼,HTML5實(shí)現(xiàn)大文件上傳下載實(shí)例,HTML5實(shí)現(xiàn)大文件分塊上傳下載,HTML5實(shí)現(xiàn)大文件分片上傳下載,HTML5實(shí)現(xiàn)大文件切片上傳下載,HTML5實(shí)現(xiàn)大文件加密上傳下載,HTML5實(shí)現(xiàn)文件夾上傳下載,


          用戶上傳的文件比較大,有20G左右,直接用HTML傳的話容易失敗,服務(wù)器也容易出錯,需要分片,分塊,分割上傳。也就是將一個大的文件分成若干個小文件塊來上傳,另外就是需要實(shí)現(xiàn)秒傳功能和防重復(fù)功能,秒傳就是用戶如果上傳過這個文件,那么直接在數(shù)據(jù)庫中查找記錄就行了,不用再上傳一次,節(jié)省時間,實(shí)現(xiàn)的思路是對文件做MD5計算,將MD5值保存到數(shù)據(jù)庫,算法可以用MD5,或者CRC,或者SHA1,這個隨便哪個算法都行。

          分片還需要支持?jǐn)帱c(diǎn)續(xù)傳,現(xiàn)在HTML5雖然提供了信息記錄功能,但是只支持到了會話級,也就是用戶不能關(guān)閉瀏覽器,也不能清空緩存。但是有的政府單位上傳大文件,傳了一半下班了,明天繼續(xù)傳,電腦一關(guān)結(jié)果進(jìn)度信息就丟失了,這個是他們的一個痛點(diǎn)。

          切片的話還有一點(diǎn)就是在服務(wù)器上合并,一個文件的所有分片數(shù)據(jù)上傳完后需要在服務(wù)器端進(jìn)行合并操作。

          支持文件下載,批量下載,下載斷點(diǎn)續(xù)傳,加密下載,端到端加密,加密算法支持國密SM4,多線程下載

          支持在服務(wù)端保存文件夾層級結(jié)構(gòu),支持將文件夾層級結(jié)構(gòu)信息保存到數(shù)據(jù)庫中,支持下載時能夠?qū)⑽募A層級結(jié)構(gòu)下載下來,支持下載文件夾,下載文件夾支持?jǐn)帱c(diǎn)續(xù)傳,

          支持加密傳輸,包括加密上傳,加密下載,加密算法支持國密SM4,

          對于大文件的處理,無論是用戶端還是服務(wù)端,如果一次性進(jìn)行讀取發(fā)送、接收都是不可取,很容易導(dǎo)致內(nèi)存問題。所以對于大文件上傳,采用切塊分段上傳

          從上傳的效率來看,利用多線程并發(fā)上傳能夠達(dá)到最大效率。


          1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復(fù)制到項(xiàng)目中

          示例中已經(jīng)包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應(yīng):文件初始化,文件數(shù)據(jù)上傳,文件進(jìn)度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數(shù)據(jù)庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl


          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          產(chǎn)品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
          授權(quán)碼生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1


          主站蜘蛛池模板: 一区二区三区免费电影| 久久国产精品一区二区| 中文字幕无码一区二区三区本日| 日本一区二区不卡在线| 亚州AV综合色区无码一区| 一区在线观看视频| 中文字幕av人妻少妇一区二区 | 色妞色视频一区二区三区四区| 国产一区中文字幕| 韩国一区二区三区| 亚洲综合在线成人一区| 人妻少妇久久中文字幕一区二区| 日本亚洲国产一区二区三区| 国产精品毛片一区二区| 日本强伦姧人妻一区二区| 成人在线观看一区| 日韩精品中文字幕视频一区| 成人毛片一区二区| 无码人妻精品一区二区三区不卡 | 精品免费国产一区二区三区| 伊人色综合网一区二区三区 | 亚洲国产韩国一区二区| 乱色精品无码一区二区国产盗| 亚洲综合色自拍一区| 成人国内精品久久久久一区| 国产伦精品一区二区免费| 亚洲高清偷拍一区二区三区| 国产精品亚洲产品一区二区三区| 国产精品一区二区无线| 一区二区三区福利| 国产在线观看一区精品| 日韩精品成人一区二区三区| 一区二区三区午夜视频| 精品香蕉一区二区三区| 秋霞日韩一区二区三区在线观看| 国产一区二区三区日韩精品| 中文字幕无线码一区| 成人午夜视频精品一区| 丝袜人妻一区二区三区| 亚洲高清美女一区二区三区| 无码一区18禁3D|