Я хочу использовать протокол RTSP для подключения к IP-камере. Для этой цели я использую Visual C++. Я искал и нашел библиотеку cURL и загрузил rtsp.c с сайта libcurl.
Я использовал CMake для преобразования кодов cURL в подходящий файл sln для Visual Studio, тогда я создал решение и сделал другие шаги для запуска примера rtsp.c. Теперь я могу подключиться к своей IP-камере с rtsp.c и не получил ошибку времени выполнения, но получаю «ICMP Destination Unreachable (Port Unreachable)» на WireShark и поток не получает.
С другой стороны я могу подключиться к своей IP-камеры с помощью VLC Player. Я изменил номера портов на rtsp.c, но проблема не решена.
Я читал this, но я не знаю, где проблема? и как я могу это решить?Почему команда RTSP Play получает пакет вмешательства устройства в порт RTP?
Редакцией:
Я использовал this RTSP code и this RTP code и теперь я получу только один RTP Packet, который содержит это сообщение:
<?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>
EDITED-2:
Я искал и теперь я знаю, что выше сообщение является сообщением об утере устройства, которое показывает событие обнаружения движения на камере, но я не знаю, почему RTSP Pla y Команда получает пакет вмешательства устройства в порт RTP?