2012-09-28 69 views
0

我想捕獲系統的標準輸出,這就是我們在監視器上可以看到的所有內容,從0,0座標到x,y。我試圖用Robot.createScreenCapture(Rectangle rectangle))方法每秒進行50屏幕捕獲,但它使用了大量的內存和CPU。相反,如果我能捕獲標準輸出並在視頻播放器中重現(例如),我認爲它應該使用更少的內存和cpu。任何人都可以指出我的方向嗎?如何捕捉Java中的標準視頻輸出

+0

30 FPS已經足夠了 – raam86

回答

0

錄製屏幕是一個非常特定於OS環境的任務。例如,在Linux上,通過使用XLib或類似的庫直接與X服務器通信來進行屏幕截圖。

如果幸運的話,有人已經創建了一個Java抽象庫(如Robot類),但如果找不到這樣的庫,那麼您將不得不爲自己的每個平臺執行實現。

不幸的是,您可能需要使用另一種語言來做一些工作,而不是使用Java,因爲可能不存在針對特定於操作系統的調用的Java綁定。

一個好的起點是看現有的項目。對於Linux,這可能是RecordMyDesktop: http://recordmydesktop.sourceforge.net/development.php

對於Windows,你可以看看:http://taksi.sourceforge.net/

所以總結的事情了:Java的可能不是正確的「錘子」有問題的任務。