Je souhaite utiliser le protocole RTSP pour me connecter à une caméra IP. J'utilise Visual C++ à cet effet. J'ai cherché et trouvé la bibliothèque de cURL et ai téléchargé rtsp.c du site libcurl.
J'ai utilisé CMake pour convertir les codes de cURL en fichier sln approprié pour Visual Studio puis j'ai créé une solution et faire d'autres étapes pour exécuter rtsp.c par exemple. Maintenant, je peux me connecter à ma caméra IP avec rtsp.c et ne reçoit aucune erreur d'exécution mais je reçois "ICMP Destination Unreachable (Port Unreachable)" sur WireShark et aucun flux ne reçoit.
Sur l'autre côté, je peux me connecter à ma caméra IP avec VLC Player. J'ai changé les numéros de port sur rtsp.c mais le problème n'est pas résolu. Je lis this mais je ne sais pas où est le problème? et comment puis-je le résoudre?Pourquoi la commande de lecture RTSP reçoit-elle un paquet d'altération de périphérique sur un port RTP?
ÉDITÉE:
J'utilisé this RTSP code et this RTP code et maintenant je reçois un seul RTP paquet qui contient ce message:
<?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>
ÉDITÉE-2:
Je cherchai et maintenant je sais que le message ci-dessus est un message de détection de mouvement qui montre un événement de détection de mouvement sur l'appareil photo, mais je ne sais pas Khow Pourquoi RTSP Pla La commande y reçoit-elle le paquet d'altération de périphérique sur le port RTP?