Hello *,
I’ve problems to get an external RTSP Source working.
-
I can’t see a video signal in Flash.
-
The RTSP-Control seems to work, if I look to wireshark.
-
I can see incoming RTP-Packets in wireshark.
-
I can’t get the stream out of the server. (tried rtsp, http, rtmp, …)
-
I used the live-Stream-example app, and changed the config a bit: like logging, Ports for firewalls, timeouts. Details, See Application.xml
-
The same Configuration is working with another video Source (axis-Video encoder)
-
The Server sends a teardown after the Stream duration has MediaCaster/Properties/Property/streamTimeout is reached.
(If I set this pram to 0, I can see incoming RTP-Packets a long time.
-
The external Source is working without Wowza in the VLC player.
-
It is not possible, to make this VideoSouce available over the Internet.
Has anybody an Idea, what else I should try now?
Thanks for any helping answer…
Adorn
Try to access the external RTSP Source/LogFile:
INFO server server-start Wowza Media Server 2 Perpetual 2.2.4.02 build27525 -
[….]
INFO vhost comment _defaultVHost_ Bind attempt ([any]:1935:4)
INFO vhost comment _defaultVHost_ Bind successful ([any]:1935)
INFO vhost comment _defaultVHost_ Bind attempt ([any]:8086:1)
INFO vhost comment _defaultVHost_ Bind successful ([any]:8086)
INFO server comment - Wowza Media Server is started!
INFO application app-start _definst_ live/_definst_
INFO session connect-pending 127.0.0.1 -
INFO session connect 127.0.0.1 -
INFO stream create - -
INFO server comment - MediaStreamMediaCasterPlay: startPlay
INFO server comment - RTPMediaCaster.create[7198945]
INFO server comment - RTPMediaCaster.init[7198945]
INFO server comment - RTPMediaCaster.Reconnector[7198945:live/_definst_:mystream.stream]: start: 1
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.doConnect: hostname: 192.168.1.2 port:554 timeout:4 rtspBindIpAddress:null path:/channel01
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send(open): command:DESCRIBE:rtsp:// 192.168.1.2/channel01
DESCRIBE rtsp://192.168.1.2/channel01 RTSP/1.0
CSeq: 1
Accept: application/sdp
User-Agent: Wowza Media Server Pro (Wowza Media Server 2 Perpetual 2.2.4.02 build27525)
INFO server comment - RTPSessionTracker.add[rtsp://192.168.1.2/channel01]: 1
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 401 Unauthorized
response: Unauthorized
protocol: RTSP/1.0
www-authenticate: Basic realm="/"
cseq: 1
status: 401
uri: RTSP/1.0 401 Unauthorized
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:DESCRIBE response:RTSP/1.0 401 Unauthorized status:401 handled:false
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:DESCRIBE
DESCRIBE rtsp://192.168.1.2/channel01 RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: Wowza Media Server Pro (Wowza Media Server 2 Perpetual 2.2.4.02 build27525)
Authorization: Basic ABCDEFGHIJKLMNO=
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 200 OK
content-type: application/sdp
response: OK
protocol: RTSP/1.0
cseq: 2
status: 200
content-length: 306
content-base: rtsp://192.168.1.2/channel01
uri: RTSP/1.0 200 OK
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:DESCRIBE response:RTSP/1.0 200 OK status:200 handled:false
INFO server comment - v=0
o=- 875132681 1208974961 IN IP4 192.168.1.2
s=H264 Stream 1
c=IN IP4 0.0.0.0
t=0 0
a=range:npt=now-
m=video 0 RTP/AVP 96
a=control:rtsp://192.168.1.2/channel01/livevideo
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42E01E;sprop-parameter-sets=Z0LgHtoC0Em/8AEAAPEAAA4QAAK/IIQ=,aM4zyA==
INFO server comment - DESCRIBE: SDP: trackCount:1 trackNames:[rtsp://192.168.1.2/channel01/livevideo,header]
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:SETUP
SETUP rtsp://192.168.1.2/channel01/livevideo RTSP/1.0
Transport: RTP/AVP/UDP;unicast;client_port=49998-49999
CSeq: 3
Authorization: Basic ABCDEFGHIJKLMNO=
ERROR server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: CSeq less than zero
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 200 OK
response: OK
protocol: RTSP/1.0
transport: RTP/AVP;unicast;client_port=49998-49999
session: 00010000; timeout=30
cseq: 3
status: 200
uri: RTSP/1.0 200 OK
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:SETUP response:RTSP/1.0 200 OK status:200 handled:false
INFO server comment - v=0
o=- 875132681 1208974961 IN IP4 192.168.1.2
s=H264 Stream 1
t=0 0
a=range:npt=now-
m=video 49998 RTP/AVP 96
a=control:rtsp://192.168.1.2/channel01/livevideo
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42E01E;sprop-parameter-sets=Z0LgHtoC0Em/8AEAAPEAAA4QAAK/IIQ=,aM4zyA==
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPData: sessionId:00010000 sessionTimeout:30000
INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/_definst_]: RTSP/RTP re-streaming. Success, received SDP data.
INFO stream create - -
INFO server comment - RTPDePacketizerWrapperPacketSorter.init: rtpDePacketizerPacketSorterBufferTime: 500
INFO server comment - RTPDePacketizerWrapperPacketSorter.init: rtpDePacketizerPacketSorterFlushTime: 10
INFO server comment - RTPDePacketizerWrapperPacketSorter.init: rtpDePacketizerPacketSorterLogPacketLoss: true
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:49998
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:49999
INFO stream publish mystream.stream -
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionStart: PLAY: rtsp://192.168.1.2/channel01
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: PLAY: rtsp://192.168.1.2/channel01
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:PLAY
PLAY rtsp://192.168.1.2/channel01 RTSP/1.0
Session: 00010000
CSeq: 4
Authorization: Basic ABCDEFGHIJKLMNO=
Range: npt=0.000-
INFO server comment - RTPMediaCaster.Reconnector[2882193:live/_definst_:mystream.stream]: done: 1
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 200 OK
response: OK
protocol: RTSP/1.0
range: npt=now-
session: 00010000
cseq: 4
status: 200
uri: RTSP/1.0 200 OK
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:PLAY response:RTSP/1.0 200 OK status:200 handled:false
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send(open): command:OPTIONS
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 200 OK
response: OK
protocol: RTSP/1.0
cseq: 5
status: 200
public: DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN
uri: RTSP/1.0 200 OK
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:OPTIONS response:RTSP/1.0 200 OK status:200 handled:false
INFO server comment - UDPTransport.firstPacket: bind:0.0.0.0/0.0.0.0:49998 msg:/192.168.1.2:64112
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send(open): command:OPTIONS
INFO server comment - *** RTSPMessageReceive ***
RTSP/1.0 200 OK
response: OK
protocol: RTSP/1.0
cseq: 6
status: 200
public: DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN
uri: RTSP/1.0 200 OK
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:OPTIONS response:RTSP/1.0 200 OK status:200 handled:false
[….] // Sometimes, the Server recognizes a package loss:
WARN server comment - RTPDePacketizerWrapperPacketSorter.packetLoss[live/_definst_/mystream.stream:rtsp:// 192.168.1.2/channel01/livevideo]: last:51461 curr:51462
The Application.XML:
<Root>
<Application>
<Connections>
<AutoAccept>true</AutoAccept>
<AllowDomains/>
</Connections>
<Streams>
<StreamType>rtp-live</StreamType>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
</Streams>
<SharedObjects>
<StorageDir/>
</SharedObjects>
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess>*</StreamWriteAccess>
<StreamAudioSampleAccess/>
<StreamVideoSampleAccess/>
<SharedObjectReadAccess>*</SharedObjectReadAccess>
<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
</Access>
</Client>
<RTP>
<Authentication>
<PublishMethod>digest</PublishMethod>
<PlayMethod>none</PlayMethod>
</Authentication>
<AVSyncMethod>systemclock</AVSyncMethod>
<MaxRTCPWaitTime>120000</MaxRTCPWaitTime>
<IdleFrequency>75</IdleFrequency>
<RTSPSessionTimeout>90000</RTSPSessionTimeout>
<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
<RTSPBindIpAddress></RTSPBindIpAddress>
<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
<IncomingDatagramPortRanges>4998-4999</IncomingDatagramPortRanges>
<DatagramStartingPort>4998</DatagramStartingPort>
<DatagramPortSharing>false</DatagramPortSharing>
<Properties>
<Property>
<Name>rtpDePacketizerWrapper</Name>
<Value>com.wowza.wms.rtp.depacketizer.RTPDePacketizerWrapperPacketSorter</Value>
</Property>
<Property>
<Name>rtpDePacketizerPacketSorterBufferTime</Name>
<Value>500</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>rtpDePacketizerPacketSorterFlushTime</Name>
<Value>10</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>rtpDePacketizerPacketSorterLogPacketLoss</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
</Properties>
</RTP>
<MediaCaster>
<Properties>
<Property>
<Name>rtspValidationFrequency</Name>
<Value>10000</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamTimeout</Name>
<Value>1000000</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>rtpIgnoreProfileLevelId</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>rtspFilterUnknownTracks</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>debugRTSPSession</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>forceInterleaved</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
</Properties>
</MediaCaster>
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>properties</Name>
<Description>Properties</Description>
<Class>com.wowza.wms.module.ModuleProperties</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
</Modules>
</Application>
</Root>