簡體   English   中英

為什么RTSP播放命令在RTP端口上收到設備篡改數據包?

[英]Why RTSP Play Command Receives Device Tampering Packet on RTP Port?

我想使用RTSP協議連接到IP攝像機。 我為此目的使用Visual C ++。 我搜索並找到了cURL庫,並從libcurl網站下載了rtsp.c。
我使用CMake將cURL的代碼轉換為適合Visual Studio的sln文件,然后創建了一個解決方案並執行其他步驟來運行rtsp.c示例。 現在,我可以使用rtsp.c連接到我的IP攝像機,並且沒有運行時錯誤,但是在WireShark上收到“ ICMP目標不可達(端口不可達)消息,並且沒有任何流接收。
在另一方面,我可以使用VLC Player連接到我的IP攝像機。 我在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播放命令在RTP端口上接收設備篡改數據包?

RTSP資源中,可以在同一URL中聚合幾個媒體流。 通常,ONVIF攝像機具有三種媒體流:一種用於視頻,一種用於音頻,另一種用於元數據,以將警報流傳輸到客戶端。

媒體流通過使用會話描述協議描述 ,該協議RTSPDESCRIBE命令RTSP

您應該檢查RTSP資源的組織方式,可能是您正在接收會話中最后一個媒體的數據包。 要檢查RTSP流,可以使用Live555項目中的openRTSP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM