2011-03-30 10 views
7

Estoy utilizando Expression Encoder SDK para codificar una grabación en vivo de mi cámara web, publicarla en un servidor web compatible con IIS 7.5 y Media Services 4 y verla con el SmoothStreamingClient.¿Cómo puedo reducir la latencia en una solución de conferencia Live Smooth Streaming?

Sin embargo, como estoy buscando una solución de conferencia en tiempo real, necesito reducir drásticamente mi latencia de 20 segundos entre la vista previa local y la reproducción remota.

He leído en algunos lugares que es posible configurar Live Smooth Streaming para obtener una latencia de 2 segundos, sin embargo, no he encontrado ningún tutorial que explique cómo configurar tal solución, tanto en la codificación, el lado proveedor y el consumidor.

Este es el código que estoy usando para codificar el vídeo capturado:

// 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(); 

¿Hay algo que puedo añadir a este código que producirá una menor latencia? Si no, ¿dónde puedo configurar el llamado "soporte de baja latencia" que se supone que proporciona Smooth Streaming?

¡Gracias de antemano!

Respuesta

1

Creo que IIS solo admite cambios de tamaño de segmento para las transmisiones de dispositivos móviles. Sin embargo, si reduce estos tamaños de segmento y luego imita de algún modo un dispositivo móvil, estoy seguro de que la latencia disminuirá.

También puede intentar bajar el segmento de anticipación en la pestaña avanzada de la sección "publicar en vivo y sin problemas".

En general, no parece que esta característica sea compatible con IIS. Mi consejo sería buscar otra solución para la conferencia ya que nunca obtendrás menos de ~ 2 segundos de latencia con la transmisión HTTP en su estado actual.

Cuestiones relacionadas