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

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

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

В некоторых местах я читал, что в Live 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 Ответ

1 голос
/ 03 июля 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...