Как уменьшить задержку в решении для конференц-связи 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?

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


person LostKaleb    schedule 30.03.2011    source источник


Ответы (1)


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

Вы также можете попробовать уменьшить опережающий просмотр сегмента на вкладке «Дополнительно» в разделе «Точки публикации в реальном времени».

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

person smp    schedule 03.07.2011