在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ HTML5問答
嘟尛嘴 回答

你不用事件,如何通知父組件呢,還是用事件輸出吧 @Output optionsChange = new EventEmitter<number>();

囍槑 回答

為什么不用cookie ?

若相惜 回答

很早之前看過一個(gè)基于jQuery的人臉識(shí)別插件,可以識(shí)別圖片/視頻。
傳送門:http://facedetection.jaysalva...

擱淺 回答

看名字應(yīng)該是保存的是promise。

你應(yīng)該在源碼上往翻 ,看一下 scope.getxxxx這個(gè)方法調(diào)用了返回的是什么,不出意外應(yīng)該是返回一個(gè)promise

不舍棄 回答

我比較好奇 index++的時(shí)候index是不是var出來的,閉包了解一下?

涼汐 回答

router-link模式
router-link replace

編程導(dǎo)航模式
replace

久舊酒 回答

在push語句后加一句下面一句命令試試

this.dataList=[...this.dataList]
下墜 回答
  1. flask監(jiān)聽一個(gè)http接口,如/api/spider/start?token=xxx
  2. 接口里面驗(yàn)證下token(主要是安全),然后啟動(dòng)爬蟲邏輯
還吻 回答

找到了一個(gè)好用的免費(fèi)開源JS庫(kù)——streamedian

當(dāng)當(dāng)當(dāng)~上鏈接:https://streamedian.com

介紹中講到,Multifunctional HTML5 RTSP streaming video player over WebSocket
就是說,利用websocket實(shí)現(xiàn)多功能的H5的rtsp視頻流播放器

這里是使用文檔:https://streamedian.com/docs/

對(duì)于對(duì)websocket、linux、服務(wù)器、甚至英文一知半解(一竅不通)并看了文檔也不理解的同學(xué),請(qǐng)繼續(xù)看手把手中文教程:

首先我們理解一下個(gè)中原理:

目標(biāo):在你的瀏覽器(browser)上播放rtsp視頻流
問題:然而,H5的標(biāo)簽<video>不支持這樣的播放
方案:這里利用我們的streamedian在你的服務(wù)端開啟一個(gè)websocket代理(proxy),負(fù)責(zé)接收rtsp流,并轉(zhuǎn)播給你的瀏覽器客戶端,streamedian在客戶端利用中間件(Media Sources Extensions)將經(jīng)過轉(zhuǎn)播收到的RTP H264和AAC包轉(zhuǎn)化成MP4包,“喂給“<video>進(jìn)行播放

下面拿到streamedian的code來感受一下:

JS庫(kù)下載

方法一:通過官網(wǎng)下載
可能不是最新版,streamedian團(tuán)隊(duì)還在不斷地修復(fù)bug中,建議用方法二、三下載最新更新的版本

進(jìn)入https://streamedian.com 完成注冊(cè)并登錄
clipboard.png

clipboard.png
可以看到最上面紅框標(biāo)注的是我們需要的客戶端和服務(wù)端的JS程序;

針對(duì)客戶端,如果你使用H5的原生播放器<video>標(biāo)簽,下載Download player即可,此外還提供了代替版本————結(jié)合非原生H5播放器的clappr integration、videojs integration、Flowerplayer integration可供選擇。這里我只下載了Download player
針對(duì)服務(wù)端,下載proxy,這里的.rpm和.deb是兩種格式,選擇其一下載,我這里用的ubuntu,.deb更適用,點(diǎn)擊下載

接下來是對(duì)我們使用的免費(fèi)版本streamedian的特性描述;
在Domain欄里。你需要輸入你所使用的客戶端的域名或IP,Add之后,點(diǎn)擊Download license。保存好這個(gè)license后面會(huì)用到,后面會(huì)解釋為什么要在license中明確特定的客戶端域名

方法三:從git上拉下來
npm install git://github.com/Streamedian/html5_rtsp_player.git
方法二:下載git的壓縮包
clipboard.png

配置與安裝

梳理一下,我們現(xiàn)在下載了什么呢?客戶端JS streamedian,服務(wù)端proxy streamedian_proxy.deb,一個(gè)licsense wsp.lic
clipboard.png

  • 服務(wù)端配置

將streamedian_proxy.deb和wsp.lic分別上傳至服務(wù)器,并在streamedian_proxy.deb根目錄下sudo dpkg -i streamedian_proxy.deb #安裝streamedian_proxy.deb軟件包(其中-i等價(jià)于--install)

安裝好后會(huì)生成/etc/ws_rtsp.ini,進(jìn)入這個(gè)路徑,利用vim進(jìn)行配置,這里我們只要設(shè)置general,其中port就是你的服務(wù)端轉(zhuǎn)播服務(wù)的端口,liscense_path則是你上傳的wsp.lic的絕對(duì)路徑,PRO version的參數(shù)可以不進(jìn)行修改

clipboard.png

配置好端,可以用service ws_rtsp start命令啟動(dòng)該服務(wù),那么就在后端相應(yīng)端口建立起了一個(gè)將rtsp轉(zhuǎn)播服務(wù)。至此服務(wù)端已經(jīng)配置好,只要前端把rtsp地址通過socket發(fā)送給服務(wù)端,就可收到rtsp流的socket包了

service ws_rtsp stop命令可以用于停止該服務(wù),ps -aux|grep ws_rtsp命令可以用于查詢?cè)摲?wù)進(jìn)程的運(yùn)行情況
clipboard.png

  • 客戶端配置

用Vs Code打開下載好的streamedian

終端運(yùn)行npm install下載依賴
終端運(yùn)行npm install --global rollup這里我們安裝的的rollup是一個(gè)JS模塊打包工具,后面會(huì)用到

接下來打開rollup.config.js,其中的entry配置了源文件,target則指定了打包生成的目標(biāo)文件的目錄及文件名。終端運(yùn)行rollup -c,可以看到在dist目錄下打包生成了目標(biāo)文件streamedian.js

clipboard.png

至此我們的客戶端工作完成一半,客戶端的頁(yè)面在哪里呢?下面我們來做一個(gè)最簡(jiǎn)單的頁(yè)面,這里以文件中的index.html為例
可以看到<script>標(biāo)簽中引用了我們打包好的streamedian.js

引用了<video>標(biāo)簽播放rtsp視頻

<source>中指定了rtsp流源,rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov是一個(gè)穩(wěn)定的可用于測(cè)試的源

socket的參數(shù)則是我們運(yùn)行的rtsp流轉(zhuǎn)播服務(wù)器運(yùn)行url,格式為ws://服務(wù)器IP:端口號(hào),可以看到這里的端口號(hào)就是之前配置好的1104

clipboard.png

現(xiàn)在我們?cè)跒g覽器中打開index.html,可是并沒有視頻顯示!我的理解是,前期我們?cè)趌icense中設(shè)置過客戶端的IP或域名,這意味對(duì)服務(wù)端來說,只對(duì)我們制定的客戶端進(jìn)行流轉(zhuǎn)播,因此還差一步

clipboard.png

把index.html及streamedian.js放在同一目錄下,并上傳至制定的客戶端服務(wù)器

clipboard.png

大功告成~~

安淺陌 回答

catCat 仔細(xì)看好 的你定義

var cat = new Cat()
你調(diào)用的是cat  是Cat的新實(shí)例  當(dāng)然自上而下執(zhí)行一次  結(jié)果一目了然
墨小羽 回答

我最近寫的關(guān)于圖片文字如何繪圖,你看看有什么問題留言給我
傳送門

愚念 回答

頁(yè)面加載后自動(dòng)計(jì)算

$('.left').height(document.body.clientHeight - ($('.headerWindow').height()));

=>

$('.left').height(document.body.clientHeight);

情皺 回答

一個(gè)想法(實(shí)際是不是這樣做的就不知道了):每次滾動(dòng)播放一定的幀數(shù),如果出現(xiàn)連續(xù)滾動(dòng)則要做防抖動(dòng)處理,并根據(jù)滾動(dòng)距離進(jìn)行幀的播放??淳W(wǎng)站的效果似乎還用了緩動(dòng)函數(shù),因?yàn)闈L動(dòng)一次的時(shí)候從開始到停止并不是很流暢。