Почему команда RTSP Play получает пакет фальсификации устройства через порт RTP?
Я хочу использовать протокол RTSP для подключения к IP-камере. Я использую Visual C++ для этой цели. Я искал и нашел библиотеку cURL и скачал rtsp.c с сайта libcurl.
Я использовал CMake для преобразования кодов cURL в подходящий файл sln для Visual Studio, затем я создал решение и выполнил другие шаги для запуска примера rtsp.c. Теперь я могу подключиться к своей IP-камере с помощью rtsp.c и не получает ошибки времени выполнения, но я получаю " Назначение ICMP недоступно (порт недоступен) " на WireShark, и поток не получает.
С другой стороны, я могу подключиться к своей IP-камере с помощью VLC Player. Я изменил номера портов на rtsp.c, но проблема не решена.
Я читал это, но я не знаю, в чем проблема? и как я могу решить это?
Редакция:
Я использовал этот код RTSP и этот код RTP, и теперь я получаю только один пакет RTP, который содержит это сообщение:
<?xml version="1.0" encoding="UTF-8"?>
<tt:MetaDataStream xmnls:tt="http://www.onvif.org/ver10/schema" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2">
<tt:Event>
<wsnt:NotificationMessage>
<wsnt:Topic Dialect="http://www.onvif.org/ver10/tec/topicExpression/ConcreteSet">
tns1:Device/Tampering
</wsnt:Topic>
<wsnt:Message>
<tt:Message UtcTime="2016-05-03T00:14:33.775">
<tt:Source>
<tt:SimpleItem Name="VideoSourceConfigurationToken" Value="VideoSource0">
</tt:SimpleItem>
</tt:Source>
<tt:Data>
<tt:SimpleItem Name="Level" Value="Trigger">
</tt:SimpleItem>
<tt:SimpleItem Name="Percentage" Value="32">
</tt:SimpleItem>
</tt:Data>
</tt:Message>
</wsnt:Message>
</wsnt:NotificationMessage>
</tt:Event>
РЕДАКТИРОВАНИЕ-2:
Я искал, и теперь я знаю, что выше сообщение является сообщением устройства подделки, которое показывает событие обнаружения движения на камере, но я не знаю, почему команда RTSP Play получает пакет подделки устройства на порт RTP?
1 ответ
В ресурсе RTSP несколько потоков мультимедиа могут быть объединены в одном URL. Часто камеры ONVIF имеют три медиапотока: один для видео, один для аудио и один для метаданных, для потоковой передачи предупреждений клиенту.
Медиапотоки описываются с использованием протокола описания сеанса, который используется DESCRIBE
командование RTSP
,
Вы должны проверить, как организован ресурс RTSP, возможно, вы получаете пакеты для последнего носителя в сеансе. Для проверки потока RTSP вы можете использовать openRTSP из проекта Live555.