我需要將我的屏幕作爲視頻捕獲,因爲我使用了Expression Encoder 4,但在我的應用程序中,我還需要捕獲一個窗口,但我找不到一種方法它與EE4我試圖動態改變我的ScreenCaptureJob的CaptureRectangle
,但這似乎不可能。所以我的問題是,你是否知道使用C#或者C++來做'單窗口捕捉'?只錄制一個窗口的視頻
5
A
回答
2
您可能獲得您感興趣的窗口的窗口句柄,設置一個計時器,並在每個計時器上勾選捕獲該窗口的內容。這樣做不是微不足道的,但肯定可行。我在很多年前在C中做過,但是代碼早已不復存在。
如果您只想捕獲屏幕的矩形區域,問題更簡單。您可以獲取窗口句柄,查詢其大小和位置,然後從屏幕上覆制該區域。在C或C++中,您將獲得桌面DC並從中複製位。在C#中,您可以創建一個與窗口大小相關的Bitmap
,調用Graphics.FromImage
以獲取圖像的Graphics
對象,然後調用CopyFromScreen來獲取窗口內容。缺點是這隻有在沒有任何東西覆蓋有問題的窗口的情況下才有效。如果有東西覆蓋窗口的任何部分,那麼您將捕獲該窗口。
在任何情況下,您最終都會得到需要合併到視頻中的圖像流。有一些圖書館會這樣做。對於C#解決方案,您可以先看看create video from streamed images c#。我懷疑C++有類似的庫。也有一些命令行工具可以實現,儘管我的經驗並不令人滿意。
相關問題
- 1. 在Android中只錄制視頻的視頻錄製只是一次
- 2. .net視頻記錄與窗口句柄
- 3. MediaRecorder不記錄只錄制音頻的視頻
- 4. 錄製視頻
- 5. 使用ffmpeg在窗口錄製來自電視卡的實時流視頻
- 6. 居中整個窗口視頻
- 7. 內嵌窗口YouTube視頻
- 8. 幫助MCI視頻窗口
- 9. 兩個全屏視頻背景並排在一個窗口中
- 10. 如何合併視頻和錄製並製作單個視頻
- 11. iPhone視頻錄製
- 12. Android錄製視頻
- 13. WPF視頻錄製
- 14. HTML5視頻錄製
- 15. Android錄像機只錄制可怕的質量視頻
- 16. 我需要登錄後只顯示一個窗口(Ubuntu的)
- 17. 在自己的窗口中打開視頻的原始窗口
- 18. 只是在一個Tkinter的窗口
- 19. Android視頻預覽和視頻錄製
- 20. 創建一個只能在父窗口內拖動的窗口
- 21. 錄製視頻和Android的
- 22. Android的視頻錄製
- 23. 保存錄制的視頻
- 24. 錄製視頻的問題
- 25. iPhone上的視頻錄製
- 26. 無盡的視頻錄製
- 27. 錄製視頻和Android的
- 28. 使用ffmpeg記錄特定窗口的視頻
- 29. 只提供YTPlayerView中的一個視頻
- 30. 用另一個窗口控制另一個窗口
這種技術正是我在嘗試使用編碼器之前要做的事情,我唯一的擔心是關於性能,但是在使用DirectX之後,我發現這可能不是問題。 –