我正在構建一個呈現html並將jpegs發送給移動客戶端的服務器端HTML呈現瀏覽器。我需要弄清楚如何構建一個抓取jpegs的服務器,並在會話中將它們流到我將要寫入j2me的客戶端如何在C++或c#或java中創建jpegs(live)流? RTSP?
1
A
回答
0
「活」的含義並不完全清楚,但「 m猜測你正在討論向服務器端進程發出請求,該進程會呈現傳入的URL並返回圖像。我知道這樣做最簡單的方法之一是Java和SWT。您可以使用SWT browser widget並捕獲畫布,然後將其轉換爲您想要的任何圖像類型。瀏覽器小部件使用Firefox來渲染頁面,所以它們應該看起來不錯。
0
我會寫一個servlet,一次提供一個jpeg,一個midlet每隔一段時間請求一個jpeg。
0
那麼,有比普通的JPEG更好的解決方案。我已經實現了這樣的系統,並且您最好使用MPEG-2,MPEG-4 ASP,H.264等視頻編解碼器而不是JPEG,並將更新作爲p幀發送(即,來自先前的增量圖像),如果有「太大」的變化(或者錯過了更新,或者添加到現有流中的新客戶端),則發送一個i幀。
即使沒有使用視頻編解碼器,發送差異通常會更可取。使用其他一些機制來編碼差異。
在如何獲取緩衝區發送方面,可以使用多個幀緩衝區來渲染並設置幀緩衝區代碼,以便在發生更改時啓動定時器,並且在發生更改時發送週期性更改,如果自上一次更改(尚未發送)以來有足夠的時間發送更新(可能比第一個值更短),並且可能還包含某種頻閃,強制在某些事件中可以調用更新(如果例如,您可以從瀏覽器獲取頁面加載完成指示,您可以通過更改Chrome瀏覽器在Firefox中稍作工作,等等)。
[添加]
其他的解決方案的例子,看看遠程桌面協議和軟件,如VNC,RDP(Windows遠程桌面),等等 - 這是有效的,他們在做什麼,又與票友壓縮和損壞區域跟蹤。對於幀緩衝區,你可以使用標準的linux/etc framebuffer代碼(可能是最簡單的),甚至是類似XVFB的東西(它允許你訪問更多關於事物改變的原因和原因,而不是原始幀緩衝區)。
相關問題
- 1. 如何用C++或Java創建RichTextBox
- 2. Python或C/C++中的RTSP庫?
- 3. 在C#中使用RTMP或RTSP協議
- 4. 如何在Java或C#中創建MAC連接?
- 5. Android MedioPlay如何播放http或rtsp流?
- 6. 如何在C++中創建事務流?
- 7. 可以使用在vb.net或c#中創建的庫在java中?
- 8. udpecho創建或C代碼?
- 9. Objective-C:創建NSMutableDictionary或NSMutableArray
- 10. 如何從圖片編程(Java或C)創建動畫視頻
- 11. 如何使用C#或Java創建音頻CD
- 12. C#或C++ - 創建假焦點?
- 13. 從C#或Java或XML創建UML類圖
- 14. 使用c#,java或C++創建數據包生成器
- 15. 如何在C#中創建API來推送或接收數據?
- 16. 如何在Objective-C中創建字符串或浮點數組
- 17. 如何使用C#在Lazarus或Photoshop中創建浮動窗體?
- 18. 如何在C#中創建對象的數組或ArrayList?
- 19. 如何在標準C++ 11中創建shared_lock或upgrade_lock?
- 20. 如何在目標C中創建2D NSArray或NSMutableArray?
- 21. 如何使用'C'或'C++'爲windows創建獨立程序或應用程序
- 22. 如何在C或C++中實現SDP?
- 23. c# - 我如何檢查用戶(創建或不創建)
- 24. 如何以編程方式創建TTF或OTF字體[C/C++]
- 25. 創建正弦波或方波在C#
- 26. 在C或C++中創建一個目錄
- 27. 在c或C++中爲h264創建一個mp4容器
- 28. 在C或C++中創建一個python庫
- 29. 在c或c中創建名稱爲「...」的文件夾
- 30. 從Java到C++或C#
這不是太低效嗎?這就是爲什麼我要使用RTSP,以及一些jpeg壓縮也許 – uclajatt 2009-03-02 20:48:36