我試圖將音頻和視頻直播從我的電腦傳輸到託管服務上的發佈點。我已經編寫了我認爲應該有的所有代碼(目前只是在小型控制檯應用程序中測試代碼)。代碼本身不會拋出錯誤,它運行得很好,視頻從我的網絡攝像機中被拉出,但是當試圖發送流到發佈點時,系統事件日誌中出現DCOM錯誤「DCOM無法與計算機通信streamwebtown.com使用任何已配置的協議。「 我嘗試使用SDK附帶的實際表達式編碼器4客戶端應用程序來執行相同的操作,並且視頻/音頻饋送對相同的發佈點工作正常。 我在互聯網上搜索了很多,看看是否有其他人遇到了這個問題,但卻空了。詢問社區是否有任何想法?從應用Expression Encoder 4 SDK在直播時拋出DCOM錯誤
代碼:
static void Main(string[] args)
{
EncoderDevice video = EncoderDevices.FindDevices(EncoderDeviceType.Video).Count > 0 ? EncoderDevices.FindDevices(EncoderDeviceType.Video)[0] : null;
EncoderDevice audio = EncoderDevices.FindDevices(EncoderDeviceType.Audio).Count > 0 ? EncoderDevices.FindDevices(EncoderDeviceType.Audio)[0] : null;
LiveJob job = new LiveJob();
if (video != null && audio != null)
{
LiveDeviceSource source = job.AddDeviceSource(video, audio);
job.ActivateSource(source);
PushBroadcastPublishFormat publishingPoint = new PushBroadcastPublishFormat();
publishingPoint.PublishingPoint = new Uri("http://streamwebtown.com/abc");
publishingPoint.UserName = "user";
publishingPoint.Password = PullPW("Stream");
job.ApplyPreset(LivePresets.VC1Broadband16x9);
job.PublishFormats.Add(publishingPoint);
job.StartEncoding();
Console.ReadKey();
job.StopEncoding();
}
}
private static SecureString PullPW(string pw)
{
SecureString s = new SecureString();
foreach (char c in pw) s.AppendChar(c);
return s;
}
這可以通過在中間防火牆有可能引起的。進行測試:首先嚐試以管理員身份運行該應用程序。然後在關閉Windows防火牆的情況下運行應用程序,最後:在網絡中運行沒有任何防火牆(或最少量)的應用程序。 – Polity
感謝您的回覆,這也是我的第一個假設,所以我完全關閉了防火牆,但沒有成功。 –