Próbuję przesyłać strumieniowo dźwięk i wideo z komputera do punktu publikacji w usłudze hostowanej. Napisałem cały kod, który moim zdaniem powinien (w tej chwili to tylko kod testowy w małej aplikacji Console). Sam kod nie generuje błędu, działa dobrze, wideo jest pobierane z mojej kamery internetowej, jednak przy próbie wysłania strumienia do punktu publikacji pojawia się błąd DCOM w dziennikach zdarzeń systemowych "DCOM nie był w stanie komunikować się z komputerem streamwebtown.com przy użyciu dowolnego ze skonfigurowanych protokołów. " Próbowałem zrobić to samo, używając rzeczywistej aplikacji klienckiej Expression Encoder 4, która jest dostarczana wraz z SDK, a kanał wideo/audio działa dobrze dla tego samego punktu publikacji. Przeszukałem internet daleko i szeroko, aby sprawdzić, czy ktoś inny napotkał ten problem, ale pojawił się pusty. Pytasz społeczność, czy ma jakieś pomysły?Wyrażenie koder 4 SDK wyrzucając błąd DCOM podczas przesyłania strumieniowego na żywo
Kod z aplikacji:
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;
}
Można to prawdopodobnie spowodowane przez firewall w środku. Do testowania: Najpierw spróbuj uruchomić aplikację jako administrator. Następnie uruchom aplikację z wyłączoną zaporą systemu Windows, na koniec: uruchom aplikację bez zapory (lub najmniejszej ilości) w sieci. – Polity
Dziękuję za odpowiedź, to było moje pierwsze założenie, więc bez powodzenia zamknąłem zaporę ogniową po mojej stronie. –