2011-03-11 247 views
22

在跨瀏覽器環境中顯示MJPEG是否有輕量級,免費和可靠的方式?我試圖在我正在開發的網站上從Axis 2120 IP攝像頭顯示MJPEG流,並且我發現這在目前版本的Firefox中非常可靠。但是,經過一些測試後,我發現IE,Opera和Chrome在這方面都有不同程度的麻煩(沒有Mac訪問權限,所以我對Safari不太確定)。 Internet Explorer不支持MJPEG,根本不起作用。在最初的GET發送之後,Opera需要10-15秒來顯示任何內容。 Chrome完美工作,直到包含<img>標記的<div>被隱藏,然後再次顯示。用於顯示MJPEG流的跨瀏覽器解決方案

僅供參考,我使用的是<img>標記來顯示,像這樣的流:

<img src="http://my.ip.addr/axis-cgi/mjpg/video.cgi/?resolution=352x240" alt="real-time video feed" /> 

我使用re-broadcasting server收集MJPEG流並對其進行轉碼上即時考慮,但這個解決方案看起來太難看了。那裏有更好的建議嗎?

回答

5

這是一個基於Java小程序的解決方案,你可以使用任何瀏覽器(或只是那些不支持MJPEG):http://www.charliemouse.com/code/cambozola/

至於其他錯誤與MJPEG去,我發現你在嘗試刪除'img'標籤之前,應將'img'標籤的'src'屬性設置爲除MJPEG之外的其他內容。例如:

<img src="#" /> 

如果你不這樣做,Firefox將繼續下載MJPEG流,即使它不應該。

+0

由於泰迪

叉它。我也注意到Firefox在不應該下載流時。你的建議很好。 – 2011-07-18 17:22:04

+0

我意識到這個答案是古老的,但我會問,希望你仍然在這裏徘徊。設置src爲'#'可以在沒有硬刷新的情況下停止mjpeg流? – moeiscool 2017-02-12 22:20:26

+0

@moeiscool它在2011年可以使用。您可能需要再次檢查網絡檢查器的網絡選項卡,以確保事情按預期工作。 – Teddy 2017-02-14 02:54:06

9

幾個月前我剛剛提出了一個解決方案。它是跨平臺的,不需要第三方插件,如Flash或Java。

基本上,它是一個node.js代理,用於解析m-jpeg邊界並在定義的時間間隔內傳遞圖像。在https://github.com/rodowi/Paparazzo.js

相關問題