From these log statements it looks as though the server running Wowza Pro cannot reach the camera. Is there a way to test connectivity between the server running Wowza Pro and the camera? It looks like the camera and server running Wowza Pro are on different networks: 192.168.1.56 and 192.161.1.34. Are you sure they have access to each other?
Charlie
It sounds like it might be some kind of firewall issue. The RTSP session is used to negotiate the port numbers. Wowza Media Server does not enforce an uppper limit. We start at 6970 and move up reusing ports as they are no longer being used. The camera controls the port numbering on its end but Wowza Media Server controls the ports it is going to use for streaming. If you can turn on debug logging and log a session with the camera and I can take a look at it.
Charlie
Did you setup an application named live or rtplive? Try connecting with the following info:
Server: rtmp://localhost/rtplive
Stream: rtsp://192.168.1.13/h264.sdp?res=half&x0=0&y0=0&x1=1600&y1=1200&qp=30& ssn=1&doublescan=0
Charlie
I don’t see a memory error in the logs you posted. Either way, please zip up and send me your conf and logs folder so I can have a look at it (charlie@wowza.com).
Charlie
This all looks correct. Try turning on debug logging (edit conf/log4j.properties and change the log level on the first line from INFO to DEBUG and start Wowza) and try it again and send me the debug logs (charlie@wowza.com).
Charlie
This camera does not support H.264/AAC. The AXIS 207MW camera only support MPEG-4 and motion JPEG neither of which are supported by Wowza Media Server and Flash. That is why it does not work.
Charlie
I take that back. Looking at the specs more closely I see both cameras say they support H.264. Is this camera available on the Internet. If it is I can give it a quick try. Send me the RTSP url to the camera (charlie@wowza.com).
Charlie
Wowza Media Server and the Flash player only support H.264/AAC. So neither MPEG-2 or MPEG-4 are going to work properly. We do not have a way to transcode the stream on the fly. Some folks have had luck using VLC to accomplish this but it is very tricky to setup and not super stable.
Charlie
It sounds like you application is not setup properly. You should not be getting packet loss if you are using interleaved mode. Post your Application.xml file so we can take a look at it.
Charlie
What do you seen in the logs when Wowza connects to the stream? If you are truley using interleaved mode the log entries should look different. Post the log entries that show the connection since you have changed this setting.
Charlie
We always suggest interleaving. It was just misconfigured (commented out) in your config. It avoids packet loss by sending the video/audio packets over lossless TCP rather then UDP.
Charlie
Take a look at the stream alias package. It is here:
http://community.wowza.com/t/-/47
It will enable you to turn the complex rtsp url into a simple stream name. Then I think the whole JW Player thing will make more sense.
Charlie
It is really hard to tell. Do you have a streamTimeout set for the stream? See this post, issue #5:
http://community.wowza.com/t/-/57
That will force Wowza to reconnect to the stream if the stream does not show up after a timeout period. There is also a chance the camera is dropping packets because it can’t send them fast enough over the 3G connection. It might be dropping so many packets that Flash just can’t render the video. I might suggest trying a super, super low bit rate stream to see if that works. I might also suggest you try turning on packet loss logging. The instructions are here:
http://community.wowza.com/t/-/51
I would also suggest you upgrade to the latest patch (not that it will fix this problem, but…):
https://www.wowza.com/devbuild.html
Charlie
Looks like there is tons of packet loss. I am not sure what to do. There are several hardware devices that will stream video over multiple cellular connections using multiple carriers. That is probably a better way to go.
Charlie
There are three modes of RTSP/RTP that I know of:
-
RTSP/RTP where the RTP part is over UDP
-
RTSP/RTP interleaved where the RTP part is streamed over the TCP connection
-
RTSP/RTP over HTTP which is similar to interleaved mode with the exception that RTSP packets are made to look like HTTP
Wowza supports the first two. We do not support the third. It might be that the carrier is blocking or throttling the RTSP/RTP that smells like RTSP/RTP. So that is why the third option might work better. The problem is we don’t support this mode.
Charlie
I suggest going back to the first post in this thread. It describes how to setup re-streaming of RTSP/RTP through Wowza. From the log statements it looks like Wowza can’t reach the camera.
If you want to stream using UDP then be sure ‘forceInterleaved’ is set to false.
Charlie
I don’t have any experience with this exact setup. I guess I would track the connection along the path to see where the packets are getting blocked. I guess that is where I would start.
Charlie
It sounds like packet loss. Try following instructions here:
http://community.wowza.com/t/-/72
It will turn on a jitter buffer and log packet loss.
Charlie
I just tried this camera in Wowza Server 2.0 and Wowza Pro 1.7.2 (same version as you are using) and it works for me. My Application.xml for 1.7.2 looks like this:
<Root>
<Application>
<!-- Uncomment to set application level timeout values
<ApplicationTimeout>60000</ApplicationTimeout>
<PingTimeout>12000</PingTimeout>
<ValidationFrequency>8000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<MaximumSetBufferTime>60000</MaximumSetBufferTime>
<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
-->
<Connections>
<AutoAccept>true</AutoAccept>
<AllowDomains></AllowDomains>
</Connections>
<!--
StorageDir path variables
${com.wowza.wms.AppHome} - Application home directory
${com.wowza.wms.ConfigHome} - Configuration home directory
${com.wowza.wms.context.VHost} - Virtual host name
${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
${com.wowza.wms.context.Application} - Application name
${com.wowza.wms.context.ApplicationInstance} - Application instance name
-->
<Streams>
<StreamType>rtp-live</StreamType>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
<Properties>
<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
<!--
<Property>
<Name></Name>
<Value></Value>
</Property>
-->
</Properties>
</Streams>
<SharedObjects>
<StorageDir></StorageDir>
</SharedObjects>
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess>*</StreamWriteAccess>
<StreamAudioSampleAccess></StreamAudioSampleAccess>
<StreamVideoSampleAccess></StreamVideoSampleAccess>
<SharedObjectReadAccess>*</SharedObjectReadAccess>
<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
</Access>
</Client>
<RTP>
<!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
<Authentication>
<Method>digest</Method>
</Authentication>
<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
<AVSyncMethod>senderreport</AVSyncMethod>
<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
<Properties>
<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
<!--
<Property>
<Name></Name>
<Value></Value>
</Property>
-->
</Properties>
</RTP>
<MediaCaster>
<Properties>
<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
<!--
<Property>
<Name></Name>
<Value></Value>
</Property>
-->
</Properties>
</MediaCaster>
<MediaReader>
<Properties>
<!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
<!--
<Property>
<Name></Name>
<Value></Value>
</Property>
-->
</Properties>
</MediaReader>
<Repeater>
<OriginURL></OriginURL>
<QueryString></QueryString>
</Repeater>
<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>
<Properties>
<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
<!--
<Property>
<Name></Name>
<Value></Value>
</Property>
-->
</Properties>
</Application>
</Root>
If this is some other strange network issue based on your network topology/setup/firewall/proxy then I am not sure how to help.
Charlie
You should use rtp-live not rtp-live-lowlatency. I didn’t realize that was in there.
I only ran the stream for a few seconds. I just tried it again for 9-10 minutes and it ran without issue for me.
Charlie