Table of Contents

Documentation: https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/

HTTP streaming

Stream as mosaic

mosaic.vlm.conf

### static video from file
new channel1 broadcast enabled
setup channel1 input file:///Users/pavouk/Movies/Walk.On.Water.2004.DVDRip.DivX.avi
setup channel1 output #mosaic-bridge{id=1,height=360,width=640}


new channel2 broadcast enabled
setup channel2 input file:///Users/pavouk/Movies/xxx/Big_boobs_beauty_Pinkule_has_multiple_orgasm-563509.mp4
#setup channel2 output #duplicate{dst=mosaic-bridge{id=2,height=366}}
setup channel2 output #mosaic-bridge{id=2,height=360,width=640}

new channel3 broadcast enabled
setup channel3 input file:///Users/pavouk/Movies/xxx/Big_boobs_beauty_Pinkule_has_multiple_orgasm-563509.mp4
setup channel3 output #mosaic-bridge{id=3,height=360,width=640}

new channel4 broadcast enabled
setup channel4 input file:///Users/pavouk/Movies/xxx/Big_boobs_beauty_Pinkule_has_multiple_orgasm-563509.mp4
setup channel4 output #mosaic-bridge{id=4,height=360,width=640}

### background image
new mosaic broadcast enabled
setup mosaic input file:///Users/pavouk/Dropbox/Public/Wallpapers/GITS.png
setup mosaic option image-duration=-1
setup mosaic option image-fps=0
setup mosaic option mosaic-rows=2
setup mosaic option mosaic-cols=2
setup mosaic option mosaic-position=1
setup mosaic output #transcode{sfilter=mosaic,vcodec=mp4v,VB=8500,acodec=none,fps=25,scale=1}:display

control channel1 play
control channel2 play
control channel3 play
control channel4 play
control mosaic play
vlc --vlm-conf ~/Movies/mosaic.vlm.conf --mosaic-width 1280 --mosaic-order "1,2,3,4" --mosaic-height 720

Stream in HTTP:

vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,dst=server.example.org:8080}' 
vlc http://server.example.org:8080

* server side, HTTP, from file
/Applications/VLC.app/Contents/MacOS/VLC -vvv ~/Movies/Bio\ Nano\ Technology-New\ Frontiers\
in\ Molecular\ Engineering\ -\ Andreas\ Mershin\ at\ TEDxAthens-sjV7NNwm1GU.mkv --sout
'#standard{access=http,mux=ogg,dst=127.0.0.1:8080}'

Transcode and stream in HTTP

vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}' 

Recording a live video stream

 vlc http://example.com/live.asf --sout="#duplicate{dst=std{access=file,mux=asf,dst='C:\test\test.asf'},dst=nodisplay}" 
 vlc -vvv cdda:/dev/cdrom --sout '#transcode{acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}' 

Dronovo poznámky

Ne zcela s jasnou souvislosti se streamingem videa z labky, ale pár poznámek ze streamingu videa/fotek z vebkamery pripojene k rbpi(3).

Pokud stačí típnutí fotky z webkamery…

sudo apt-get install fswebcam
fswebcam -r 640x480 --jpeg 85 -D 1 shot.jpg

Video (ale ani rbpi3 to rozumne nestíhá… možná použít jiný codec…)

sudo apt-get install vlc=nox
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout="#transcode{vcodec=h264,vb=1800,scale=1,acodec=none}:rtp{sdp=rtsp://:8554/live.ts}" -I dummy

Na druhé straně ve vlc pustit network stream z adresy

rtsp://ip_addr_rbpi:8554/live.ts

STREAM POMOCI FFMPEG

ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f alsa -ac 2 -i hw:1,0 -i /dev/video0
                        -vcodec h264_omx -vf scale=-1:480 -vb 300k -acodec aac -ab 128k -g 50 -strict experimental -f
                        flv rtmp://a.rtmp.youtube.com/live2/XXXXXXXXXXXXXXX