2013-03-16 131 views
0

我有一個捕捉設備(模擬到數字轉換器:AverMedia USB捕捉卡)。 當我想在C#中使用DirectShowLib錄製視頻時,我只接收幀。我能夠使用RawVideo Player錄製幀並播放文件。我如何創建像AVI一樣的標準視頻文件頭?當我想壓縮數據時發生第二個問題。當我使用壓縮時,我根本看不懂它。以編程方式將AVI文件頭添加到視頻流

這是我工作的GraphEdit模式:

enter image description here

如何創建標準的AVI或MPEG文件,用頭和等?

回答

0

看看this你應該可以使用它來設置一個Avi對象,然後用你的幀添加AddFrame()來創建一個avi。

+0

不幸的是我不能那樣做。因爲代碼只是將傳入幀保存到單個文件。我可以將視頻文件標題添加到保存的幀中嗎?我知道幀的寬度,高度和fps。可能嗎? – 2013-03-16 09:08:01

+0

我下載了DirectShow.NET示例並打開了Samples \ Capture \ DxTuner項目。在該項目中,您可以選擇一個視頻壓縮器,並使用DirectShow功能創建一個標準的AVI文件。它將捕獲設備記錄到AVI文件。 – 2013-03-16 11:39:26

1

可播放文件具有一定的結構,捕獲的數據通常通過所謂的多路複用器濾波器寫入該文件。對於AVI格式,標準過濾器是AVI Mux Filter。它輸入視頻/音頻並將其轉換爲輸出上的文件兼容流。如果/當這個輸出連接到文件寫入器過濾器時,後者產生具有正確標題的文件。

相關問題