PCからホストされたサービスのパブリッシングポイントにオーディオとビデオをライブでストリーミングしようとしています。必要だと思うすべてのコードを記述しました(現時点では、小さなコンソールアプリでコードをテストするだけです)。コード自体はエラーをスローせず、正常に実行され、ビデオはWebカメラからプルされますが、ストリームをパブリッシングポイントに送信しようとすると、システムイベントログにDCOMエラーが表示されます。「DCOMはコンピューターと通信できませんでした。構成されたプロトコルのいずれかを使用するstreamwebtown.com。」SDKに付属している実際のExpressionEncoder4クライアントアプリケーションを使用して同じことを試みましたが、ビデオ/オーディオフィードは同じパブリッシングポイントで問題なく機能します。私はインターネットを広範囲に検索して、他の誰かがこの問題に遭遇したが、空になったかどうかを確認しました。
アプリケーションからのコード:
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;
}