Skip to end of metadata
Go to start of metadata

В целях отладки, в состав WCS сервера входит утилита, предназначенная для захвата RTSP-потока из файла, полученного при помощи tcpdump или любого другого инструмента сбора дампа IP-пакетов. Захваченный поток раздается по RTSP, имитируя IP-камеру. В свою очередь, WCS может захватывать поток с этой "камеры". Такая возможность полезна в случае, когда нет доступа непосредственно к RTSP-источнику, но есть файлы дампа потока с этого источника. Утилита работает только с файлами, в которых содержатся rtsp interleaved сессии.

При запуске необходимо указать следующие параметры:

  • каталог, в котором располагаются файлы дампов
  • порт, на котором будут прослушиваться входящие RTSP-соединения
  • порт, на котором находился источник потока для дампа
  • признак обработки отброшенных пакетов

Пример запуска:

java -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer -cp /usr/local/FlashphonerWebCallServer/lib/wcs-core.jar:/usr/local/FlashphonerWebCallServer/lib/* com.flashphoner.tools.rtsp.RtspPcapServer /usr/local/FlashphonerWebCallServer/pcaps 3554 2554 true

Здесь

/usr/local/FlashphonerWebCallServer/pcaps - каталог на сервере
3554 - порт, на котором будет имитироваться IP-камера
2554 - порт, на котором находился источник потока для дампа (реальная камера)
true - пропускать пакеты, отброшенные при сборе дампа.

Если на этом же сервере запущен WCS, необходимо вторым параметром указать порт, не входящий в диапазоны, используемые WCS. Имя потока, отдаваемого на данному порту, будет соответствовать имени потока в файле дампа.

Информация о работе утилиты выводится в стандартное устройство вывода. Например, если в каталоге /usr/local/FlashphonerWebCallServer/pcaps находится один файл log.pcap, содержащий один поток, будет выведено следующее:

04:35:20,721 INFO        RtspPcapServer - Starting
04:35:22,244 INFO        RtspPcapServer - Available sources:
04:35:22,245 INFO        RtspPcapServer - Source{path=/usr/local/FlashphonerWebCallServer/pcaps/log.pcap, pcap=io.pkts.Pcap@5a39699c, stream=RTSPStream{config=8, data=22052, streamName='live1.sdp'}}
04:35:22,245 INFO        RtspPcapServer - Starting PCAP RTSP server
04:35:22,407 INFO        RtspPcapServer - Listening PCAP RTSP on address /0.0.0.0 port 3554

В данном примере, получить поток можно по адресу

rtsp://hostname:3554/live1.sdp

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

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

Тестирование перенаправления RTSP соединения

Для тестирования перенаправления RTSP соединения с использованием файла дампа, необходимо в файле настроек flashphoner.properties указать метод, при ответе на который будет возвращено 302 Moved Temporarily, например

rtsp_pcap_server_redirect_method=OPTIONS

и адрес камеры, куда будет перенаправлено RTSP соединение, например

rtsp_pcap_server_handler_redirect_url=rtsp://yourcamera:1935/live/sys3.stream

После этого необходимо запустить утилиту захвата RTSP потока из дампа и подключиться к этому потоку, как описано выше. При подключении будет произведено перенаправление на указанный адрес.