我正在尝试将音频和视频从我的 PC 实时流式传输到托管服务上的发布点。我已经编写了我认为应该有的所有代码(目前它只是一个小型控制台应用程序中的测试代码)。代码本身不会引发错误,它运行得很好,视频是从我的网络摄像头中提取的,但是当尝试将流发送到发布点时,我在系统事件日志中收到 DCOM 错误“DCOM 无法与计算机通信streamwebtown.com 使用任何配置的协议。” 我尝试使用 SDK 附带的实际 Expression Encoder 4 客户端应用程序来做同样的事情,并且视频/音频提要在同一个发布点上工作得很好。我已经在互联网上进行了广泛的搜索,看看是否有其他人遇到过这个问题,但是却一无所获。
应用程序代码:
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;
}