2012-06-29 13 views
6

Estoy obteniendo archivos m38u para transmitir a un canal de TV en vivo. Intenté abrir estos archivos (ya que son solo una lista de archivos con el tipo de medio "MPEG/TS") y crear una lista de reproducción a partir de ellos. Pero las transiciones entre los videos son malas, se detiene por un segundo o dos antes de comenzar el siguiente video.Orientación sobre cómo transmitir archivos m38u a la aplicación de estilo Metro (WinRT)

No me importa escribir algún código del lado del servidor para resolver esto, pero necesito alguna guía.

Respuesta

0

No sé cómo configurar su lista de reproducción, pero supongo que así es como se hace esto:

  1. Usted tiene una MediaElement
  2. Usted se suscribe a eventos MediaElement.MediaEnded
  3. Usted analizar el archivo m38u y establecer la primera secuencia de la lista a MediaElement.Source.
  4. Usted maneja MediaElement.MediaEnded y cada vez que acaba de configurar la siguiente secuencia de la lista.

¿Es cierto? En caso afirmativo, su problema es un paso 4. Cada vez que configura una fuente nueva, MediaElement solicita la transmisión desde el servidor y almacena temporalmente al menos algo para mostrar el video. Supongo que es por eso que ves transiciones de 3 segundos. Así es como debe resolver esto:

  1. Tiene el mismo MediaElement.
  2. Debe implementar en su propia interfaz IRandomAccessStream, que puede descargar una secuencia en la memoria (si no es realmente grande) o en el disco, o simplemente la secuencia de almacenamiento en búfer con un tamaño de búfer específico.
  3. Analiza el archivo m38u, inicializa primero tu IRandomAccessStream y lo configura como fuente.
  4. Cuando, por ejemplo, primer video en 90% de tiempo de la misma - necesita inicializar la segunda transmisión de la lista de reproducción, comience a descargarla con IRandomAccessStream.
  5. Cuando se disparó MediaElement.MediaEnded - tendrá tamponada corriente, que está listo para MediaElement, por lo que sólo necesita fijar la corriente desde el paso 4.
+0

traté de hacerlo con los archivos locales, se dio el mismo rendimiento de transición lenta – Ateik

+0

los archivos locales a veces también pueden ser lentos. Intenta usar memoria. Si esto no funciona, supongo que deberá combinarlos en el servidor para el usuario. – outcoldman

Cuestiones relacionadas