Video streaming vlc: различия между версиями
Arc (обсуждение | вклад) Нет описания правки |
Arc (обсуждение | вклад) Нет описания правки |
||
Строка 30: | Строка 30: | ||
setup bg input "fake://" option "fake-file=background.png" | setup bg input "fake://" option "fake-file=background.png" | ||
setup bg output "#transcode{vcodec=h264,keyint=40,vb=320,width=640,height=480,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" | setup bg output "#transcode{vcodec=h264,keyint=40,vb=320,width=640,height=480,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" | ||
# Mosaic options | # Mosaic options | ||
setup bg option mosaic-alpha=255 | setup bg option mosaic-alpha=255 | ||
setup bg option mosaic-height=480 | setup bg option mosaic-height=480 | ||
setup bg option mosaic-width=640 | setup bg option mosaic-width=640 | ||
setup bg option mosaic-align=1 | setup bg option mosaic-align=1 | ||
setup bg option mosaic-xoffset=0 | setup bg option mosaic-xoffset=0 | ||
setup bg option mosaic-yoffset=0 | setup bg option mosaic-yoffset=0 | ||
setup bg option mosaic-vborder=0 | setup bg option mosaic-vborder=0 | ||
setup bg option mosaic-hborder=0 | setup bg option mosaic-hborder=0 | ||
setup bg option mosaic-position=1 | setup bg option mosaic-position=1 | ||
setup bg option mosaic-rows=1 | setup bg option mosaic-rows=1 | ||
setup bg option mosaic-cols=1 | setup bg option mosaic-cols=1 | ||
setup bg option mosaic-order=cam1 | setup bg option mosaic-order=cam1 | ||
setup bg option mosaic-delay=0 | setup bg option mosaic-delay=0 | ||
setup bg option mosaic-keep-picture | setup bg option mosaic-keep-picture | ||
# Input options | # Input options | ||
new cam1 broadcast | new cam1 broadcast | ||
setup cam1 input "v4l2:///dev/video0:width=640:height=480" | setup cam1 input "v4l2:///dev/video0:width=640:height=480" | ||
setup cam1 option v4l2-brightness=115 | setup cam1 option v4l2-brightness=115 | ||
setup cam1 option no-sout-audio | setup cam1 option no-sout-audio | ||
setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" | setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" | ||
setup cam1 enabled | setup cam1 enabled | ||
new audio broadcast enabled | new audio broadcast enabled | ||
setup audio input alsa://hw:1,0 | setup audio input alsa://hw:1,0 | ||
setup audio output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out | setup audio output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out | ||
# Launch everything | # Launch everything | ||
control audio play | control audio play | ||
control bg play | control bg play | ||
control cam1 play | control cam1 play | ||
# end of mosaic batch | # end of mosaic batch | ||
Для трех камер: | Для трех камер: | ||
# Comment the following line if you don't want to reset your VLM configuration | # Comment the following line if you don't want to reset your VLM configuration | ||
del all | del all | ||
# Background options | # Background options | ||
new bg broadcast enabled | new bg broadcast enabled | ||
setup bg input "fake://" option "fake-file=background.png" | setup bg input "fake://" option "fake-file=background.png" | ||
setup bg output "#transcode{vcodec=h264,keyint=40,vb=256, ab=112,fps=12,5,width=960,height=240,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8082/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" | setup bg output "#transcode{vcodec=h264,keyint=40,vb=256, ab=112,fps=12,5,width=960,height=240,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8082/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" | ||
# Mosaic options | # Mosaic options | ||
setup bg option mosaic-alpha=255 | setup bg option mosaic-alpha=255 | ||
setup bg option mosaic-height=240 | setup bg option mosaic-height=240 | ||
setup bg option mosaic-width=960 | setup bg option mosaic-width=960 | ||
setup bg option mosaic-align=1 | setup bg option mosaic-align=1 | ||
setup bg option mosaic-xoffset=0 | setup bg option mosaic-xoffset=0 | ||
setup bg option mosaic-yoffset=0 | setup bg option mosaic-yoffset=0 | ||
setup bg option mosaic-vborder=0 | setup bg option mosaic-vborder=0 | ||
setup bg option mosaic-hborder=0 | setup bg option mosaic-hborder=0 | ||
setup bg option mosaic-position=1 | setup bg option mosaic-position=1 | ||
setup bg option mosaic-rows=1 | setup bg option mosaic-rows=1 | ||
setup bg option mosaic-cols=3 | setup bg option mosaic-cols=3 | ||
setup bg option mosaic-order=cam3,cam2,cam1 | setup bg option mosaic-order=cam3,cam2,cam1 | ||
setup bg option mosaic-delay=0 | setup bg option mosaic-delay=0 | ||
setup bg option mosaic-keep-picture | setup bg option mosaic-keep-picture | ||
# Input options | # Input options | ||
new cam1 broadcast | new cam1 broadcast | ||
setup cam1 input "v4l2:///dev/video0:width=320:height=240" | setup cam1 input "v4l2:///dev/video0:width=320:height=240" | ||
setup cam1 option v4l2-brightness=100 | setup cam1 option v4l2-brightness=100 | ||
setup cam1 option no-sout-audio | setup cam1 option no-sout-audio | ||
setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" | setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" | ||
setup cam1 enabled | setup cam1 enabled | ||
new cam2 broadcast | new cam2 broadcast | ||
setup cam2 input "v4l2:///dev/video1:width=320:height=240" | setup cam2 input "v4l2:///dev/video1:width=320:height=240" | ||
#setup cam2 option v4l2-brightness=100 | #setup cam2 option v4l2-brightness=100 | ||
setup cam2 option no-sout-audio | setup cam2 option no-sout-audio | ||
setup cam2 output "#mosaic-bridge{id=cam2},select=video,dst=bridge-out{id=2}}" | setup cam2 output "#mosaic-bridge{id=cam2},select=video,dst=bridge-out{id=2}}" | ||
setup cam2 enabled | setup cam2 enabled | ||
new cam3 broadcast | new cam3 broadcast | ||
setup cam3 input "v4l2:///dev/video2:width=320:height=240" | setup cam3 input "v4l2:///dev/video2:width=320:height=240" | ||
#setup cam3 option v4l2-brightness=100 | #setup cam3 option v4l2-brightness=100 | ||
setup cam3 option no-sout-audio | setup cam3 option no-sout-audio | ||
setup cam3 output "#mosaic-bridge{id=cam3},select=video,dst=bridge-out{id=3}}" | setup cam3 output "#mosaic-bridge{id=cam3},select=video,dst=bridge-out{id=3}}" | ||
setup cam3 enabled | setup cam3 enabled | ||
#new audio1 broadcast enabled | #new audio1 broadcast enabled | ||
#setup audio1 input alsa://hw:0,0 | #setup audio1 input alsa://hw:0,0 | ||
#setup audio1 output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out | #setup audio1 output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out | ||
new audio2 broadcast enabled | new audio2 broadcast enabled | ||
setup audio2 input alsa://hw:0,0 | setup audio2 input alsa://hw:0,0 | ||
setup audio2 output #transcode{acodec=mp4a,samplerate=44100,ab=96}:bridge-out | setup audio2 output #transcode{acodec=mp4a,samplerate=44100,ab=96}:bridge-out | ||
# Launch everything | # Launch everything | ||
#control audio1 play | |||
control audio2 play | |||
control bg play | |||
control cam1 play | |||
control cam2 play | |||
control cam3 play | |||
# end of mosaic batch | |||
[[Категория:HOWTO]] | [[Категория:HOWTO]] |
Версия от 17:01, 17 июня 2010
Сервер ретрансляции:
cvlc http://99.99.99.99:8083/stream.flv --ipv4-timeout=1000 --loop --sout '#duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8092/stream.flv},dst="transcode{vcodec=none,acodec=mp4a,ab=96}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8093/stream.flv}"}'
Скрипт запуска:
#/usr/sbin/bash echo "**********************************************************" echo "Для того, чтобы прекратить трансляцию -- закройте ЭТО окно! " echo "**********************************************************" echo "**********************************************************" echo "Если Вы видите эту надпись, но трансляция не идет" echo "-- закройте ЭТО окно и запустите трансляцию снова." echo "**********************************************************" echo "**********************************************************" echo "Для проверки трансляции запустите в терминале" echo "vlc http://127.0.0.1:8081/stream.flv" echo "**********************************************************"
#echo date() >> use.log #sleep 30 LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so cvlc --vlm-conf mosaic.vlm
Сам mosaic.vlm для одной камеры:
# Comment the following line if you don't want to reset your VLM configuration del all # Background options new bg broadcast enabled setup bg input "fake://" option "fake-file=background.png" setup bg output "#transcode{vcodec=h264,keyint=40,vb=320,width=640,height=480,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" # Mosaic options setup bg option mosaic-alpha=255 setup bg option mosaic-height=480 setup bg option mosaic-width=640 setup bg option mosaic-align=1 setup bg option mosaic-xoffset=0 setup bg option mosaic-yoffset=0 setup bg option mosaic-vborder=0 setup bg option mosaic-hborder=0 setup bg option mosaic-position=1 setup bg option mosaic-rows=1 setup bg option mosaic-cols=1 setup bg option mosaic-order=cam1 setup bg option mosaic-delay=0 setup bg option mosaic-keep-picture # Input options new cam1 broadcast setup cam1 input "v4l2:///dev/video0:width=640:height=480" setup cam1 option v4l2-brightness=115 setup cam1 option no-sout-audio setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" setup cam1 enabled new audio broadcast enabled setup audio input alsa://hw:1,0 setup audio output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out # Launch everything control audio play control bg play control cam1 play # end of mosaic batch
Для трех камер:
# Comment the following line if you don't want to reset your VLM configuration del all # Background options new bg broadcast enabled setup bg input "fake://" option "fake-file=background.png" setup bg output "#transcode{vcodec=h264,keyint=40,vb=256, ab=112,fps=12,5,width=960,height=240,sfilter=mosaic}:bridge-in{offset=50}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8082/stream.flv},dst=std{access=file,mux=ffmpeg{mux=flv},dst=stream.flv}}" # Mosaic options setup bg option mosaic-alpha=255 setup bg option mosaic-height=240 setup bg option mosaic-width=960 setup bg option mosaic-align=1 setup bg option mosaic-xoffset=0 setup bg option mosaic-yoffset=0 setup bg option mosaic-vborder=0 setup bg option mosaic-hborder=0 setup bg option mosaic-position=1 setup bg option mosaic-rows=1 setup bg option mosaic-cols=3 setup bg option mosaic-order=cam3,cam2,cam1 setup bg option mosaic-delay=0 setup bg option mosaic-keep-picture # Input options new cam1 broadcast setup cam1 input "v4l2:///dev/video0:width=320:height=240" setup cam1 option v4l2-brightness=100 setup cam1 option no-sout-audio setup cam1 output "#mosaic-bridge{id=cam1},select=video,dst=bridge-out{id=1}}" setup cam1 enabled new cam2 broadcast setup cam2 input "v4l2:///dev/video1:width=320:height=240" #setup cam2 option v4l2-brightness=100 setup cam2 option no-sout-audio setup cam2 output "#mosaic-bridge{id=cam2},select=video,dst=bridge-out{id=2}}" setup cam2 enabled new cam3 broadcast setup cam3 input "v4l2:///dev/video2:width=320:height=240" #setup cam3 option v4l2-brightness=100 setup cam3 option no-sout-audio setup cam3 output "#mosaic-bridge{id=cam3},select=video,dst=bridge-out{id=3}}" setup cam3 enabled #new audio1 broadcast enabled #setup audio1 input alsa://hw:0,0 #setup audio1 output #transcode{acodec=mp4a,samplerate=44100,ab=112}:bridge-out new audio2 broadcast enabled setup audio2 input alsa://hw:0,0 setup audio2 output #transcode{acodec=mp4a,samplerate=44100,ab=96}:bridge-out # Launch everything #control audio1 play control audio2 play control bg play control cam1 play control cam2 play control cam3 play # end of mosaic batch