ONVIF acquisition process RTSP URL

 

 

 

Request the URL of  http://192.168.11.61:80/onvif/device_service

 

 

Request parameters GetCapabilities:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema">

  <s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope">

    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

      <wsse:UsernameToken>

        <wsse:Username>admin</wsse:Username>

        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">xGclBsZI8XXZMMdJFLRQezGU6Ew=</wsse:Password>

        <wsse:Nonce>kajtS3gI++y6imPiP0LCFQ==</wsse:Nonce>

        <Wsu: Created> 2019-06-26T02: 14: 29Z </ wsu: Created>

      </wsse:UsernameToken>

    </wsse:Security>

  </s:Header>

  <soap:Body>

    <tds:GetServiceCapabilities />

  </soap:Body>

</soap:Envelope>

 

 

 

 

Get a reply GetCapabilitiesResponse:

<?xml version="1.0" encoding="UTF-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"  xmlns:tds="http://www.onvif.org/ver10/device/wsdl"  xmlns:tt="http://www.onvif.org/ver10/schema"  >

<soap:Body>

<tds:GetCapabilitiesResponse>

<tds:Capabilities>

<tt:Device>

<tt:XAddr>http://192.168.11.61:80/onvif/device_service</tt:XAddr>

<tt:Network>

<tt:IPFilter>false</tt:IPFilter>

<tt:ZeroConfiguration>false</tt:ZeroConfiguration>

<tt:IPVersion6>true</tt:IPVersion6>

<tt:DynDNS>true</tt:DynDNS>

</tt:Network>

<tt:System>

<tt:DiscoveryResolve>false</tt:DiscoveryResolve>

<tt:DiscoveryBye>true</tt:DiscoveryBye>

<tt:RemoteDiscovery>false</tt:RemoteDiscovery>

<tt:SystemBackup>false</tt:SystemBackup>

<tt:SystemLogging>true</tt:SystemLogging>

<tt:FirmwareUpgrade>false</tt:FirmwareUpgrade>

<tt:SupportedVersions>

<tt:Major>2</tt:Major>

<tt:Minor>20</tt:Minor>

</tt:SupportedVersions>

<tt:Extension>

<tt:HttpFirmwareUpgrade>false</tt:HttpFirmwareUpgrade>

<tt:HttpSystemBackup>false</tt:HttpSystemBackup>

<tt:HttpSystemLogging>false</tt:HttpSystemLogging>

<tt:HttpSupportInformation>false</tt:HttpSupportInformation>

</tt:Extension>

</tt:System>

<tt:IO>

<tt:InputConnectors>0</tt:InputConnectors>

<tt:RelayOutputs>0</tt:RelayOutputs>

</tt:IO>

<tt:Security>

<tt:TLS1.1>false</tt:TLS1.1>

<tt:TLS1.2>false</tt:TLS1.2>

<tt:OnboardKeyGeneration>false</tt:OnboardKeyGeneration>

<tt:AccessPolicyConfig>false</tt:AccessPolicyConfig>

<tt:X.509Token>false</tt:X.509Token>

<tt:SAMLToken>false</tt:SAMLToken>

<tt:KerberosToken>false</tt:KerberosToken>

<tt:RELToken>false</tt:RELToken>

<tt:Extension>

<tt:TLS1.0>false</tt:TLS1.0>

</tt:Extension>

</tt:Security>

</tt:Device>

<tt:Events>

<tt:XAddr>http://192.168.11.61:80/onvif/event_service</tt:XAddr>

<tt:WSSubscriptionPolicySupport>true</tt:WSSubscriptionPolicySupport>

<tt:WSPullPointSupport>true</tt:WSPullPointSupport>

<tt:WSPausableSubscriptionManagerInterfaceSupport>false</tt:WSPausableSubscriptionManagerInterfaceSupport>

</tt:Events>

<tt:Imaging>

<tt:XAddr>http://192.168.11.61:80/onvif/imaging_service</tt:XAddr>

</tt:Imaging>

<tt:Media>

<tt:XAddr>http://192.168.11.61:80/onvif/media_service</tt:XAddr>

<tt:StreamingCapabilities>

<tt:RTPMulticast>true</tt:RTPMulticast>

<tt:RTP_TCP>false</tt:RTP_TCP>

<tt:RTP_RTSP_TCP>true</tt:RTP_RTSP_TCP>

</tt:StreamingCapabilities>

<tt:Extension>

<tt:ProfileCapabilities>

<tt:MaximumNumberOfProfiles>19</tt:MaximumNumberOfProfiles>

</tt:ProfileCapabilities>

</tt:Extension>

</tt:Media>

<tt:PTZ>

<tt:XAddr>http://192.168.11.61:80/onvif/ptz_service</tt:XAddr>

</tt:PTZ>

<tt:Extension>

<tt:Recording>

<tt:XAddr>http://192.168.11.61:80/onvif/recording_service</tt:XAddr>

<tt:ReceiverSource>true</tt:ReceiverSource>

<tt:MediaProfileSource>true</tt:MediaProfileSource>

<tt:DynamicRecordings>false</tt:DynamicRecordings>

<tt:DynamicTracks>0</tt:DynamicTracks>

<tt:MaxStringLength>64</tt:MaxStringLength>

</tt:Recording>

<tt:Search>

<tt:XAddr>http://192.168.11.61:80/onvif/search_service</tt:XAddr>

<tt:MetadataSearch>false</tt:MetadataSearch>

</tt:Search>

<tt:Replay>

<tt:XAddr>http://192.168.11.61:80/onvif/replay_service</tt:XAddr>

</tt:Replay>

<tt:Receiver>

<tt:XAddr>http://192.168.11.61:80/onvif/receiver_service</tt:XAddr>

<tt:RTP_Multicast>true</tt:RTP_Multicast>

<tt:RTP_TCP>true</tt:RTP_TCP>

<tt:RTP_RTSP_TCP>true</tt:RTP_RTSP_TCP>

<tt:SupportedReceivers>5</tt:SupportedReceivers>

<tt:MaximumRTSPURILength>255</tt:MaximumRTSPURILength>

</tt:Receiver>

</tt:Extension>

</tds:Capabilities>

</tds:GetCapabilitiesResponse>

</soap:Body>

</soap:Envelope>

 

Media service URL from the parsed reply:

<tt:Media>

<tt:XAddr>http://192.168.11.61:80/onvif/media_service</tt:XAddr>

 

 

 

Request by http://192.168.11.61:80/onvif/media_service

 

Request: GetProfiles

Send request content:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema">

  <s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope">

    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

      <wsse:UsernameToken>

        <wsse:Username>admin</wsse:Username>

        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">SZn5dATgbcb2G5V+8OnSnAnUh/g=</wsse:Password>

        <wsse:Nonce>MH1ckmewXb55kmOKAcRprw==</wsse:Nonce>

        <wsu:Created>2019-06-26T02:04:37Z</wsu:Created>

      </wsse:UsernameToken>

    </wsse:Security>

  </s:Header>

  <soap:Body>

    <trt:GetProfiles />

  </soap:Body>

</soap:Envelope>

 

 

 

 

Get a reply GetProfilesResponse:

 

<?xml version="1.0" encoding="UTF-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"  xmlns:trt="http://www.onvif.org/ver10/media/wsdl"  xmlns:tt="http://www.onvif.org/ver10/schema" >

<soap:Body>

<trt:GetProfilesResponse>

<trt:Profiles token="ProfileToken001" fixed="true">

<tt:Name>ProfileName001</tt:Name>

<tt:VideoSourceConfiguration token="VideoSourceConfigurationToken001">

<tt:Name>VideoSourceConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>VideoSourceToken001</tt:SourceToken>

<tt:Bounds x="0" y="0" width="1280" height="720"/>

</tt:VideoSourceConfiguration>

<tt:AudioSourceConfiguration token="AudioSourceConfigurationToken001">

<tt:Name>AudioSourceConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>AudioSourceToken001</tt:SourceToken>

</tt:AudioSourceConfiguration>

<tt:VideoEncoderConfiguration token="VideoEncoderConfigurationToken001">

<tt:Name>VideoEncoderConfigurationName001</tt:Name>

<tt:UseCount>1</tt:UseCount>

<tt:Encoding>H264</tt:Encoding>

<tt:Resolution>

<tt:Width>1280</tt:Width>

<tt:Height>720</tt:Height>

</tt:Resolution>

<tt:Quality>4</tt:Quality>

<tt:RateControl>

<tt:FrameRateLimit>25</tt:FrameRateLimit>

<tt:EncodingInterval>1</tt:EncodingInterval>

<tt:BitrateLimit>2048</tt:BitrateLimit>

</tt:RateControl>

<tt:H264>

<tt:GovLength>25</tt:GovLength>

<tt:H264Profile>Baseline</tt:H264Profile>

</tt:H264>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:VideoEncoderConfiguration>

<tt:AudioEncoderConfiguration token="AudioEncoderConfigurationToken001">

<tt:Name>AudioEncoderConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:Encoding>G711</tt:Encoding>

<tt:Bitrate>64</tt:Bitrate>

<tt:SampleRate>8</tt:SampleRate>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:AudioEncoderConfiguration>

<tt:PTZConfiguration token="PTZConfigurationToken001">

<tt:Name>PTZConfigurationName001</tt:Name>

<tt:UseCount>0</tt:UseCount>

<Tt: NodeToken> PTZNodeToken001 </ tt: NodeToken>

<tt:DefaultContinuousPanTiltVelocitySpace>http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace</tt:DefaultContinuousPanTiltVelocitySpace>

<tt:DefaultContinuousZoomVelocitySpace>http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace</tt:DefaultContinuousZoomVelocitySpace>

<tt:DefaultPTZTimeout>PT60S</tt:DefaultPTZTimeout>

</tt:PTZConfiguration>

</trt:Profiles>

<trt:Profiles token="ProfileToken002" fixed="true">

<tt:Name>ProfileName002</tt:Name>

<tt:VideoSourceConfiguration token="VideoSourceConfigurationToken002">

<tt:Name>VideoSourceConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>VideoSourceToken002</tt:SourceToken>

<tt:Bounds x="0" y="0" width="1280" height="720"/>

</tt:VideoSourceConfiguration>

<tt:AudioSourceConfiguration token="AudioSourceConfigurationToken002">

<tt:Name>AudioSourceConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>AudioSourceToken002</tt:SourceToken>

</tt:AudioSourceConfiguration>

<tt:VideoEncoderConfiguration token="VideoEncoderConfigurationToken002">

<tt:Name>VideoEncoderConfigurationName002</tt:Name>

<tt:UseCount>1</tt:UseCount>

<tt:Encoding>H264</tt:Encoding>

<tt:Resolution>

<tt:Width>1280</tt:Width>

<tt:Height>720</tt:Height>

</tt:Resolution>

<tt:Quality>4</tt:Quality>

<tt:RateControl>

<tt:FrameRateLimit>30</tt:FrameRateLimit>

<tt:EncodingInterval>1</tt:EncodingInterval>

<tt:BitrateLimit>2048</tt:BitrateLimit>

</tt:RateControl>

<tt:H264>

<tt:GovLength>25</tt:GovLength>

<tt:H264Profile>Baseline</tt:H264Profile>

</tt:H264>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:VideoEncoderConfiguration>

<tt:AudioEncoderConfiguration token="AudioEncoderConfigurationToken002">

<tt:Name>AudioEncoderConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:Encoding>G711</tt:Encoding>

<tt:Bitrate>64</tt:Bitrate>

<tt:SampleRate>8</tt:SampleRate>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:AudioEncoderConfiguration>

<tt:PTZConfiguration token="PTZConfigurationToken002">

<tt:Name>PTZConfigurationName002</tt:Name>

<tt:UseCount>0</tt:UseCount>

<Tt: NodeToken> PTZNodeToken002 </ tt: NodeToken>

<tt:DefaultContinuousPanTiltVelocitySpace>http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace</tt:DefaultContinuousPanTiltVelocitySpace>

<tt:DefaultContinuousZoomVelocitySpace>http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace</tt:DefaultContinuousZoomVelocitySpace>

<tt:DefaultPTZTimeout>PT60S</tt:DefaultPTZTimeout>

</tt:PTZConfiguration>

</trt:Profiles>

<trt:Profiles token="ProfileToken010" fixed="true">

<tt:Name>ProfileName010</tt:Name>

<tt:VideoSourceConfiguration token="VideoSourceConfigurationToken001">

<tt:Name>VideoSourceConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>VideoSourceToken001</tt:SourceToken>

<tt:Bounds x="0" y="0" width="1280" height="720"/>

</tt:VideoSourceConfiguration>

<tt:AudioSourceConfiguration token="AudioSourceConfigurationToken001">

<tt:Name>AudioSourceConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>AudioSourceToken001</tt:SourceToken>

</tt:AudioSourceConfiguration>

<tt:VideoEncoderConfiguration token="VideoEncoderConfigurationToken010">

<tt:Name>VideoEncoderConfigurationName010</tt:Name>

<tt:UseCount>1</tt:UseCount>

<tt:Encoding>H264</tt:Encoding>

<tt:Resolution>

<tt:Width>352</tt:Width>

<tt:Height>288</tt:Height>

</tt:Resolution>

<tt:Quality>4</tt:Quality>

<tt:RateControl>

<tt:FrameRateLimit>25</tt:FrameRateLimit>

<tt:EncodingInterval>1</tt:EncodingInterval>

<tt:BitrateLimit>512</tt:BitrateLimit>

</tt:RateControl>

<tt:H264>

<tt:GovLength>25</tt:GovLength>

<tt:H264Profile>Baseline</tt:H264Profile>

</tt:H264>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:VideoEncoderConfiguration>

<tt:AudioEncoderConfiguration token="AudioEncoderConfigurationToken001">

<tt:Name>AudioEncoderConfigurationName001</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:Encoding>G711</tt:Encoding>

<tt:Bitrate>64</tt:Bitrate>

<tt:SampleRate>8</tt:SampleRate>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:AudioEncoderConfiguration>

<tt:PTZConfiguration token="PTZConfigurationToken001">

<tt:Name>PTZConfigurationName001</tt:Name>

<tt:UseCount>0</tt:UseCount>

<Tt: NodeToken> PTZNodeToken001 </ tt: NodeToken>

<tt:DefaultContinuousPanTiltVelocitySpace>http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace</tt:DefaultContinuousPanTiltVelocitySpace>

<tt:DefaultContinuousZoomVelocitySpace>http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace</tt:DefaultContinuousZoomVelocitySpace>

<tt:DefaultPTZTimeout>PT60S</tt:DefaultPTZTimeout>

</tt:PTZConfiguration>

</trt:Profiles>

<trt:Profiles token="ProfileToken011" fixed="true">

<tt:Name>ProfileName011</tt:Name>

<tt:VideoSourceConfiguration token="VideoSourceConfigurationToken002">

<tt:Name>VideoSourceConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>VideoSourceToken002</tt:SourceToken>

<tt:Bounds x="0" y="0" width="1280" height="720"/>

</tt:VideoSourceConfiguration>

<tt:AudioSourceConfiguration token="AudioSourceConfigurationToken002">

<tt:Name>AudioSourceConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:SourceToken>AudioSourceToken002</tt:SourceToken>

</tt:AudioSourceConfiguration>

<tt:VideoEncoderConfiguration token="VideoEncoderConfigurationToken011">

<tt:Name>VideoEncoderConfigurationName011</tt:Name>

<tt:UseCount>1</tt:UseCount>

<tt:Encoding>H264</tt:Encoding>

<tt:Resolution>

<tt:Width>352</tt:Width>

<tt:Height>288</tt:Height>

</tt:Resolution>

<tt:Quality>4</tt:Quality>

<tt:RateControl>

<tt:FrameRateLimit>30</tt:FrameRateLimit>

<tt:EncodingInterval>1</tt:EncodingInterval>

<tt:BitrateLimit>512</tt:BitrateLimit>

</tt:RateControl>

<tt:H264>

<tt:GovLength>25</tt:GovLength>

<tt:H264Profile>Baseline</tt:H264Profile>

</tt:H264>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:VideoEncoderConfiguration>

<tt:AudioEncoderConfiguration token="AudioEncoderConfigurationToken002">

<tt:Name>AudioEncoderConfigurationName002</tt:Name>

<tt:UseCount>2</tt:UseCount>

<tt:Encoding>G711</tt:Encoding>

<tt:Bitrate>64</tt:Bitrate>

<tt:SampleRate>8</tt:SampleRate>

<tt:Multicast>

<tt:Address>

<tt:Type>IPv4</tt:Type>

<tt:IPv4Address>0.0.0.0</tt:IPv4Address>

</tt:Address>

<tt:Port>0</tt:Port>

<tt:TTL>0</tt:TTL>

<tt:AutoStart>false</tt:AutoStart>

</tt:Multicast>

<tt:SessionTimeout>PT30S</tt:SessionTimeout>

</tt:AudioEncoderConfiguration>

<tt:PTZConfiguration token="PTZConfigurationToken002">

<tt:Name>PTZConfigurationName002</tt:Name>

<tt:UseCount>0</tt:UseCount>

<Tt: NodeToken> PTZNodeToken002 </ tt: NodeToken>

<tt:DefaultContinuousPanTiltVelocitySpace>http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace</tt:DefaultContinuousPanTiltVelocitySpace>

<tt:DefaultContinuousZoomVelocitySpace>http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace</tt:DefaultContinuousZoomVelocitySpace>

<tt:DefaultPTZTimeout>PT60S</tt:DefaultPTZTimeout>

</tt:PTZConfiguration>

</trt:Profiles>

</trt:GetProfilesResponse>

</soap:Body>

</soap:Envelope>

 

 

 

Parsing reply:

 

By "<trt: Profiles token =" Analyzing XVR open flow path, there are several statistical "<trt: Profiles token =" will open several flow channels.

 

Parsing example:

 

Acquisition channel, the channel acquired on behalf of Profiles token.

<Trt: Profiles token = "ProfileToken001" fixed = "true"> XVR main stream Channel 1

 

 

 

<Trt: Profiles token = "ProfileToken002" fixed = "true"> XVR main stream channel 2

 

<Trt: Profiles token = "ProfileToken010" fixed = "true"> XVR Channel 1 substream

 

<Trt: Profiles token = "ProfileToken011" fixed = "true"> XVR Channel 2 substream

 

 

 

 

 

Request the URL of  http://192.168.11.61:80/onvif/media_service

 

Request GetStreamUri:

In the field contents for an XML ProfileToken replaced Profiles above acquired content token, such ProfileToken001.

 

 

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema">

  <s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope">

    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

      <wsse:UsernameToken>

        <wsse:Username>admin</wsse:Username>

        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">lenD5CapiTlm38cDg1jFPp0pRF4=</wsse:Password>

        <wsse:Nonce>hQTViaVF6Op73GJIM4fCqQ==</wsse:Nonce>

        <wsu:Created>2019-06-26T02:32:41Z</wsu:Created>

      </wsse:UsernameToken>

    </wsse:Security>

  </s:Header>

  <soap:Body>

    <GetStreamUri xmlns="http://www.onvif.org/ver10/media/wsdl">

      <StreamSetup>

        <!-- Attribute Wild card could not be matched. Generated XML may not be valid. -->

        <Stream xmlns="http://www.onvif.org/ver10/schema">RTP-Unicast</Stream>

        <Transport xmlns="http://www.onvif.org/ver10/schema">

          <Protocol>UDP</Protocol>

        </Transport>

      </StreamSetup>

      <ProfileToken>ProfileToken001</ProfileToken>

    </GetStreamUri>

  </soap:Body>

</soap:Envelope>

 

 

Get a reply GetStreamUriResponse:

 

<?xml version="1.0" encoding="UTF-8"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema">

  <soap:Body>

    <trt:GetStreamUriResponse>

      <Trt: MediaUri>

        <tt:Uri>rtsp://192.168.11.61:554/Streaming/Unicast/channels/101</tt:Uri>

        <tt:InvalidAfterConnect>false</tt:InvalidAfterConnect>

        <tt:InvalidAfterReboot>false</tt:InvalidAfterReboot>

        <tt:Timeout>PT60S</tt:Timeout>

      </ Trt: MediaUri>

    </trt:GetStreamUriResponse>

  </soap:Body>

</soap:Envelope>

 

 

Parsing reply:

 

Get ProfileToken001 represented channel RTSP URL.

<Trt: MediaUri>

<tt:Uri>rtsp://192.168.11.61:554/Streaming/Unicast/channels/101</tt:Uri>

 

 

 

Guess you like

Origin blog.csdn.net/BlueBirdssh/article/details/93749720