Общие сведения
GET http://IP-адрес:порт/префикс/live/media/VIDEOSOURCEID?параметры.
где VIDEOSOURCEID - трехкомпонентный идентификатор endpoint-а источника формата (см. Получение списка источников видео (камер)). Например, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Параметры:
format - "rtsp", "hls".
По протоколам RTSP и HLS видео можно получать в исходном формате без рекомпрессии. При этом протокол HLS поддерживает только формат H.264.
Во всех других случаях сервер производит рекомпрессию в формат MJPEG.Внимание!
Если запрашивается видео в формате, отличном от исходного, то будет произведена рекомпрессия, что приведет к увеличению загрузки Сервера.
- w – значение ширины кадра
- h – значение высоты кадра.
Примечание
Если значения параметров h и w больше размеров оригинального видео, видео будет получено с оригинальными размерами.
Уменьшение ширины и высоты возможно только дискретно - в 2, 4, 8 и т. д. раз. Если указаны размеры, не соответствующие 1/2, 1/4 и т. д. размеров оригинального видео, то видео будет получено с размерами, кратными размерам оригинального видео, наиболее близкими к указанным.
Пример запроса:
GET http://IP-адрес:порт/префикс/live/media/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480
Видео по протоколу HLS
Видео по протоколу HLS можно получать только в исходном формате. При получении видео по протоколу HLS также используются следующие параметры:
keep_alive - время в секундах, через которое необходимо продлевать поток.
hls_time - длина сегмента в секундах.
hls_list_size - максимальное количество записей списка воспроизведения. Если задано значение 0, список будет содержать все сегменты.
hls_wrap - порядковый номер сегмента, после которого счётчик обнулится. Если задано значение 0, то счётчик не обнуляется.
Пример запроса:
GET http://IP-адрес:порт/префикс/live/media/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0?format=hls&keep_alive=60
Пример ответа:
{
"keep_alive_seconds": 60, "keep_alive_url": "/live/media/hls/keep?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stop_url": "/live/media/hls/stop?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stream_url": "/hls/7e9d8c93-80e2-4521-9a54-cb854fe3cd2d/playout.m3u8"
}
где keep_alive_url - ссылка для продления жизни потока;
stop_url - ссылка для остановки видеопотока;
stream_url - ссылка по-которой будет доступен список сегментов.
Внимание!
Видео по протоколу HLS будет доступно через несколько секунд после ответа
Для проигрывания видео по протоколу HLS необходимо использовать параметр stream_url из ответа следующим образом:
ffplay "http://root:root@10.0.12.65:80/hls/c83b48d5-2ab7-49eb-91ef-593f808d4e51/playout.m3u8"
Видео по протоколу RTSP
Видео по протоколу RTSP передается только в оригинальном формате.
GET rtsp://логин:пароль@IP-адрес:554/hosts/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0
Видео по протоколу HTTP
GET ffplay.exe -v debug "http://логин:пароль@IP-адрес:8001/asip-api/live/media/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0?w=1600&h=0"
Внимание!
HTTP передает видео только в формате mjpeg, задание параметров w и h обязательно.
Туннелирование RTSP по HTTP
см. Настройка туннелирование RTSP по HTTP в VLC
Видео через туннель передается только в оригинальном формате.
Примеры:
GET ffplay -rtsp_transport http "rtsp://логин:пароль@IP-адреc:80/rtspproxy/hosts/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0"
GET Для VLC: rtsp://логин:пароль@IP-адреc:80/rtspproxy/hosts/HOSTNAME/DeviceIpint.23/SourceEndpoint.video:0:0
Видео в формате H.264
Для получения живого видео в оригинальном формате H.264 необходимо использовать RTSP или туннель RTSP по HTTP.