VLC RTSP поток двух входных видеопотоков - проблемы командной строки - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать наложение двух камер видеонаблюдения на один видеопоток и потоковую передачу по протоколу RTSP .На входе два потока IP-камер и только один видеопоток, объединяющий оба вида в оверлее - в качестве вывода.

Для создания эффекта наложения и потокового видео я использую VLC player v3.0.6 в Windows 10. Я запускаю его из командной строки, чтобы все настроить (исправить оверлей, принять входные потоки и создать выходной поток).Я могу получить свои входные данные и создать наложение, а затем либо отобразить его на экране, либо передать его по протоколу http. HTTP steam отлично работает , я могу открыть его на другом компьютере и посмотреть его.Однако я не могу изменить вывод с HTTP на RTSP и заставить его работать.

Это файл конфигурации VLM, устанавливающий входы и выходы.Этот выводит поток HTTP.

del all

new channel1 broadcast enabled                                                  
setup channel1 input rtsp://xxx:xxx@192.168.xx.xx/profile2/media.smp
setup channel1 output #duplicate{dst=mosaic-bridge{id=1,height=720},select=video}                                                                                                                                                                                         

new channel2 broadcast enabled 
setup channel2 input rtsp://xxx:xxx@192.168.x.x/profile2/media.smp
setup channel2 output #duplicate{dst=mosaic-bridge{id=4,height=340},select=video}        

new background broadcast enabled
setup background input "file:///C:\Program Files\VideoLAN\VLC\pic.jpg"
setup background option image-duration=-1
setup background option image-fps=10
setup background option mosaic-width=1280
setup background option mosaic-height=720
setup background option mosaic-keep-picture=1   


setup background output #transcode{sfilter=mosaic,vcodec=mpeg,vb=2000,fps=10}:bridge-in{delay=0,id-offset=0}:standard{access=http,mux=ogg,dst=192.168.xx.xx:18554}

control channel1 play
control channel2 play
control background play 

Чтобы запустить его, я вызываю VLC с помощью этой команды:

vlc "--vlm-conf=C:\Projekty\mosaic\mosaic4.vlm" "--clock-jitter=0" "--mosaic-width=1280" "--mosaic-height=720" "--mosaic-keep-picture" "--mosaic-row=2" "--mosaic-cols=2" "--mosaic-position=1" "--mosaic-order=1,2,3,4" "--ttl=12" "--udp-caching=800" --verbose=2

Устанавливает вид и разрешение мозаики.

Теперь проблема заключается в файле VLM при настройке вывода.Я использую: стандартный модуль для вывода, но этот модуль не поддерживает RTSP.

Хорошо, давайте попробуем и позволим VLC настроить все для меня.Существует возможность потоковой передачи с использованием обычного графического интерфейса VLC.Вы выбираете, что готовить (файл / ваш экран / единственный входной поток), затем вы выбираете выходной формат, и все.В конце процесса VLC даже показывает вам команды, которые он использует для потоковой передачи.Это выглядит так:

:sout=#transcode{vcodec=h264,vb=56,venc=x264{profile=baseline},fps=12,scale=Automaticky,width=176,height=144,acodec=mp3,ab=24,channels=1,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:8554/} :no-sout-all :sout-keep

Это набор настроек транскодирования видео, а затем вывод - : rtp {sdp = rtsp: //: 8554 /} .Но он прекрасно работает, другая сторона получает рабочий поток RTSP.

Естественно, я пытаюсь заменить мой: стандартный (http) модуль на этот: rtp, но по какой-то причине он просто не работает -другая сторона не может открыть поток.

setup background output #transcode{sfilter=mosaic,vcodec=mpeg,vb=2000,fps=10}:bridge-in{delay=0,id-offset=0}:rtp{sdp=rtsp://:8554/} :no-sout-all :sout-keep

Есть предложения?Я могу получать свои потоки, я могу объединить их, я просто не могу их получить.Документация VLC на данный момент не очень помогает.

Любая помощь будет принята с благодарностью.

...