|
|
|
```
|
|
|
|
Comandos esenciales del manejo del servidor VLC
|
|
|
|
|
|
|
|
-I puede ser escrito como --intf
|
|
|
|
vlc -H o vlc --full-help; detalla una lista de comandos avanzados con la emisión respectiva
|
|
|
|
vlc --longhelp --advanced; detalla la lista completa de comandos disponibles de streaming en vivo y en demanda
|
|
|
|
vlc -l; detalla comandos escondidos y avanzados de VLC
|
|
|
|
vlc --list-verbose & vlc --help-verbose; listan todos los módulos y características disponibles del servidor VLC
|
|
|
|
vlc -p (nombre del módulo) --advanced; ayuda avanzada colocando el nombre del módulo VLC
|
|
|
|
|
|
|
|
Emisión de archivo mediante multicast
|
|
|
|
vlc -vvv /home/bruno/videos/Top_hacker_shows_us_how_it_s_done_Pablos_Holman_TEDxMidwest-hqKafI7Amd8.mp4 --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba1}" --ttl 12 --sout-all --sout-keep vlc://quit
|
|
|
|
|
|
|
|
vlc -vvv /home/bruno/grabas/brunex36-1495205986-2017-05-19-1459.flv --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba2}' --ttl 12 --sout-all --sout-keep vlc://quit
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 /home/bruno/videos/prueba1.mp4 --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba}" --sout-all --sout-keep
|
|
|
|
|
|
|
|
vlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba}" --sout-all --sout-keep vlc://quit
|
|
|
|
|
|
|
|
vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,vb=800,acodec=mpga}:rtp{sdp=rtsp://:8554/}'
|
|
|
|
|
|
|
|
Captura en vivo por unicast luego por multicast
|
|
|
|
vlc v4l2:///dev/video0 --live-caching=10 --sout '#transcode{vcodec=mp2v,vb=256,acodec=ne}:std{access=udp{caching=10},mux=raw,dst=192.168.100.31:1234}'
|
|
|
|
|
|
|
|
:sout=#duplicate{dst=udp{dst=192.168.100.31:1234},dst=display} :sout-all :sout-keep
|
|
|
|
|
|
|
|
:sout=#transcode{vcodec=none,acodec=none}:duplicate{dst=udp{dst=192.168.100.31:1234},dst=display} :sout-all :sout-keep
|
|
|
|
|
|
|
|
:sout=#transcode{vcodec=mp1v,vb=800,scale=Automático,acodec=mpga,ab=128,channels=2,samplerate=8000}:duplicate{dst=udp{dst=192.168.100.31:1234},dst=display} :sout-keep
|
|
|
|
|
|
|
|
Emisión por linea de comandos desde broadcaster, son valores óptimos :sout=#transcode{vcodec=mp2v,vb=800,scale=Automático,acodec=mpga,ab=128,channels=2,samplerate=8000}:duplicate{dst=udp{dst=192.168.100.31:1234},dst=display} :sout-all :sout-keep
|
|
|
|
|
|
|
|
Emisión desde broadcaster hacia el servidor
|
|
|
|
vlc v4l2:///dev/video0 --live-caching=10 --sout '#transcode{vcodec=mp2v,vb=800,ab=128,acodec=mpga}:std{access=udp{caching=10},mux=raw,dst=192.168.100.31:1234}'
|
|
|
|
|
|
|
|
Emisión desde linea de comandos donde no aparece el audio en el receptor
|
|
|
|
cvlc v4l2:///dev/video0 --live-caching=10 --sout '#transcode{vcodec=mp2v,vb=256,acodec=mpga}:std{access=udp{caching=10},mux=raw,dst=192.168.100.31:1234}'
|
|
|
|
|
|
|
|
RTP unicast
|
|
|
|
vlc -vvv udp://@:1234 --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=192.168.100.186,port=1111,mux=ts,sap,name=prueba2}' --ttl 12 --sout-all --sout-keep
|
|
|
|
|
|
|
|
Emisión a dos destinos de forma unicast simultáneamente
|
|
|
|
vlc -vvv --color udp://@:1234 --sout '#duplicate{dst=display,dst=rtp{mux=ts,dst=192.168.100.138,port=1111},dst=rtp{mux=tx,dst=192.168.100.186,port=2222}}'
|
|
|
|
|
|
|
|
Multicast UDP con un solo video
|
|
|
|
vlc -vvv /home/bruno/videos/Top_hacker_shows_us_how_it_s_done_Pablos_Holman_TEDxMidwest-hqKafI7Amd8.mp4 --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba1}" --ttl 12 --sout-all --sout-keep vlc://quit
|
|
|
|
|
|
|
|
vlc -vvv --color --extraintf http --http-password videolan --http-port 9090
|
|
|
|
|
|
|
|
VoD (video en demanda)
|
|
|
|
vlc-wrapper --ttl 12 -vvv --color -I telnet --telnet-password stream --rtsp-host=192.168.100.31 --rtsp-port=8888
|
|
|
|
|
|
|
|
new Test vod
|
|
|
|
setup Test output #transcode{vcodec=h264,vb=512,acodec=mp4a,ab=96}
|
|
|
|
setup Test mux mp2t
|
|
|
|
setup Test input "file:///home/gru/Videos/d.mp4"
|
|
|
|
setup Test enabled
|
|
|
|
|
|
|
|
new Test vod mux mp2t enabled buen comando para arreglar errores
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 --extraintf telnet --vlm-conf playlist.vlm
|
|
|
|
Carga automáticamente una configuración VLM en la directiva donde está guardado el playlist.
|
|
|
|
|
|
|
|
new Test2 vod
|
|
|
|
setup Test2 output #transcode{vcodec=h264,vb=512,acodec=mp4a,ab=96}
|
|
|
|
setup Test2 mux mp2t
|
|
|
|
setup Test2 input “file://C:\videos\my_video.mpg”
|
|
|
|
setup Test2 enabled
|
|
|
|
|
|
|
|
Comando rápido para lanzar VLC, RTSP con VLM
|
|
|
|
vlc -vvv --color --vlm-conf vlc.vlm --extraintf telnet --telnet-password stream --rtsp-host=192.168.100.31 --rtsp-port=8888
|
|
|
|
|
|
|
|
Playlist tree sin control del playlist
|
|
|
|
cvlc -vvv --color --playlist-tree --loop "/home/bruno/videos/" --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100} :rtp{dst=224.0.0.1,port=1234,mux=ts,sap,name=prueba1}" --ttl 12 --sout-all --sout-keep
|
|
|
|
|
|
|
|
Para habilitar telnet y VLM, cargar el comando desde la misma dirección donde estan los archivos VLM
|
|
|
|
vlc -I telnet --telnet-password stream
|
|
|
|
relativo en la direccion que se lance el comando
|
|
|
|
vlc-wrapper -vvv --ttl 12 --color --extraintf telnet --telnet-password stream
|
|
|
|
Tener cuidado con los permisos y trabajar en la ubicación donde estan cargados los archivos VLM
|
|
|
|
|
|
|
|
Emisión agendada
|
|
|
|
:sout=#transcode{vcodec=mp1v,vb=800,scale=Automático,acodec=mpga,ab=128, channels=2,samplerate=8000}:duplicate{dst=rtp{dst=239.0.0.5,port=5004,mux=ts,sap,name=prueba},dst=display} :sout-all :sout-keep
|
|
|
|
|
|
|
|
Para iniciar de manera remota el VLC
|
|
|
|
vlc -I ncurses o vlc --extraintf ncurses
|
|
|
|
|
|
|
|
Transmisión RTSP con RTP
|
|
|
|
En el servidor:
|
|
|
|
vlc -vvv --color /home/bruno/videos/prueba2.mp4 --sout '#transcode{vcodec=h264,vb=800,acodec=mpga}:rtp{sdp=rtsp://192.168.100.31:8888/test.sdp}'
|
|
|
|
En el cliente:
|
|
|
|
vlc -vvv --network-caching 200 rtsp://192.168.100.31:8888/test.sdp
|
|
|
|
|
|
|
|
Webcam RTP con RTSP
|
|
|
|
vlc -vvv --color --ttl 12 v4l2:///dev/video0 --sout '#transcode{vcodec=h264,vb=800,acodec=mp3,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://192.168.100.31:9999/test.sdp}'
|
|
|
|
vlc -vvv --color --ttl 12 v4l2:///dev/video0 --sout '#rtp{sdp=rtsp://192.168.100.31:8888/}'
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 udp://@:1234 --sout '#transcode{vcodec=h264,vb=800,acodec=mp3,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://192.168.100.31:9999/test.sdp}'
|
|
|
|
|
|
|
|
Controles de VLM
|
|
|
|
control mimedio play
|
|
|
|
control mimedio pause
|
|
|
|
control mimedio seek (50,40,99) es el porcentaje de emisión
|
|
|
|
control mimedio stop
|
|
|
|
|
|
|
|
Conectándose a Flash Cast desde celular
|
|
|
|
vlc -vvv --color --ttl 12 --rtsp-timeout=99999 --sout-avcodec-strict=-2 --extraintf http --http-password vlcdirect --http-port 9090
|
|
|
|
|
|
|
|
Para entrar a la página web desde el terminal
|
|
|
|
vlc -vvv --color --ttl 12 --extraintf http --http-password videolan --http-port 9090
|
|
|
|
|
|
|
|
RTSP y RTP con carga de un archivo almacenado
|
|
|
|
vlc -vvv --color --ttl 12 /home/bruno/videos/prueba1.mp4 --sout '#transcode{vcodec=h264,vb=800,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://192.168.100.31:9999/test.sdp}'
|
|
|
|
|
|
|
|
Emisión de webcam con RTP/RTSP, se emite pero hay latencia en la reproducción
|
|
|
|
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp2v,vb=800,acodec=mpga}:rtp{sdp=rtsp://:8554/test.sdp}'
|
|
|
|
|
|
|
|
Emisión detallada RTP/RTSP desde la webcam hacia el servidor
|
|
|
|
:sout=#transcode{vcodec=h264,vb=320,venc=x264{profile=baseline,level=3,keyint=50,bframes=0,no-cabac,tune=zerolatency,ref=1,no-interlaced,vbv-maxrate=312,aq-mode=0,no-mbtree,partitions=none,no-weightb,weightp=0,me=dia,subme=0,no-mixed-refs,no-8x8dct,trellis=0},vfilter=canvas{width=400,height=240,aspect=400:240,padd},soverlay,acodec=mp4a,ab=96,aenc=ffmpeg{aac-profile=low},channels=2,audio-sync}:rtp{sdp=rtsp://0.0.0.0:5554/stream.sdp,mp4a-latm
|
|
|
|
|
|
|
|
Emisión en vivo completo con el driver /dev/video0 para video y ALSA para audio
|
|
|
|
vlc -vvv --color "v4l2://:input-slave=alsa://" --sout '#transcode{vcodec=h264,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{dst=224.0.0.1,port=1111,mux=ts,sap,name=prueba1}' --ttl 12 --sout-all --sout-keep
|
|
|
|
|
|
|
|
Emisión en vivo con el driver /dev/video0 de Linux
|
|
|
|
vlc -vvv --color --ttl 12 v4l2:///dev/video0
|
|
|
|
|
|
|
|
Emisión en vivo de la webcam mediante /dev/video0 y ALSA
|
|
|
|
vlc --color -vvv --ttl 12 v4l2://:v4l2-standard=0 :input-slave=alsa://hw:1,0 :live caching=300 v4l2-standard
|
|
|
|
Nota: Se pueden agregar algunas características de video como SECAM, PAL para que dicha entrada de video sea estandarizada; además el comando input-slave=alsa puede tomar el valor por defecto con el que está trabajando el driver de sonido
|
|
|
|
|
|
|
|
|
|
|
|
Emisión en vivo desde la máquina broadcaster hacia el servidor
|
|
|
|
|
|
|
|
vlc --color -vvv --ttl 12 v4l2://:v4l2-standard=0 :input-slave=alsa://hw:1,0 :live-caching=300 --sout '#transcode{vcodec=mp2v,vb=800,scale=Automático,acodec=mpga,ab=128,channels=2,samplerate=8000}:duplicate{dst=udp{dst=192.168.100.31:1234},dst=display}' --sout-keep
|
|
|
|
|
|
|
|
Comandos soutkeep y soutgather
|
|
|
|
|
|
|
|
vlc --sout-keep --sout "#gather" --ttl 12 -vvv --color -I telnet --rtsp-host 0.0.0.0:8888 --vlm-conf vod.vlm
|
|
|
|
|
|
|
|
Reproducción de multiples archivos
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 prueba1.mp4 prueba2.mp4 prueba3.mp4 prueba4.mp4 --sout-keep
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 prueba1.mp4 prueba2.mp4 prueba3.mp4 prueba4.mp4 --sout '#gather:std{access=http,mux=ts,dst=:9090}' --sout-keep
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 prueba1.mp4 prueba2.mp4 prueba3.mp4 prueba4.mp4 --sout "#transcode{vcodec=h264,vb=512,width=640,height=480,acodec=mp3,ab=128,samplerate=44100,channels=2}:gather:std{access=http,mux=ts,dst=:9090}" --sout-keep
|
|
|
|
|
|
|
|
Salida de archivo emitido en formato ts (transport stream)
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 prueba1.mp4 prueba2.mp4 prueba3.mp4 prueba4.mp4 --sout '#gather:std{access=file,mux=ts,dst=all.ts}' --sout-keep
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 prueba1.mp4 prueba2.mp4 prueba3.mp4 prueba4.mp4 --sout-keep --sout '#gather:transcode{vcodec=h264,vb=1024,scale=1,acodec=mp4a,ab=192,channels=6}:standard{access=file,mux=ts,dst=out.mpg}' --sout-all
|
|
|
|
|
|
|
|
Emisión de RTSP mediante protocolo RTP desde la PC hacia un celular
|
|
|
|
|
|
|
|
vlc -vvv --color --ttl 12 /home/iea04/Vídeos/prueba1.mp4 --sout '#transcode{vcodec=3Dh264,vb=3D320,venc=3Dx264{profile=3Dbaseline,level=3D3,keyint=3D50,bframes=3D0,no-cabac,tune=3Dzerolatency,ref=3D1,no-interlaced,vbv-maxrate=3D312,aq-mode=3D0,no-mbtree,partitions=3Dnone,no-weightb,weightp=3D0,me=3Ddia,subme=3D0,no-mixed-refs,no-8x8dct,trellis=3D0},vfilter=3Dcanvas{width=3D400,height=3D240,aspect=3D400:240,padd},soverlay,acodec=3Dmp4a,ab=3D96,aenc=3Dffmpeg{aac-profile=3Dlow},channels=3D2,audio-sync}:rtp{sdp=rtsp://192.168.100.96:5554/stream.sdp,mp4a-latm}
|
|
|
|
``` |
|
|
|
\ No newline at end of file |