Vlc несколько rtsp одновременно

Обновлено: 02.07.2024

Сценарий PowerShell для управления несколькими потоками RTSP с помощью VLC. Первоначально написан для использования с моими личными камерами WYZE, когда RTSP был выпущен в 2019 году

Мы используем VLC для получения множества RTSP-потоков с локальных камер, а затем отправляем их на различные устройства, включая:

В основном это используется для экспериментов и создания собственного решения. Есть много других профессиональных альтернатив для обработки ваших RTSP-потоков, и никто не говорит, что это предпочтительнее. Мне просто нравится создавать такие маленькие проекты. Я держу проекты открытыми на случай, если кому-то еще они могут пригодиться в их собственном путешествии.

Это написано на PowerShell, языке сценариев MS Windows. Если вы не используете Windows, это решение, вероятно, не для вас, но другие платформы могут его поддерживать. Это было создано и протестировано с помощью PowerShell 5.1 в Windows 10.

Просто поместите файл ps1 куда-нибудь на свой компьютер, отредактируйте файл, чтобы установить переменные, как описано в комментариях, а затем выполните скрипт. Самый простой способ сделать это — открыть файл .ps1 в PowerShell ISE

  • Убедитесь, что выполнены предварительные условия.
  • Загрузите этот проект в папку по вашему выбору, убедившись, что у вас есть файл ps1.
  • Запустите PowerShell ISE и откройте файл ps1.
  • Измените переменные вверху для своей среды. Настоятельно рекомендуется сначала изменить только 2 переменные, а затем поиграть с остальными позже:
    • Установка полного пути к файлу vlc.exe
    • Добавление ваших камер вместо значений по умолчанию в переменную $cameraStreams

    Об этом следует помнить, включая распространенные вопросы

    Использование зарезервированных DHCP IP-адресов для ваших камер упростит вашу жизнь, гарантируя, что URL-адрес вашей камеры не изменится при ее перезапуске. У вашего WiFi-маршрутизатора должно быть приложение или URL-адрес, который вы можете использовать для управления его конфигурацией и настройки определенных устройств, таких как ваша камера, на «зарезервированный» адрес, который будет даваться каждый раз

    Этот проект находится под лицензией MIT License — подробности см. на веб-странице

    Проще говоря, вы можете использовать/копировать/редактировать/публиковать как угодно на свой страх и риск.

    Можно ли вообще настроить VLC на серверном ПК таким образом, чтобы я мог получить доступ к списку всех своих видео с другого ПК и выбрать одно из них для потоковой передачи по запросу?

    Мне указали на это руководство по потоковой передаче (pdf), но оно совершенно бесполезно. Во-первых, большинство меню на этих снимках экрана не соответствуют фактической текущей версии VLC, а затем предполагается, что вы уже знаете, что делаете.

    На данный момент мне удалось выяснить, как транслировать один файл, который я должен выбрать перед просмотром на серверном ПК - довольно бесполезно, если вы спросите меня! Непроницаемый "UI" тоже не помогает.

    (P.S. Причина, по которой я выбираю потоковую передачу, а не очень простую настройку сетевого диска, описана в этом вопросе)

    3 ответа 3

    файлы конфигурации vlm.

    Базовый пример видео по запросу

    Сначала запустите vlc

    % vlc --ttl 12 -vvv --color -I telnet --telnet-пароль videolan --rtsp-host 0.0.0.0:5554

    Затем вы подключаетесь к интерфейсу telnet vlc и создаете объект vod

    Вы можете получить доступ к потоку с помощью:

    Нажмите «Файл > Открыть файл», чтобы открыть диалоговое окно «Открыть».

    alt text

    Нажмите кнопку «Обзор», чтобы открыть стандартное окно выбора файла Windows. Выберите файл, который хотите воспроизвести. Затем нажмите «Открыть». Мы выбрали несколько файлов, поэтому VLC создаст плейлист.

    alt text

    Ваш выбор должен появиться в текстовом поле рядом с кнопкой «Обзор». Установите флажок «Потоковый вывод», а затем нажмите кнопку «Настройки».

    alt text

    Установите флажок рядом с «Воспроизвести локально» в разделе «Методы вывода». При потоковой передаче на другую систему вам не нужно воспроизводить файл на сервере, но мы будем использовать эту опцию, чтобы визуально убедиться, что наше видео воспроизводится правильно, прежде чем пытаться получить доступ к потоку с другого компьютера.

    Установите флажок «UDP» и введите IP-адрес компьютера, на который вы хотите передать файл. Затем нажмите «ОК». Файл готов к воспроизведению, поэтому также нажмите «ОК» в диалоговом окне «Открыть».

    [Этот шаг не работает с моим видео .flv. Хотя сервер воспроизводил видео локально, клиент (localhost:8181) не воспроизводил видео. Корректирующее действие состояло в том, чтобы снять флажок «UDP» (это могло быть связано с тем, что мой транспортный протокол UDP не работал на моем ноутбуке или MPEG-TS не был контейнером корректирующего формата для потоковой передачи.MPEG-TS был единственным контейнером формата или методом инкапсуляции, доступным при выборе «UDP») и установите флажок «HTTP», затем установите «Адрес» как 127.0.0.1 и порт как «8181». Теперь выберите «ASF» в качестве метода инкапсуляции и оставьте остальные значения по умолчанию в диалоговом окне «Потоковый вывод». Нажмите «ОК», чтобы вернуться к диалоговому окну «Открыть», а затем нажмите «ОК» в диалоговом окне «Открыть», чтобы начать воспроизведение видео.]

    alt text

    Видео- или аудиофайл должен начать воспроизводиться на компьютере. Последнее, что нужно сделать перед переключением на второй компьютер, — это включить веб-интерфейс VLC, нажав «Настройки» > «Добавить интерфейс» > «Веб-интерфейс».

    alt text

    Откройте VLC на втором компьютере. Мы используем компьютер с Linux.

    Нажмите «Файл» > «Открыть сетевой поток». UDP уже выбран, поэтому вам просто нужно нажать кнопку «ОК», и VLC начнет воспроизведение вашего потока.

    Этот файл содержит двунаправленный текст Unicode, который может быть интерпретирован или скомпилирован не так, как показано ниже. Для просмотра откройте файл в редакторе, который показывает скрытые символы Unicode. Подробнее о двунаправленных символах Юникода

    ostan прокомментировал 14 апреля 2020 г. •

    Привет, спасибо, что поделились!
    У меня почему-то не работает. Я проверил все свои URL-адреса RTSP, и они работают в VLC (Media/Open Network Stream — по одному за раз).
    Запускаем vlc --vlm-conf path_to_file.vlm - с первого раза ничего не происходит, VLC не открывается.
    Когда я запускаю его во второй раз, я получаю сообщение об ошибке ниже во всплывающем окне.

    Есть идеи?
    Спасибо!

    Отчет о сбое VLC

    К сожалению, произошел сбой медиаплеера VLC.
    Вы хотите отправить отчет об ошибке команде разработчиков?

    Ванкалиф прокомментировал 14 апреля 2020 г.

    Можете ли вы показать мне свою конфигурацию? Я проверю на ошибки.

    ostan прокомментировал 14 апреля 2020 г. •

    Запускается в Windows по команде -> vlc --vlm-conf path_to_file.vlm

    Параметры фона

    новая трансляция BG включена

    bg просто черный фон jpg изображение

    Параметры ввода

    новая 1 трансляция включена

    Строка RTSP для камер HIKVISION

    Запустить все

    управление bg воспроизведение
    управление 1 воспроизведение
    управление 2 воспроизведение
    управление 3 воспроизведение

    Ванкалиф прокомментировал 14 апреля 2020 г. •

    rtsp://admin:12345@192.168.200.11:554/ISAPI/Streaming/Channels/101 - используйте такую ​​строку rtsp, вы можете использовать альтернативный канал с номером 102

    ostan прокомментировал 14 апреля 2020 г.

    Я не знаю, имеет ли это значение, но потоки всех 4 камер имеют разрешение 1920 x 1080 и кодек MPEG-H Part2/HEVC (H.265) (hevc). Но, как я уже сказал, они играют в VLC.

    Ванкалиф прокомментировал 14 апреля 2020 г.

    Для меня работает этот rtsp://admin:pass@IP:554/ISAPI/Streaming/Channels/102 - введите свои переменные в pass и ip и попробуйте открыть одну камеру с конфигурацией

    Ванкалиф прокомментировал 14 апреля 2020 г.

    мои камеры используют протокол h.264 - mpeg4, переключитесь на него и повторите попытку.

    Cilvaring прокомментировала 21 декабря 2021 г.

    Привет. Спасибо за работу, очень помогли мне сделать большой шаг вперед к моей цели.
    Я также хочу иметь 6 камер, но я могу заставить его работать только с 4.

    Возможно, у вас есть идеи, что может быть не так. Я больше ничего не могу придумать.
    Исходная картинка с камер 2560x1920. Чтобы сохранить соотношение, я выбрал
    Для 4-х камер: 1440 x 1080 (мозаика) и 720 x 540 (rtsp-поток)
    Для 6-ти камер: 1920 x 960 (мозаика) и 640 x 480 (rtsp-поток)

    С 4 камерами все работает нормально.
    А вот с 6 камерами такое бывает. я не понимаю

    Cams

    Вот коды:

    управление воспроизведением мозаики
    управление воспроизведением канала 1
    управление воспроизведением канала 2
    управление воспроизведением канала 3
    управление воспроизведением канала 4`

    и для шести камер:

    управление воспроизведением мозаики
    управление воспроизведением на канале 1
    управление воспроизведением на канале 2
    управление воспроизведением на канале 3
    управление воспроизведением на канале 4
    управление воспроизведением на канале 5
    управление воспроизведением на канале 6`< /p>

    Если у вас есть какие-либо идеи, я был бы очень признателен за помощь.

    Я разместил это для другого пользователя, но я бы создал тему о том, как мне удалось получить доступ к моей камере Samsung SNH-v6410PN в плитках действий с помощью VLC. Существует множество вариантов настройки, так что это не исчерпывающее описание всех типов камер, но, надеюсь, оно поможет вам в этом.

    Чтобы сделать это через VLC с моей камерой Samsung, я предпринял следующие шаги. Прежде чем продолжить, определите URL-адрес вашего RTSP-потока камеры — отличная база данных, чтобы найти это:

    <р>1. Убедитесь, что у вас есть доступ к потоку RTSP ваших камер из браузера.В случае с моей камерой Samsung я получил доступ к потоку RTSP по этому пути: rtsp://user:password@192.168.1.72/profile5/media.smp (обязательно замените формат RTSP для вашей камеры (он может отличаться) . Примечание. Если камера защищена пользователем/паролем, возможно, вы не сможете передать пользователь: пароль в URL-адресе при попытке доступа к каналу. Это зависит от используемого вами браузера. Chrome и полностью не позволяйте им проходить, поэтому просто введите URL-адрес, как показано ниже, а затем вам будет предложено ввести имя пользователя и пароль. Firefox должен работать нормально, если user:pass передается в URL-адресе, как показано выше.

    <р>2. Установите VLC (я использую версию 2.2.8) и получите доступ к командной строке VLC. Чтобы сделать это из Windows, откройте приглашение Windows CMD от имени администратора и перейдите к указанному ниже пути к каталогу VLC. Примечание. Некоторые версии VLC содержат ошибки при транскодировании, поэтому я ссылаюсь на версию VLC, которую использую для успешного выполнения этой задачи.

    C:\>CD Program Files (x86)

    C:\Program Files (x86)>диск VideoLAN

    C:\Program Files (x86)\VideoLAN>cd VLC

    C:\Program Files (x86)\VideoLAN\VLC>

    <р>3. После этого введите командную строку, показанную ниже, и ЗАМЕНИТЕ часть, выделенную жирным шрифтом, ссылкой на поток RTSP вашей камеры. Примечание: вам нужно ввести часть строки user:password только в том случае, если вы назначили камере имя пользователя и пароль для входа в систему. Также замените IP-адрес на свой IP-адрес. После того, как вы нажмете Enter, если вы не получили никаких ошибок, перейдите к шагу 4.

    Читайте также: