該程式允許您“記錄”您的桌面,甚至串流!
它包括一些幫助程式「記錄您的螢幕擷取/串流」和設定實用程式。它還包括一個幫助程式(虛擬音訊擷取器),用於錄製 vista+ 系統的「您在桌面上聽到/看到的內容」。
為了使用它們,您需要先在系統上安裝 java JRE。如果尚未安裝,請從 java.com 安裝。
它還包括一個免費、通用、開源的 directshow 桌面/螢幕來源擷取過濾器。
您可以將其與任何(directshow 相容)程式一起使用來擷取或串流,例如 VLC 等。
另請參閱 ChangeLog.txt 檔案以取得最新版本中的變更清單。
下載安裝程式並運行,從
https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases
它還包括一個 directshow 來源擷取過濾器設備,用於在 Windows 7/vista 中記錄「您聽到的內容」—任何音效卡!有關該音訊擷取裝置的資訊/故障排除,請參閱 https://github.com/rdp/virtual-audio-capture-grabber-device。
使用開始功能表 → 程式 → Screen Capture Recorder → 錄製桌面[/broadcast/XXX]中提供的一些幫助程序
或使用任何可以從 Directshow 擷取裝置讀取資料的第 3 方程式(例如:VLC/FFmpeg)。
VLC 範例:http://betterlogic.com/roger/2010/07/how-to-use-vlc-as-a-free-open-source-alternative-to-playon-tv
ffmpeg 範例:
$ ffplay -f dshow -i 視訊=“螢幕擷取記錄器”
或者
$ ffmpeg -f dshow -i video="screen-capture-recorder" -r 20 -t 10 screen-capture.mp4 # -t 10 錄製 10 秒
或將其與錄製「你聽到的」音訊 [vista/windows 7] 結合起來(在本例中使用 ffmpeg):
$ ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" yo.mp4
另請注意,ffmpeg 有一個內建的「gdigrab」輸入選項,您也可以使用它來取代螢幕擷取記錄器。
音訊設備名稱也可以是任何其他 dshow 音訊設備。
Avisynth 也可以使用它。使用 graphedit 將其新增至篩選器圖表中,然後使用 DirectShowSource 作為輸入來源並指定 graphedit 檔案名稱。
gstreamer 也可以工作,例如:
$ gst-launch.exe dshowvideosrc 裝置名稱=螢幕擷取記錄器! ffmpeg色彩空間!直接拉水槽
我甚至讓 Skype 不小心使用了它,以為這是我的網路攝影機。如果您想要一種更簡單的方法來完成任何事情,請告訴我。
預設情況下,它會捕獲主桌面顯示器的「全螢幕」(所有窗口,從那裡重疊,如果 vista + 則帶有 aero,如果非 aero,則沒有透明視窗)。
若要進行不同的配置,請執行提供的「配置設定公用程式/捷徑」或在開始執行之前調整登錄設定(僅限進階使用者):
HKEY_CURRENT_USERSoftware螢幕擷取記錄器
與start_XXX 等相關的DWORD 鍵...(請參閱包含的檔案{installdir}configuration_setup_utilitysetup_screen_tracker_params.rb 以取得可用登錄項目值的完整列表,或參閱https://github.com/rdp/screen- capture-recorder -to-video-windows-free/blob/master/configuration_setup_utility/setup_screen_tracker_params.rb#L9 )
例如:請參閱configuration_setup_utilityincoming.reg 檔案(儘管注意這些值是十六進位的,因此編輯該檔案有點乏味——我總是只使用regedit 或附帶的腳本實用程序,而不是手動編輯它)。
若要“重置”值,請刪除其鍵。
或者
建立一個名為此的檔案:%APPDATA%ScreenCaptureRecorder.ini
像這樣的內容,全部都在「all_settings」部分下
your_first_setting=1 your_second_setting=100 …
預設情況下,它首先讀取註冊表,如果沒有找到其中設定的內容,它將在 .ini 檔案中查找。
運行“基準測試您的捕獲速度”實用程式來查看您的系統捕獲速度有多慢。
如果您使用的是 vista+,請關閉 aero 顯示管理器(尤其是如果您有雙顯示器,這會有所幫助)。 http://www.howtogeek.com/howto/windows-vista/disable-aero-on-windows-vista
如果關閉 aero,捕獲速度會更快(如使用 aero,捕獲 650x976 視窗需要 50 毫秒,而沒有 aero,則需要 3 毫秒。
單一螢幕截圖的其餘部分大約需要 7 毫秒(沒有 Aero 的情況下總計 10 毫秒),因此您可以看到它增加的相對成本 [!]。
還有一個註冊表設定可以“自動”關閉它。
我在捕捉空氣動力學時只能獲得最大 15 fps [如果你想讓我考慮改進這一點,請告訴我,我有一些想法...]。
停用或啟用桌面的「硬體加速」也可能有所幫助,或將其設定為一級以上
嘗試從 32 位元輸入切換到 24 位元或 16 位元輸入(從此),和/或切換桌面深度本身 - 或兩者兼而有之!最快的是 16 位元顯示,並以 16 位元模式捕獲 - 400 fps 哇!
確保您有足夠的可用 RAM(眾所周知,virtualbox 會在不通知您的情況下佔用一些 RAM)。如果可能的話還要禁用航空。
請注意,如果您的輸出最終「實際使用」為 10 fps,例如: $ ffmpeg -f dshow -i video=video-capture-recorder -r 10 yo.mp4 -r 10 # 輸出檔案只有 10 fps
然後為了節省CPU,一個「好的」應用程式還將指示「來源fps」為10 fps $ ffmpeg -framerate 10 -f dshow -i video=video-capture-recorder -r 10 yo.mp4 # 輸入和輸出是設定為10
有關為什麼這裡使用“framerate”而不是“-r”的解釋,請參閱 https://trac.ffmpeg.org/wiki/DirectShow#Specifyinginputframerate
他們傳遞到這個過濾器,每個人都在 10 fps 中並且希望很高興,並且 cpu 得到了節省。 ex: vlc.exe dshow:// … :dshow-fps=10 vlc 然後在協商後將其傳遞給 SetFormat,設備接受它,並以 10 fps 的速度為您提供資料。
一些「糟糕的」directshow 應用程式不會傳入此參數。因此,可能存在某種情況,透過捕獲太多或類似的情況,以某種方式浪費CPU。因此,對於這些程序,您需要設定最大 fps 參數,這將限制其捕獲頻率。
將最大 fps 設定為大於 30 也可以讓您獲得大於 30 的 fps(預設最大值)。它通過給予其更高的最大預設值來“啟用”它們。我認為人們通常不會關心/想要它們,所以你就有了。
請注意,要將其用作輸入攝像頭Skype,您需要指定它是一個相當小的捕獲,請參閱http://betterlogic.com/roger/2012/04/skype-directshow-device-just-shows-circles -用於預覽捕獲/
已知限制,請嘗試此線程:https://groups.google.com/forum/#!topic/roger-projects/uxmGV_vW4iY [或付給我一點錢,我將創建一個優秀的 OBS 專案的前端提供此功能]
其他回饋/問題/問題請聯絡我[email protected] 或瀏覽郵件清單:http://groups.google.com/group/roger-projects 或提交到我們的uservoice:http://rdp.uservoice 。
您可以重新散佈此內容。請參閱文件 LICENSE.TXT。如果您這樣做,您可能只需要分發檔案 PushDesktop.dll 如果您這樣做,則必須透過註冊其 dll(例如 $ regsvr32 PushDesktop.dll - 可能需要管理員權限)來註冊此裝置作為您的檔案的一部分安裝。另請注意,最終用戶還需要先前安裝的 MSVC 2010 可再發行元件(或您必須將其放在與 exe 相同的目錄中)才能使 dll 工作/安裝,以防最終用戶未安裝它。如果您更改它並重新分發它,您可能需要更改 GUID,這樣如果有人也安裝了該軟體,就不會發生衝突。另請參閱#17
程式碼輕輕地基於/借鑒(“靈感來自”)Windows 7.1 SDK ….Microsoft SDKsWindowsv7.1Samplesmultimediadirectshowfilterspushsource 以及其他一些 dshow 演示圍繞“網絡”(tmhare虛擬捕獲)。因此,在處理原始程式碼之前,您可能需要安裝 Windows SDK。若要破解程式碼,請建立 Windows SDK directshow 基類,然後在 Visual Studio 2010 Express 中開啟 source_code/*.vcxproj。這是為了提供一個可以在圖表中使用的“directshow 過濾器”,而不是如何製作圖表的示範。它輸出一個.dll 文件,您可以通過(在管理員控制台中)$ regsvr32 XXX.dll“註冊”(並在使用regsvr32 /u XXX.dll 完成後註銷),還有一些腳本用於設置註冊表值(寫為目前在 ruby/jruby 中用於 GUI),但您不必調整它們來幹擾過濾器本身。
我可以根據合理的需求添加功能。
基本上你想要一個功能,請告訴我,你得到了。
要在本機上建置它,請安裝 VS Express 2010,安裝 Microsoft SDK,開啟相當於 Program FilesMicrosoft SDKsWindowsv7.1Samplesmultimediadirectshowbaseclassesbaseclasses.sln 現在建置它(偵錯)新增對於您的本機建置(專案屬性,來自source_codepushdesktop.sln),調整VC++ 目錄(包含/庫)以指向您的各種基底類別目錄。
附帶的速度測試實用程式最初來自 http://stereopsis.com/blttest (bitblt 非常依賴硬件,所以我被告知,所以能夠測試其速度是件好事)。
還包括 FFmpeg 二進位文件,請參閱其網站以獲取許可詳細資訊/來源:http://ffmpeg.org
http://obsproject.com 是開源的,不使用 FFmpeg,但可能適合您。甚至可以捕捉 DirectX 的支援。 http://www.ffsplit.com 不是開源的,但使用 FFmpeg 擷取/串流桌面。 http://camstudio.org 是開源且免費的,但要求您僅使用 Windows 系統中安裝的本地編解碼器,並且存在一些可用性問題,這就是我一開始就開始這個專案的原因:)