Как уменьшить задержку в решении для конференц-связи Live Smooth Streaming?

Я использую Expression Encoder SDK для кодирования живой записи своей веб-камеры, публикую ее на веб-сервере, поддерживающем IIS 7.5 и Media Services 4, и просматриваю ее с помощью SmoothStreamingClient.

Однако, поскольку я стремлюсь к решению для конференц-связи в режиме реального времени, мне необходимо резко сократить задержку в 20 секунд между локальным предварительным просмотром и удаленным воспроизведением.

В некоторых местах я читал, что можно настроить Live Smooth Streaming для получения задержки в 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?

Заранее спасибо!

1 ответ

Я считаю, что IIS поддерживает только изменения размера сегмента для мобильных потоков. Однако, если вы уменьшите эти размеры сегментов, а затем каким-то образом имитируете мобильное устройство, я уверен, что задержка уменьшится.

Вы также можете попробовать опустить сегмент сегмента на вкладке "Дополнительно" в разделе "Точные точки публикации".

В общем, не похоже, что эта функция поддерживается IIS. Я бы посоветовал искать другое решение для конференц-связи, так как вы никогда не получите задержку менее чем на ~2 секунды при потоковой передаче HTTP в ее текущем состоянии.

Другие вопросы по тегам