2014-01-26 93 views
0

我想通過c#上的流式傳輸實時視頻和音頻。 音頻和視頻來自網絡攝像頭,並且會以rtp協議發送。 我的想法是捕獲音頻與naudio使用g711編碼並將其發送到端口X, 從網絡攝像頭以20/25 fps的速率捕獲圖像,做一些編碼(不知道哪種...),併發送它在端口Y. 我的問題是:這種方式是正確的流媒體直播視頻和音頻嗎? 有沒有辦法將視頻和音頻結合到同一個數據包並在同一個端口上發送?如何結合實時視頻和音頻進行流式傳輸

+0

你應該接受一個答案,如果它幫助你或解釋爲什麼它沒有。 – pid

回答

1

你的問題聽起來並不複雜,而且很容易實現。你有獨立的音頻和視頻流,你想要將它們合併並流式傳輸,對吧?

最簡單的方法是使用Windows媒體編碼器或Adobe媒體編碼器。 Windows媒體編碼器具有直接流式傳輸視頻的附加功能,無需涉及流媒體服務器。你可以選擇你的攝像頭作爲'源視頻',並選擇任何麥克風作爲'音頻源',並且Windows媒體編碼器將它們結合起來併爲你創建一個可供任何人觀看的流,或者可以推送到用於中繼廣播的流媒體服務器。

鏈接WME http://www.microsoft.com/en-in/download/details.aspx?id=17792

+0

似乎很好的解決方案。我會嘗試。謝謝 –

+0

死鏈接...... – CyberFox

1

這是一個明確的「建成或購買」的情況。我不會構建這樣的東西。它充滿技術陷阱,非常(非常)值得懷疑的是,如果一個開發者像他一樣聰明,甚至應該嘗試從頭開始實現它。找到一個開源的解決方案,爲你做這個骯髒的工作,會更好。您的問題將會是次要的,並通過相應地配置包來解決。

什麼我想到的是:how to embed vlc media player into my c# windows form app?

至少看一下這條路線,它可能是完成你的最終目標更快捷的方式。

+0

如果我使用vlc進行流式處理,我必須將實時視頻從相機保存到視頻文件?並傳輸文件?我不知道vlc是否是流式傳輸實時攝像機視頻的好選擇 –

+0

客戶端可以在網絡連接上覆制視頻和音頻,而無需在機器上編寫視頻文件。它可以寫入臨時二進制文件進行緩衝,tho。 VLC代表* Video LAN Client *,局域網意味着視頻直接從TCP/IP連接下傳。 IIRC(但不要引用我的話)它甚至可以服務於流(作爲服務器)。我從來沒有將它嵌入.NET應用程序,但上面的鏈接可以解釋你的一切。局域網中的局域網指的是 – pid

+0

。 vlc有一個rtp流媒體選項。我只是不確定vlc是在wan網絡中流實時攝像機視頻的正確解決方案.... –