成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

使用 WebSockets 進(jìn)行 HTML5 視頻直播

褰辯話 / 1531人閱讀

摘要:但所有這些方案都是將視頻分成小片,由瀏覽器多帶帶下載,因此會產(chǎn)生最小五秒鐘的延遲。對筆者來說這是最好的樹莓派視頻方案。確保用來分發(fā)視頻流的服務(wù)器安裝了。在樹莓派上你可能需要將分辨率降至來確保編碼速度仍能維持。

這篇文章是2014年發(fā)的,已經(jīng)過時(shí)了!不要再評論了!
最近在做的一個(gè)小項(xiàng)目需要用到相關(guān)技術(shù),找到這篇文章貌似不錯(cuò),于是就翻譯轉(zhuǎn)載上來了。
Recently I"m interesting in these technologies and I"m working on a project related to it. I"ve found this useful article so I translated and posted it here.

原文地址 / Original post:
HTML5 Live Video Streaming via WebSockets - PhobosLab

筆者之前做一個(gè)實(shí)時(shí)監(jiān)控應(yīng)用的時(shí)候,曾搜索過一些將 iPhone 的攝像頭拍攝的畫面實(shí)時(shí)傳輸?shù)綖g覽器的方案,一個(gè)都沒有。

就 HTML5 來說,視頻(實(shí)時(shí))直播是一個(gè)很悲催的活,HTML5 視頻目前還沒有一個(gè)正式的流式傳輸支持,Safari 支持很蹩腳的 HTTP Live Streaming 并且也即將有 Media Source Extension 規(guī)范和 MPEG-DASH。但所有這些方案都是將視頻分成小片,由瀏覽器多帶帶下載,因此會產(chǎn)生最小五秒鐘的延遲。

下面是一個(gè)完全不同的方案,可以支持所有現(xiàn)代瀏覽器:Firefox、Chrome、Safari、Mobile Safari、Android 版 Chrome 甚至是 IE10。

原文的這個(gè)位置提供了一個(gè)_偽_直播例子。

這套方案向后兼容,沒有用到什么新奇技術(shù),目前暫時(shí)不支持音頻。但它出乎意料地好用。

來自攝像頭的視頻被 ffmpeg 編碼,然后通過 HTTP 傳遞給一個(gè) Node.js 寫的小腳本;腳本會將這條 MPEG 視頻流通過 WebSockets 分發(fā)給所有鏈接的瀏覽器;瀏覽器使用 JavaScript 解碼 MPEG 視頻流并將解碼后的畫面渲染到 Canvas 元素上。

你甚至可以用樹莓派來傳輸視頻??赡軙悬c(diǎn)慢,但是筆者測試過以 30fps 的幀率實(shí)時(shí)編碼 320x240 視頻不成問題。對筆者來說這是最好的樹莓派視頻方案。

下面是構(gòu)建步驟。首先你需要取得最新版本的 ffmpeg,最新的安裝包可以從 deb-multimedia 獲得。如果你使用 Linux,你的攝像頭應(yīng)該在位于 /dev/video0/dev/video1;在 OS X 或 Windows 上你可以用 VLC。

確保用來分發(fā)視頻流的服務(wù)器安裝了 Node.js。下載 phoboslab/jsmpeg 項(xiàng)目的 stream-server.js 腳本。安裝 WebSocket 包 ws 并啟動服務(wù)器:

npm install ws
node stream-server.js 你的密碼

這里的密碼是用來確保不會有好奇寶寶來劫持你的視頻流用的。如果服務(wù)器運(yùn)行正常,你應(yīng)該會看到這樣的輸出:

Listening for MPEG Stream on http://127.0.0.1:8082///
Awaiting WebSocket connections on ws://127.0.0.1:8084/

服務(wù)器啟動后,你就可以啟動 ffmpeg 并將它指向到正在運(yùn)行的這個(gè)域名和端口了:

ffmpeg -s 640x480 -f video4linux2 -i /dev/video0 -f mpeg1video -b 800k -r 30 http://example.com:8082/你的密碼/640/480/

這條命令會開始從攝像頭捕捉 640x480 的視頻,并編碼成 30fps 碼率 800kbps 的 MPEG 視頻。編碼后的視頻會通過 HTTP 被發(fā)送到所指定的服務(wù)器和端口。確保密碼正確,URL 中的長和寬也需要正確指定,否則服務(wù)器無法正確判斷當(dāng)前的分辨率。

在樹莓派上你可能需要將分辨率降至 320x240 來確保編碼速度仍能維持 30fps。

要觀看直播,需要從前文提到的 jsmpeg 項(xiàng)目中下載 stream-example.html 和 jsmpg.js 文件,更改 stream-example.html 中的 WebSocket URL 為你的服務(wù)器地址,并使用你喜歡的瀏覽器打開。

如果一切正常,你就能看到少于 100ms 延遲的流暢的攝像頭畫面。很好很強(qiáng)大對不?

更便捷的方案請圍觀原文的 Instant Webcam。

只是備忘一下,近期會再發(fā)一篇博文來總結(jié)一下各個(gè)方案的實(shí)際使用效果。

重復(fù)一次原文地址 / Original post:
HTML5 Live Video Streaming via WebSockets - PhobosLab

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/11007.html

相關(guān)文章

  • htm5新特性(轉(zhuǎn))

    摘要:轉(zhuǎn)自今天來談?wù)勄岸嗣嬖囍谢旧厦看我幻娑紩粏柕降囊粋€(gè)問題,那就是的新特性了。元素,表示生成密匙。和通過設(shè)置和特性,可以將輸入框的數(shù)值輸入范圍限定在最低值和最高值之間。一旦為某輸入型控件設(shè)置了特性,那么此項(xiàng)必填,否則無法提交表單。 轉(zhuǎn)自:http://hyuhan.com/2017/07/06/... 今天來談?wù)勄岸嗣嬖囍谢旧厦看我幻娑紩粏柕降囊粋€(gè)問題,那就是html5的新特性了。...

    focusj 評論0 收藏0
  • 前端面試之htm5新特性

    摘要:今天來談?wù)勄岸嗣嬖囍谢旧厦看我幻娴臅r(shí)候都會被問到的一個(gè)問題,那就是的新特性。新表單元素元素,表示電話號碼。和通過設(shè)置和特性,可以將輸入框的數(shù)值輸入范圍限定在最低值和最高值之間。一旦為某輸入型控件設(shè)置了特性,那么此項(xiàng)必填,否則無法提交表單。 今天來談?wù)勄岸嗣嬖囍谢旧厦看我幻娴臅r(shí)候都會被問到的一個(gè)問題,那就是html5的新特性。這個(gè)是學(xué)習(xí)前端必須掌握的基礎(chǔ)知識。 新增的元素 html5...

    teren 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<