Документация для версии Axxon Next 4.5.0 - 4.5.10. Документация на другие версии также доступна.

Предыдущая страница Следующая страница

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Существует возможность получения на Сервер видеоизображения с экранов удаленного Клиента, системного звука и звука с микрофона через драйвер FFmpeg с помощью RTSP-трансляции. Для этого необходимо:

  1. На Сервере:
    1. Открыть порт для получения данных с удаленного Клиента.

      Примечание.

      Открытый порт должен быть не занят. Для проверки доступности порта можно использовать следующую команду:

      netstat -ano | findstr :<Порт>

      Рекомендуется задавать порты выше 10000.

    2. Добавить устройство 1 channel device и в поле IP-адрес задать адрес в формате:

      listenrtsp://<IP-адрес Cервера>:<Порт>

      Примечание

      RTSP-ссылка задается опционально.

      listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>
  2. На удаленном Клиенте:
    1. Скачать сборку открытых библиотек FFmpeg с официального сайта.
    2. Запустить командную строку и перейти в директорию с файлом ffmpeg.exe.
    3. Выполнить команду следующего формата:

      ffmpeg.exe -f gdigrab -video_size 640x480 -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

      где, 

      параметр Кодек может принимать значения mpeg2video, mpeg4, h264, hevc;
      параметры -video_size 640x480 и -muxdelay 0.1 являются не обязательным и могут быть убраны или изменены.

      При необходимости в команде могут быть заданы дополнительные параметры. 

      Поддерживаемые параметрыОписание
      -draw_mouse <int>Отрисовка курсора мыши. Возможные значения от 0 до 1, по умолчанию 1.
      -show_region <int>Отрисовка границ по линии захвата. Возможные значения от 0 до 1, по умолчанию 1.
      -framerate <video_rate>Значение частоты кадров.
      -video_size <image_size>Размер видеоизображения.
      -offset_x <int>Отступ​ по оси Х области захвата. Значение по умолчанию 0.
      -offset_y <int>Отступ​ по оси Y области захвата. Значение по умолчанию 0.

      После выполнения команды будет запущена трансляция экрана удаленного Клиента.

Дополнительные команды для трансляции экрана удаленного Клиента

На удаленном Клиенте можно выполнить дополнительные команды для трансляции экрана.

  • При наличии на удаленном Клиенте нескольких экранов, для того чтобы транслировать их все, необходимо использовать команду вида:

    ffmpeg.exe -f gdigrab -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    где,
    параметр -video_size отсутствует, тем самым используется всё видео пространство.

  • Также при наличии нескольких экранов на удаленном Клиенте их можно транслировать отдельно.
    Например, чтобы транслировать только первый экран можно использовать команду:

    ffmpeg.exe -f gdigrab -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    Чтобы транслировать только второй экран можно использовать команду:

    ffmpeg.exe -f gdigrab -offset_x 1920 -offset_y 0 -video_size 1920x1080 -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    где,
    параметр -offset_x 1920 выполняет отступ по оси Х вправо на 1920 пикселей, таким образом пропуская первый экран и используя второй.
    Если нужно транслировать третий экран удаленного Клиента, то значение параметра -offset_x будет равно -offset_x 3840, т.е отступ по оси Х вправо на 3840 пикселей, таким образом пропуская первый и второй экраны и используя третий.

    Примечание.

    Значение параметра -offset_x зависит от разрешения экрана. Если разрешения экранов отличаются, то для трансляции отдельного экрана нужно учитывать его разрешение. 

  • Возможны комбинирования трансляции из нескольких определенных экранов.
    Например, для трансляции первого и второго экрана можно использовать команду:

    ffmpeg.exe -f gdigrab -offset_x 0 -offset_y 0 -video_size 3840x1080 -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    где,
    значение параметра -video_size 3840x1080 означает сумму ширины первого и второго экранов.
    Для трансляции второго и третьего экранов можно использовать команду:

    ffmpeg.exe -f gdigrab -offset_x 1920 -offset_y 0 -video_size 3840x1080 -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    где,
    параметр -offset_x 1920 выполняет отступ по оси Х на ширину первого экрана;
    значение параметра -video_size 3840x1080 означает сумму ширины второго и третьего экранов.

  • При использовании трёх и более экранов на удаленном Клиенте есть возможность использовать декодирования формата Nvidia в FFmpeg.
    Для этого нужно выполнить команду следующего вида:

    ffmpeg.exe -f gdigrab -i desktop -c:v <Кодек> -f rtsp -muxdelay 0.1 "listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>"

    где,
    параметр Кодек может принимать значения h264_nvenc, hevc_nvenc.

    Примечание.

    Для графических карт Intel нужно использовать кодеки h264_qsv и hevc_qsv, а для карт AMD − h264_amf и hevc_amf.

    Максимальное разрешение экрана, c которым может работать NVENC h.264, составляет 4096x4096. Максимальное разрешение экрана, с которым может работать NVENC h.265, составляет до 8192x8192.
    Например, при использовании NVENC h.264 три экрана с разрешением 1920x1080 не будут работать.

  • No labels