2012-06-18 7 views
4

У меня есть приложение WPF для трансляции видео с использованием Microsoft.expression.encoder и framework 4.0, но во время трансляции я получил задержку в 15 секунд. Есть ли предложение уменьшить задержку во время трансляции.приложение wpf для видеовещания

ниже Кодекс

using Microsoft.Expression.Encoder.Live; 
using Microsoft.Expression.Encoder; 

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     EncoderDevice video = null; 
     EncoderDevice audio = null; 
     GetSelectedVideoAndAudioDevices(out video, out audio); 
     StopJob(); 

     if (video == null) 
     { 
      return; 
     } 

     StopJob(); 
     _job = new LiveJob(); 

     if (video != null && audio != null) 
     { 
      //StopJob(); 
      _deviceSource = null; 
      _deviceSource = _job.AddDeviceSource(video, audio); 
      _job.ActivateSource(_deviceSource); 

      // Finds and applys a smooth streaming preset   
      //_job.ApplyPreset(LivePresets.VC1HighSpeedBroadband4x3); 

      // Creates the publishing format for the job 
      PullBroadcastPublishFormat format = new PullBroadcastPublishFormat(); 
      format.BroadcastPort = 9090; 
      format.MaximumNumberOfConnections = 50; 

      // Adds the publishing format to the job 
      _job.PublishFormats.Add(format); 

      // Starts encoding 
      _job.StartEncoding(); 
     } 
     //webCamCtrl.StartCapture(); 
    } 
    catch (Exception ex) 
    { 
     WriteLogFile(this.GetType().Name, "button1_Click", ex.Message.ToString()); 
    } 

} 

Я использую MediaElement, чтобы показать веб-камеру как на моем сервере и клиентских систем.

на стороне клиента

try 
      { 

       theMainWindow.getServerIPAddress(); 
       IP = theMainWindow.machineIP; 
       MediaElement1.Source = new Uri("http://" + IP + ":9090/"); 
      } 
      catch (Exception ex) 
      { 
      } 
+0

Если вы используете тест пропускной способности (скажем [SpeedTest.net] (http://speedtest.net)), какова скорость загрузки и загрузки? – Erik

ответ

0

можно импользовать IIS Smooth Streaming, чтобы начать воспроизведение с низким битрейтом материала и постепенно увеличивать его, как ваш клиент буфер заполняется. Silverlight поддерживает встроенную поддержку Smooth Streaming, и то же самое может быть реализовано вручную в WPF (по крайней мере теоретически).

Есть ли какая-то особенная вещь, которая мешает вам использовать SL на стороне клиента?

 Смежные вопросы

  • Нет связанных вопросов^_^