es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo reproducir un video desde una transmisión de datos utilizando libvlcsharp (c# o vb.net)

Tengo una aplicación en vb.net (winForms) que quiero reproducir TS válido con los PIDs de video y audio. Funciona bien si lo transmito utilizando el protocolo TCP/UDP desde la propia aplicación, pero quiero hacerlo sin realizar una transmisión de red.

Veo que se puede hacer esto utilizando StreamMediaInput, pero no sé cómo hacerlo.

Tengo esto:

Private Sub WriteStream(ByVal Data() As Byte, ByVal len As Integer)
  'El array Data() es el TS de video (MPEG-2) (longitud de 188 bytes)
  vlc_memorystream.Write(Data, 0, len)
End Sub

Hacer streaming a TCP a través de libvlcsharp está bien, ¿cómo puedo hacerlo directamente pasando el array Data() a libvlcsharp?

Gracias.

https://github.com/videolan/libvlcsharp

Editar:

Puedo ver el stream poniendo esta línea dentro del sub:

vlc_memorystream.Write(Data, 0, len)

El problema es el búfer. Reproduce bien unos segundos y luego se detiene la reproducción. ¿Cómo puedo manejar esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para reproducir un TS válido con los PID de video y audio sin una transmisión de red en una aplicación WinForms de VB.NET utilizando la biblioteca libvlcsharp, puedes utilizar la función StreamMediaInput, pero requiere pasar el arreglo Data() directamente a libvlcsharp.

    Para lograr esto, puedes usar vlc_memorystream.Write para pasar los datos a libvlcsharp. Sin embargo, existe un problema de almacenamiento en búfer donde la reproducción se detiene después de unos segundos.

    Para solucionar este problema de búfer, puedes intentar aumentar el tamaño del búfer o implementar un sistema de gestión de búfer para asegurarte de que los datos se transmitan continuamente al reproductor. Además, puedes verificar si el búfer está lleno y pausar la reproducción hasta que haya más datos disponibles.

Comments are closed.