Help re-streaming Axis IP cameras

Hello,

First of all I’m a newbie about all this stuff.

I’ve configured my server correctly and now I’m trying to re-streaming some Axis IP cameras through rtsp using this article https://www.wowza.com/docs/how-to-re-stream-video-from-an-ip-camera-rtsp-rtp-re-streaming

For my example I’m using this public IP camera: rtsp://130.241.163.111:554/mpeg4/media.amp

This is my Application.xml file:

<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>live</StreamType>
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
                        <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
                        <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
                        <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
                        <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
                        <Properties>
                        </Properties>
                </Streams>
                <Transcoder>
                        <!-- To turn on transcoder set to: transcoder -->
                        <LiveStreamTranscoder></LiveStreamTranscoder>
                        <!-- [templatename].xml or ${SourceStreamName}.xml -->
                        <Templates>${SourceStreamName}.xml,transrate.xml</Templates>
                        <ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
                        <TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
                        <Properties>
                        </Properties>
                </Transcoder>
                <DVR>
                        <!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
                        <!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
                        <!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
                        <!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
                        <!-- To turn on DVR recording set Recorders to dvrrecorder.  This works with dvrstreamingpacketizer  -->
                        <Recorders></Recorders>
                        <!-- As a single server or as an origin, set the Store to dvrfilestorage-->
                        <!-- edges should have this empty -->
                        <Store></Store>
                        <!--  Window Duration is length of live DVR window in seconds.  0 means the window is never trimmed. -->
                        <WindowDuration>0</WindowDuration>
                        <!-- Storage Directory is top level location where dvr is stored.  e.g. c:/temp/dvr -->
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
                        <!-- valid ArchiveStrategy values are append, version, delete -->
                        <ArchiveStrategy>append</ArchiveStrategy>
                        <!-- Properties for DVR -->
                        <Properties>
                        </Properties>
                </DVR>
                <TimedText>
                        <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt,  vodcaptionprovidersrt, vodcaptionproviderscc -->
                        <VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
                        <!-- Properties for TimedText -->
                        <Properties>
                        </Properties>
                </TimedText>
                <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, dvrchunkstreaming -->
                <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
                <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/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
                        <Authentication>
                                <PublishMethod>digest</PublishMethod>
                                <PlayMethod>none</PlayMethod>
                        </Authentication>
                        <!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
                        <AVSyncMethod>senderreport</AVSyncMethod>
                        <MaxRTCPWaitTime>12000</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>*</IncomingDatagramPortRanges>
                        <!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
                        <Properties>
                        </Properties>
                </RTP>
                <MediaCaster>
                        <RTP>
                                <RTSP>
                                        <!-- udp, interleave -->
                                        <RTPTransportMode>interleave</RTPTransportMode>
                                </RTSP>
                        </RTP>
                        <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaCaster>
                <MediaReader>
                        <!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaReader>
                <MediaWriter>
                        <!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaWriter>
                <LiveStreamPacketizer>
                        <!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
                        <Properties>
                        </Properties>
                </LiveStreamPacketizer>
                <HTTPStreamer>
                        <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
                        <Properties>
                        </Properties>
                </HTTPStreamer>
                <Repeater>
                        <OriginURL></OriginURL>
                        <QueryString><![CDATA[]]></QueryString>
                </Repeater>
                <Modules>
                        <Module>
                                <Name>base</Name>
                                <Description>Base</Description>
                                <Class>com.wowza.wms.module.ModuleCore</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 defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
                <Properties>
                </Properties>
        </Application>
</Root>

Then in my [install-dir]/content/camera.stream I have this code:

rtsp://130.241.163.111:554/mpeg4/media.amp

I start the server without any errors and go to streammanager and configure the stream, then in the server all seem to be OK:

INFO application app-start _definst_ prueba/_definst_
INFO server comment - RTPMediaCaster.create[396836144]
INFO server comment - RTPMediaCaster.init[396836144]
INFO server comment - RTPMediaCaster.Reconnector[396836144:prueba/_definst_:camera.stream]: start: 1
INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successfully started [prueba/_definst_]: flv:camera.stream
INFO server comment - RTPSessionTracker.add[rtsp://130.241.163.111:554/mpeg4/media.amp]: 1
INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPData: sessionId:0856205980 sessionTimeout:60000
INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[prueba/_definst_]: RTSP/RTP re-streaming. Success, received SDP data.
INFO stream create - -
INFO stream publish camera.stream -
INFO server comment - RTPMediaCaster.Reconnector[396836144:prueba/_definst_:camera.stream]: done: 1
INFO server comment - senderReport[RTP-Info]: seq:45617 time:495504735 url:trackID=1
INFO server comment - firstPacket: TCP:$130
INFO server comment - RTPDePacketizerRFC3106MPEG4.handleRTPPacket: {MPEG4CodecConfigInfo: profile: "ADVSIMPLE", level: 4, frameSize: 640x480, displaySize: 640x480, PAR: 1:1, frameRate: 1000.0}
INFO server comment - LiveStreamPacketizerSanJose.init[prueba/_definst_/camera.stream]: chunkDurationTarget: 10000
INFO server comment - LiveStreamPacketizerSanJose.init[prueba/_definst_/camera.stream]: chunkDurationTolerance: 500
INFO server comment - LiveStreamPacketizerSanJose.init[prueba/_definst_/camera.stream]: playlistChunkCount:4
INFO server comment - MediaStreamMap.getLiveStreamPacketizer[prueba/_definst_/camera.stream]: Create live stream packetizer: sanjosestreamingpacketizer:camera.stream
INFO server comment - SanJosePacketHandler.startStream[prueba/_definst_/camera.stream]
INFO server comment - LiveStreamPacketizerSanJose.handlePacket[prueba/_definst_/camera.stream]: Video codec: MPEG4
INFO server comment - LiveStreamPacketizerCupertino.init[prueba/_definst_/camera.stream]: chunkDurationTarget: 10000
INFO server comment - LiveStreamPacketizerCupertino.init[prueba/_definst_/camera.stream]: chunkDurationTolerance: 500
INFO server comment - LiveStreamPacketizerCupertino.init[prueba/_definst_/camera.stream]: audioGroupCount: 3
INFO server comment - LiveStreamPacketizerCupertino.init[prueba/_definst_/camera.stream]: playlistChunkCount:3
INFO server comment - MediaStreamMap.getLiveStreamPacketizer[prueba/_definst_/camera.stream]: Create live stream packetizer: cupertinostreamingpacketizer:camera.stream
INFO server comment - CupertinoPacketHandler.startStream[prueba/_definst_/camera.stream]
INFO server comment - LiveStreamPacketizerCupertino.handlePacket[prueba/_definst_/camera.stream]: Video codec:MPEG4 isCompatible:false
INFO server comment - MediaStreamMap.getLiveStreamPacketizer[prueba/_definst_/camera.stream]: Create live stream packetizer: smoothstreamingpacketizer:camera.stream
INFO server comment - LiveStreamPacketizerSmoothStreaming.startStream[prueba/_definst_/camera.stream]
INFO server comment - firstPacket: TCP:$131
WARN server comment - CupertinoPacketHandler.handleHolder[prueba/_definst_/camera.stream]: Invalid video codec for iPhone/iPod: MPEG4
INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[prueba/_definst_/camera.stream]: Add chunk: id:1 mode:TS[MPEG4,NOAUDIO] a/v/k:0/0/0 duration:17343
INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[prueba/_definst_/camera.stream]: Add chunk: id:1 a/v/k:0/130/0 duration:21790
INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[prueba/_definst_/camera.stream]: Add chunk: id:2 mode:TS[MPEG4,NOAUDIO] a/v/k:0/0/0 duration:15675
INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[prueba/_definst_/camera.stream]: Add chunk: id:2 a/v/k:0/131/1 duration:23791
INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[prueba/_definst_/camera.stream]: Add chunk: id:3 mode:TS[MPEG4,NOAUDIO] a/v/k:0/0/0 duration:20456

But then when I try to connect to the stream from VLC with this URL:

rtmp://[wowza-ip-address]/prueba/camera.stream

But I get the error "No suitable decoder module

VLC does not support the audio or video format “undf”. Unfortunately there is no way for you to fix this."

And the server shows this info:

INFO session connect-pending [my-ip-address] -
INFO session connect [my-ip-address] -
INFO stream create - -
INFO stream play camera.stream -
INFO session comment 212331158 client connectionClosed [212331158] pingtimeout
INFO stream stop camera.stream -
INFO stream destroy camera.stream -
INFO session disconnect 212331158 -

Anybody knows what’s happening?

Any help will be appreciated, thanks in advance.

Best regards

Please zip up your [install-dir]/conf and [install-dir]/logs and send them to support@wowza.com and include your .stream file along with your camera video settings (screenshots). Also be sure to include this forum post as a reference.

Hello!

I have the same problem. My Axis cam looks like good in Wowza Manager: in the Incoming Streams looks active, there is incoming bytes but Test Players can’t play. Also VLC says: VLC does not support the audio or video format “undf”.

I use the Wowza Streaming Engine 4.4.

What is the solution?

idioty

Sorry, I’ve solved the problem yesterday.

Hello,

Please zip up your [install-dir]/conf and [install-dir]/logs and upload them in the Wowza Account Portal when submitting a Wowza Streaming Engine support request. Please include your .stream file along with your camera video settings (screenshots). Also be sure to include this forum post as a reference.

Regards,

Mac