我正在使用 Expression Encoder SDK 对我的网络摄像头的实时记录进行编码,将其发布到支持 IIS 7.5 和媒体服务 4 的 Web 服务器,并使用 SmoothStreamingClient 查看它。
但是,由于我的目标是实时会议解决方案,因此我需要大幅减少本地预览和远程回放之间的 20 秒延迟。
我在某些地方读到可以配置实时平滑流式传输以获得 2 秒的延迟,但是,我还没有找到任何教程解释如何配置这样的解决方案,包括编码、提供和消费方。
这是我用来编码捕获的视频的代码:
// Aquires audio and video devices
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;
// Create a new device source. We use the first audio and video devices on the system
job = new LiveJob();
LiveDeviceSource deviceSource = job.AddDeviceSource(video, audio);
// sets preview window to winform panel hosted by xaml window
deviceSource.PreviewWindow = new PreviewWindow(new HandleRef(prevWindow, prevWindow.GetHandle));
// Make this source the active one
job.ActivateSource(deviceSource);
job.ApplyPreset(LivePresets.VC1IISSmoothStreamingLowBandwidthStandard);
PushBroadcastPublishFormat format = new PushBroadcastPublishFormat();
format.PublishingPoint = new Uri(path);
// Adds the publishing format to the job
job.PublishFormats.Add(format);
job.StartEncoding();
有什么我可以添加到这段代码中来产生更低延迟的东西吗?如果没有,我可以在哪里配置 Smooth Streaming 应该提供的所谓的“低延迟支持”?
提前致谢!