[英]Screensharing via Java Applet
我正在為我們的“直播和播客”解決方案尋找一個補充,它使用相機拍攝我們家的演講。
已要求我們將揚聲器的幻燈片直接作為webbrowser中的圖像而不是視頻流進行查看。 我們不希望/不能在揚聲器筆記本電腦上安裝軟件,所以我想到了一個Java小程序,揚聲器可以通過webbrowser運行。
所以我需要的是技術上的:
[揚聲器筆記本電腦] - > [通過網頁上的小程序每N秒進行一次屏幕截圖] - > [在外部觀眾的不同網頁上顯示揚聲器的屏幕]
我知道有些Java應用程序會記錄屏幕,但會在本地保存文件輸出。 我需要做同樣的事情,但是將圖像發送到服務器。 在服務器端,我想到了websocket.js接受並顯示圖像(歡迎其他建議)。
如果有人可以幫助我,這將是很好的。 順便說一句,我從來沒有用Java編程,所以告訴我哪些框架我不需要真正幫助我。
謝謝!!
我最近被要求評估通過applet進行實時屏幕投射的可能性。 大多數視頻API不支持具有足夠高壓縮的編解碼器(例如JMF)。 有些API可以使用高級格式(JFFMPEG,Xuggle),但也可以使用本機格式。 雖然本機通常對應用程序沒有問題。 使用Java Web Start或Plug-In 2 applet啟動(自由浮動),Xuggle的制造商將“加載本機”的順序識別為JWS和applet的問題(例如,不起作用)。
令人遺憾的是,在開發十多年之后,Java沒有合理的視頻捕獲/處理API,可以廣泛使用(基於applet / JWS - 用於'普通大眾')GUI。
也許您可以使用Flash找到解決方案。
實際上,我不需要將屏幕錄制為視頻。
事實上,你在最初的問題中提到了很多,但在起草回復之前我只關注了幾個關鍵詞。 我的錯。 :P
好。
至於在客戶端上顯示圖像,似乎你已經有了一些基於JS的想法。 如果你可以做到最佳的工作,那么它可以在沒有Java的瀏覽器中查看。
我仍然建議你部署應用程序。 使用Java Web Start到'發言者',而不是嵌入applet。 一個JWS應用程序。 將為您提供更少的部署和維護麻煩,並且JWS的推出是..nicer。 此外,在拍攝屏幕圖像的過程中,使用JWS啟動的自由浮動框架可以最小化自身(或在后面的JRE中變得透明),從而捕獲屏幕上除了自身之外的所有內容。
我實際上在這里找到了這個代碼
那太可怕了。 不是代碼,網站。 當我訪問它時,我收到一條消息,說彈出窗口被壓制(足夠公平)。 然后,在頁面中間盤旋(並在滾動之后)有一個刺激性的“振動對話”。 你點擊小x
來看 - 另一個用另一個浮動對話框打開的標簽,說一些關於“你贏了......”的其他垃圾 - 聲音響亮,足以淹沒我的高容量恍惚/舞蹈播放列表。
然后關閉了我的FF之后,我回到原始頁面,關閉該死的'對話',向下滾動並看到..代碼的紅色背景(顫抖)。 就我所能管理而言。 我用代碼關閉了頁面。
對於單個屏幕截圖,請嘗試使用此代碼 。
是否有可能在客戶端使用它..
是。
..並在服務器端用javascript接收它?
並不是的。 除非您指的是運行Microsoft JScript的基於IIS的服務器。 JavaScript是一種客戶端技術。
出於安全原因,服務器需要保護自己。 EG來自:
由於這樣的事情(壞人有很多想象力),雖然服務器可以輕松接受上傳,但默認情況下它們通常不會配置允許上傳。
..(我不想在我的服務器上使用Java ;-)
它可以使用PHP,ASP,CGI等完成。它不需要特定的Java,但它確實需要服務器的一些主動參與,如果只檢查正在上傳的內容的大小,如果它變得太大就中止!
..請看看你發布的鏈接,但正如我所說,我不能用Java編程,雖然我可以理解其中的一些。 謝謝!
聽起來你需要一些幫助才能讓服務器端做好准備。 對於那些知道如何(不是我),但對於缺乏經驗的潛在安全噩夢的人來說,這是微不足道的。
我在哪里添加發送圖片的功能?
抱歉。 我沒有試圖實現這一點 - 你希望在發送之前將其編碼為JPEG,以減小尺寸。 請參閱此代碼 ,了解如何在用戶可以看到效果的情況下提供可調壓縮/質量。
有多種方法可以將圖像提供給服務器。 EG套接字,HTTP,FTP .. AFAIU它取決於服務器如何接受它。 我不熟悉特定術語'websocket'或node.js腳本。 你能鏈接到你的意思嗎?
..舊代碼添加到pastebin,所以它是可讀的
聰明的思考。 我注意到它使用了套接字,我認為套接字最適合這個,因為它們的開銷很低,等待時間很短。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.