我知道有很多這樣的問題。如何使用C#.Net捕獲屏幕視頻?
但我不想使用Windows媒體編碼器9,因爲這是一個問題,得到一個,然後它不再受支持。
我知道,有一種可能性是捕獲大量的屏幕截圖並使用ffmpeg
創建視頻,但我不想使用第三方可執行文件。
是否有.net
唯一的解決方案?
我知道有很多這樣的問題。如何使用C#.Net捕獲屏幕視頻?
但我不想使用Windows媒體編碼器9,因爲這是一個問題,得到一個,然後它不再受支持。
我知道,有一種可能性是捕獲大量的屏幕截圖並使用ffmpeg
創建視頻,但我不想使用第三方可執行文件。
是否有.net
唯一的解決方案?
答案是Microsoft Expression Encoder。它是根據我的意見記錄在Vista上一些最簡單的方式和Windows 7
private void CaptureMoni()
{
try
{
Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds;
_screenCaptureJob = new ScreenCaptureJob();
_screenCaptureJob.CaptureRectangle = _screenRectangle;
_screenCaptureJob.ShowFlashingBoundary = true;
_screenCaptureJob.ScreenCaptureVideoProfile.FrameRate = 20;
_screenCaptureJob.CaptureMouseCursor = true;
_screenCaptureJob.OutputScreenCaptureFileName = string.Format(@"C:\test.wmv");
if (File.Exists(_screenCaptureJob.OutputScreenCaptureFileName))
{
File.Delete(_screenCaptureJob.OutputScreenCaptureFileName);
}
_screenCaptureJob.Start();
}
catch(Exception e) { }
}
舊帖子,但我覺得我應該提及,如果你想錄制視頻的話,使用Expression Encoder需要專業許可證持續時間超過10分鐘,並且GPU編碼也需要專業許可證。 (我個人無法獲得任何沒有GPU編碼的輸出) – Sakuya
謝謝你的回答@ masterchris_99。我也想使用MEE,但是得到下面的錯誤; PCba.Tests.Repository.dll中發生類型'System.IO.FileNotFoundException'的異常,但未在用戶代碼中處理 其他信息:無法加載文件或程序集'Microsoft.Expression.Encoder,Version = 4.0.0.0 ,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。該系統找不到指定的文件。 –
編輯基於評論反饋:
由名開發人員baSSiLL慷慨地分享了具有存儲庫屏幕錄製c#庫以及c#中的示例項目,顯示如何使用它捕獲屏幕和麥克風。
使用示例代碼開始屏幕捕獲是直線前進的:
recorder = new Recorder(_filePath,
KnownFourCCs.Codecs.X264, quality,
0, SupportedWaveFormat.WAVE_FORMAT_44S16, true, 160);
_filePath是我想要的視頻保存到文件的路徑。
您可以傳入各種編解碼器,包括AVI,MotionJPEG,X264等。在x264的情況下,我必須首先在我的機器上安裝編解碼器,但AVI可以直接使用。
質量只有在使用AVI或MotionJPEG時才起作用。 x264編解碼器管理其自己的質量設置。
以上0是我想使用的音頻設備。默認值爲零。
它目前支持2種波形格式。 44100在16位立體聲或單聲道。
真實參數表示我希望將音頻編碼爲mp3格式。我相信這是選擇x264時需要的,因爲在.mp4文件中合併的未壓縮音頻不會爲我播放。
160是音頻編碼的比特率。
~~~~~
停止錄製你只是
recorder.Dispose(); recorder = null;
一切都是開源的,所以你可以編輯記錄類和更改尺寸,每秒幀數等
~~~~
要起牀,與此庫運行,你將需要下載或從拉github/codeplex庫如下。您還可以使用的NuGet:
安裝,包裝SharpAvi
原貼:
夏普AVI: https://sharpavi.codeplex.com/ 或 https://github.com/baSSiLL/SharpAvi
有是有一個庫中的樣本項目一個偉大的屏幕錄像機,以及設置菜單等。
我發現Screna首先從這個StackoverFlow問題的另一個答案,但我遇到了一些涉及讓Mp3 Lame編碼器正常工作的問題。 Screna是SharpAVI的包裝。我通過刪除Screna並從SharpAvi的樣本中找到了我,結果我運氣更好。
您可以使用Silverlight 4完成此操作,不確定這是否適合您。 –
如果它可能是.net 3.5,winforms只有 –
你正在使用哪個操作系統? –