Перейти в хранилище документации
Обратиться в техническую поддержку
Предыдущая страница Следующая страница
Существует возможность получения на Сервер видеоизображения с экранов удаленного Клиента, системного звука и звука с микрофона через драйвер FFmpeg с помощью RTSP-трансляции. Для этого необходимо:
Открыть порт для получения данных с удаленного Клиента.
Примечание.
Открытый порт должен быть не занят. Для проверки доступности порта можно использовать следующую команду:
netstat -ano | findstr :<Порт>
Рекомендуется задавать порты выше 10000.
Добавить устройство 1 channel device и в поле IP-адрес задать адрес в формате:
listenrtsp://<IP-адрес Cервера>:<Порт>
Примечание
RTSP-ссылка задается опционально.
listenrtsp://<IP-адрес Cервера>:<Порт>/<RTSP-ссылка>
Выполнить команду следующего формата:
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 означает сумму ширины второго и третьего экранов.
Для этого нужно выполнить команду следующего вида:
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 не будут работать.