Creando un stream de video y audio con VLC
Estoy tratando de crear una aplicación que permita a un cliente compartir pantalla con audio estándar de escritorio, como en una llamada de Discord. ¿Cómo puedo hacer esto con una biblioteca de C# VLC o algo equivalente?
Para aclarar, estoy usando LibVLCSharp y estos son los argumentos que he intentado para los medios:
Media.AddOption("":screen-fps=24 :live-caching=0 :network-caching=0"");
Media.AddOption("":sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:8080/screenshare}"");
davy.ai
Para crear una aplicación que permita compartir la pantalla al servidor con el audio estándar del escritorio, puedes utilizar la biblioteca C# VLC, LibVLCSharp. Aquí tienes algunas sugerencias:
Estas opciones configuran VLC para capturar el escritorio a 24 fotogramas por segundo y transmitirlo con códec de video H.264 y códec de audio MPGA al servidor utilizando el protocolo RTP.
Este código configura VLC para capturar la pantalla del monitor principal y comenzar a reproducirla.
Puedes usar NAudio para capturar el audio desde el dispositivo de audio predeterminado y transmitirlo al servidor en paralelo con el video. Aquí tienes un ejemplo de código:
Este código abre una instancia de VLC que escucha en el puerto 8080 para recibir flujos RTP con el nombre SDP “
screenshare
” y muestra el flujo de video recibido.En general, implementar el compartir pantalla con audio de escritorio en C# utilizando las bibliotecas VLC y NAudio requiere una configuración cuidadosa y coordinación entre el cliente y el servidor. Sin embargo, con las pautas mencionadas anteriormente, deberías poder comenzar y ajustar los parámetros según tus necesidades.