H264 GeoVision IP Camera stream error

I have a GeVision BX120D IP camera, and i am unable to get it ready to work. I completed this tutorial: https://www.wowza.com/docs/how-to-re-stream-video-from-an-ip-camera-rtsp-rtp-re-streaming but when I open the LiveStream application i can not see the camera’s stream.

Actually this is what i can see on the console:

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:DESCRIBE response:RTSP/1.0 200 OK status:200 handled:false

INFO server comment - v=0

o=QTSS_Play_List 947877399359617 1 IN IP4 192.168.0.10

s=streamed by the GeoVision Rtsp Server

i=CH001.sdp

t=0 0

a=type:broadcast

a=control:*

a=range:npt=0-

a=x-qt-text-nam:streamed by the GeoVision Rtsp Server

a=x-qt-text-inf:CH001.sdp

m=video 0 RTP/AVP 96

c=IN IP4 0.0.0.0

b=AS:51200

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=42801F;sprop-parameter-sets=Z0KAH9oCgPSVIAAAfQAAB1MMCAABqz8AADVn5e98LwiEag==,aM48gA==

a=control:track1

m=audio 0 RTP/AVP 0

c=IN IP4 0.0.0.0

b=AS:500

a=control:track2

INFO server comment - DESCRIBE: SDP: trackCount:2 trackNames:[track1,track2,header]

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: SETUP: rtsp://192.168.0.10/CH001.sdp/track1

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:SETUP

SETUP rtsp://192.168.0.10/CH001.sdp/track1 RTSP/1.0

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

CSeq: 3

INFO server comment - *** RTSPMessageReceive ***

RTSP/1.0 200 OK

response: OK

protocol: RTSP/1.0

session: 77034835

transport: RTP/AVP/TCP;unicast;destination=192.168.0.187;source=192.168.0.10;interleaved=0-1

cseq: 3

status: 200

date: Fri, Jan 14 2000 19:28:30 GMT

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 - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: SETUP: rtsp://192.168.0.10/CH001.sdp/track2

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:SETUP

SETUP rtsp://192.168.0.10/CH001.sdp/track2 RTSP/1.0

Session: 77034835

Transport: RTP/AVP/TCP;unicast;interleaved=2-3

CSeq: 4

User-Agent: Wowza Media Server Pro (Wowza Media Server 2 Developer 2.2.4 build27452)

INFO server comment - *** RTSPMessageReceive ***

RTSP/1.0 200 OK

response: OK

protocol: RTSP/1.0

session: 77034835

transport: RTP/AVP/TCP;unicast;destination=192.168.0.187;source=192.168.0.10;interleaved=2-3

cseq: 4

status: 200

date: Fri, Jan 14 2000 19:28:30 GMT

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=QTSS_Play_List 947877399359617 1 IN IP4 192.168.0.10

s=streamed by the GeoVision Rtsp Server

i=CH001.sdp

t=0 0

a=type:broadcast

a=control:*

a=range:npt=0-

a=x-qt-text-nam:streamed by the GeoVision Rtsp Server

a=x-qt-text-inf:CH001.sdp

m=video 0 RTP/AVP 96

a=proto:RTP/AVP/TCP;interleaved=0-1

b=AS:51200

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=42801F;sprop-parameter-sets=Z0KAH9oCgPSVIAAAfQAAB1MMCAABqz8AADVn5e98LwiEag==,aM48gA==

a=control:track1

m=audio 0 RTP/AVP 0

a=proto:RTP/AVP/TCP;interleaved=2-3

b=AS:500

a=control:track2

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPData: sessionId:77034835 sessionTimeout:0

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/definst]: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create - -

INFO stream publish camera.stream -

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionStart: PLAY: rtsp://192.168.0.10/CH001.sdp

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: PLAY: rtsp://192.168.0.10/CH001.sdp/

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.send: command:PLAY

PLAY rtsp://192.168.0.10/CH001.sdp/ RTSP/1.0

Session: 77034835

CSeq: 5

Range: npt=0.000-

INFO server comment - RTPMediaCaster.Reconnector[19140890:live/definst:camera.stream]: done: 53

INFO server comment - *** RTSPMessageReceive ***

RTSP/1.0 200 OK

response: OK

protocol: RTSP/1.0

range: npt=0.000-

session: 77034835

cseq: 5

status: 200

date: Fri, Jan 14 2000 19:28:30 GMT

uri: RTSP/1.0 200 OK

rtp-info: url=rtsp://192.168.0.10/CH001.sdp/track1;seq=56953;rtptime=1195809503,url=rtsp://192.168.0.10/CH001.sdp/track2;seq=32389;rtptime=3613661636

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: command:PLAY response:RTSP/1.0 200 OK status:200 handled:false

INFO server comment - senderReport[RTP-Info]: track1

INFO server comment - senderReport[RTP-Info]: track2

INFO server comment - LivePlayer.play[live/definst/camera.stream]: Dynamic Stream Markers are on.

INFO server comment - firstPacket: TCP:$2

INFO server comment - firstPacket: TCP:$3

INFO server comment - firstPacket: TCP:$0


This is my config:

true

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer

nalUnitFilter

13

Integer

cupertinostreaming,smoothstreaming,sanjosestreaming

-1

*

*

*

*

digest

none

senderreport

12000

75

90000

0

0.0.0.0

127.0.0.1

*

rtpIgnoreProfileLevelId

true

Boolean

forceInterleaved

true

Boolean

callFCSubscribe

true

Boolean

rtspValidationFrequency

0

Integer

rtspFilterUnknownTracks

true

Boolean

debugRTSPSession

true

Boolean

base

Base

com.wowza.wms.module.ModuleCore

properties

Properties

com.wowza.wms.module.ModuleProperties

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

Is there somebody who could help me ? Thanks a lot for anything

I saw in the specs:

G.711, AAC (16 kHz / 16 bit)

  • AAC is only supported by GV-System V8.5 or later

Are you sure the camera is set to H.264/AAC?

What version of Wowza are you using? Try it with the latest release, Preview 5 patch 1:

https://www.wowza.com/wowza-server-3-preview.php

https://www.wowza.com/forums/showthread.php?13957-Wowza-Media-Server-3-Preview-Patches

If still a problem, if you can, put the camera on a public IP and send a link to support@wowza.com. Include a link to this thread for reference.

Richard

Is the Geo IP camera on a public IP? If so, send rtsp URL of the camera to support@wowza.com

Also zip up and send the conf and logs folders.

Include a link to this thread for reference.

Richard

Okay, but access to the stream might be necessary.

Richard

There is an open ticket for this issue already. I have looked at it and am getting same, audio only. We will proceed through the open ticket

Richard

Hello,

There is a second way of streaming HD GeoVision IP cameras through Wowza.

Here is the link to Linux Based SW Aminis simple transcoder which provide GeoVision cameras (4/6 depends of the PC CPU) (also it support Bosch and Panasonic HD IP cameras) video stream capture. Coding 10x. (from 6 Mbp/s to 650 kbp/s). Also it provide synchronization of Linear audio from PC/or from camera with any IP video. You may connect 4/6 cameras to system and than make video switching (audio still synchronized)

http://www.videobits.net/en/aminis-simple-transcoder/aminis-simple-transcoder-overview

Murray,

Can you post your Wowza console output or your access logs from when you start the camera stream in StreamManager and when you play it in your Flash player? Thanks.

Murray,

So it looks like you’re encoding in H.264 Baseline level 4.0, AAC audio.

Try playing the stream coming out of Wowza in VLC: rtsp://[wowza-address]:1935/live/camera.stream

If this works, then it is likely the camera’s encoding is not compatible with flash. You could try adjusting the settings on your camera, or consult your camera manufacturer to produce a stream that is compatible. You could try upgrading your version of flash. You could try transcoding using the Wowza 3 transcoder, vlc, fgmpeg, etc…

Also, take a look at the last post in this thread: Force-a-non-compliant-H.264-live-stream-to-use-Baseline-level-3-profile.

Have you tried the solution I posted? “Force a non-compliant stream”.

razjel,

Please post the URL you enter into VLC to play the stream.

Also, post the complete codec information you see when you go to Tools-Codec Information, in VLC.

Thanks for the clarification razjel. I see a couple options:

  1. You may be able to use the Wowza Transcoder to transcode mu-law to AAC. Info here: https://www.wowza.com/docs/wowza-transcoder

  2. You may be able to configure the camera to output AAC. Possibly with a firmware upgrade as mentioned previously in this thread.

  3. Have the camera not send the audio portion of the stream.

For options 2 and 3, this is something you’d have to figure out from your camera documentation or your manufacturer’s support resources.

One more thing razjel,

If you use the Wowza transcoder, in your transcoder template you can set the Audio/Codec property to “disable”.

Hi

In your log file you should see parameters relating to h.264, this should be baseline 3.0

Jason

I saw in the specs:

G.711, AAC (16 kHz / 16 bit)

  • AAC is only supported by GV-System V8.5 or later

Are you sure the camera is set to H.264/AAC?

Yes the camera is set to H.264/AAC

If i start the stream i can see theese information on the console :

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Audio codec:AAC isCompatible:true

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Video codec:H264 isCompatible:true

I can hear the voice but i can not see anything in the player. So the connection between the media server and camera is OK.

What version of Wowza are you using? Try it with the latest release, Preview 5 patch 1:

https://www.wowza.com/wowza-server-3-preview.php

https://www.wowza.com/forums/showthread.php?13957-Wowza-Media-Server-3-Preview-Patches

If still a problem, if you can, put the camera on a public IP and send a link to support@wowza.com. Include a link to this thread for reference.

Richard

I updated to this version, but the same result. I can hear the sound, but i can not see anything in the player. The encoding is H.264.

We are trying to solve to put the camera on a public IP, but it may take some days or even a week.

Thanks for your reply.

Hey, I have tried everything you mentioned, but the problem still exists.

I opened the stream - that wowza restream: rtsp://[wowza-address]:1935/live/camera.stream - from vlc player, but the result is the same. I can hear the camera’s microphone but no video is avialable.

I have managed to put a camera on a public IP. It is accessible here: rtsp://admin:admin@80.98.86.137:554/CH001.sdp

This is the camera that we would like to use: http://www.geovision.com.tw/english/prod_gvipcamh264220d.asp

We would really like to use the wowza media server, so i am waiting any solution.

Thanks for any help!

Hey!

I have a solution, but the problem is with the camera and not with the wowza media server. I wrote to the gevision team and I got the following response that solved my problem.

There is beta firmware for you, please verify the result for RTSP with your browser.

ftp://pearl:pearl@geo-demo-japan.dipmap.com/GV-BX220_V107_111111_32M.img

There is a software on the geovision’s camera cd: GV IP Device utility.

Install it than find your camera. Double click on your camera and in the middle of the window select the second tab: “Firmware upgrade”. Choose the image file that you downloaded from the web, and upgrade the firmware of the camera.

It takes as about 2 minutes, but use UPS during the upgrade.

Have a fun.

Hi Gabor - I am having the same problem - Did you get it fixed? - Thanks Murray

Hi Randal

This is the file after publishing but before playing:

INFO server comment - Java Args[2]: -Dcom.wowza.wms.runmode=standalone

INFO server comment - Java Args[3]: -Dcom.wowza.wms.native.base=win

INFO server comment - Java Args[4]: -Dcom.wowza.wms.ConfigURL=

INFO server comment - Java GC[0]: Copy

INFO server comment - Java GC[1]: MarkSweepCompact

INFO server comment - Server runmode: standalone

INFO server comment - Server native.platform: win

INFO server comment - Server threads[h/t]: 10/10

INFO server comment - CMDInterface now listening: [any]:8083

INFO vhost vhost-start defaultVHost -

INFO server comment - defaultVHost threads[h/t]:120/80 home:C:/Program Files/W

owza Media Systems/Wowza Media Server 3.0.2

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 server comment - RTPMediaCaster.create[30254491]

INFO server comment - RTPMediaCaster.init[30254491]

INFO server comment - RTPMediaCaster.Reconnector[30254491:live/definst:camera.

stream]: start: 1

INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successful

ly started [live/definst]: flv:camera.stream

INFO server comment - RTPSessionTracker.add[rtsp://192.168.1.26:8554/CH001.sdp]:

1

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: SETUP: rtsp://192.168.1.26:8554/CH001.sdp/track1

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: SETUP: rtsp://192.168.1.26:8554/CH001.sdp/track2

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPD

ata: sessionId:1FFDEC90 sessionTimeout:0

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/

definst]: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create - -

INFO stream publish camera.stream -

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionSt

art: PLAY: rtsp://192.168.1.26:8554/CH001.sdp

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: PLAY: rtsp://192.168.1.26:8554/CH001.sdp/

INFO server comment - RTPMediaCaster.Reconnector[30254491:live/definst:camera.

stream]: done: 1

INFO server comment - senderReport[RTP-Info]: track1

INFO server comment - senderReport[RTP-Info]: track2

INFO server comment - firstPacket: TCP:$0

INFO server comment - LiveStreamPacketizerSanJose.init[live/definst/camera.str

eam]: chunkDurationTarget: 10000

INFO server comment - LiveStreamPacketizerSanJose.init[live/definst/camera.str

eam]: chunkDurationTolerance: 500

INFO server comment - LiveStreamPacketizerSanJose.init[live/definst/camera.str

eam]: playlistChunkCount:4

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: sanjosestreamingpacketizer:camera.stream

INFO server comment - SanJosePacketHandler.startStream[live/definst/camera.str

eam]

INFO server comment - LiveStreamPacketizerSanJose.handlePacket[live/definst/ca

mera.stream]: Video codec: H264

INFO server comment - LiveStreamPacketizerCupertino.init[live/definst/camera.s

tream]: chunkDurationTarget: 10000

INFO server comment - LiveStreamPacketizerCupertino.init[live/definst/camera.s

tream]: chunkDurationTolerance: 500

INFO server comment - LiveStreamPacketizerCupertino.init[live/definst/camera.s

tream]: audioGroupCount: 3

INFO server comment - LiveStreamPacketizerCupertino.init[live/definst/camera.s

tream]: playlistChunkCount:3

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: cupertinostreamingpacketizer:camera.stream

INFO server comment - CupertinoPacketHandler.startStream[live/definst/camera.s

tream]

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: smoothstreamingpacketizer:camera.stream

INFO server comment - firstPacket: TCP:$2

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Video codec:H264 isCompatible:true

INFO server comment - LiveStreamPacketizerSmoothStreaming.startStream[live/_defi

nst_/camera.stream]

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Audio codec:AAC isCompatible:true

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream][avc1.66.40]: H.264 (Video may not be playable on older iPhone and

iPod touch devices where Baseline/Level 3.0 or lower is required) Video info: {

H264CodecConfigInfo: profile: “Baseline”, level: 4.0, frameSize: 640x512, displa

This is the file after playing:

tream]: audioGroupCount: 3

INFO server comment - LiveStreamPacketizerCupertino.init[live/definst/camera.s

tream]: playlistChunkCount:3

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: cupertinostreamingpacketizer:camera.stream

INFO server comment - CupertinoPacketHandler.startStream[live/definst/camera.s

tream]

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Video codec:H264 isCompatible:true

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream][avc1.66.40]: H.264 (Video may not be playable on older iPhone and

iPod touch devices where Baseline/Level 3.0 or lower is required) Video info: {

H264CodecConfigInfo: profile: “Baseline”, level: 4.0, frameSize: 640x512, displa

ySize: 640x512}

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: smoothstreamingpacketizer:camera.stream

INFO server comment - LiveStreamPacketizerSmoothStreaming.startStream[live/_defi

nst_/camera.stream]

INFO server comment - firstPacket: TCP:$2

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/

camera.stream]: Audio codec:AAC isCompatible:true

INFO server comment - LiveStreamPacketizerSanJose.handlePacket[live/definst/ca

mera.stream]: Audio codec: AAC

INFO server comment - firstPacket: TCP:$1

INFO server comment - firstPacket: TCP:$3

INFO server comment - LiveStreamPacketizerSmoothStreaming.handlePacket[live/_def

inst_/camera.stream]: Fragment durations: [1.0,0.9,1.0]

INFO server comment - LiveStreamPacketizerSmoothStreaming.flushPendingVideo: Bit

rate[live/definst/camera.stream]: 376078

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:0 count:15 duration:1033

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:1 count:15 duration:999

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:2 count:15 duration:1016

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:3 count:15 duration:1017

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:1 a/v/k:0/91/6 duration:6097

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:4 count:15 duration:1016

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:1 a/v/k:0/90/6 duration:6097

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:5 count:15 duration:1016

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:6 count:15 duration:1016

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:7 count:15 duration:1016

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:8 count:15 duration:1022

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:9 count:15 duration:1011

INFO server comment - LiveStreamPacketizerSmoothStreaming.addFragment[live/_defi

nst_/camera.stream]: Add chunk: type:video id:10 count:15 duration:1016

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:2 a/v/k:0/136/9 duration:9145

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:2 a/v/k:0/135/9 duration:9145

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:3 a/v/k:0/151/10 duration:10162

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:3 a/v/k:0/150/10 duration:10162

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:4 a/v/k:0/151/10 duration:10162

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:4 a/v/k:0/150/10 duration:10162

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:5 a/v/k:0/151/10 duration:10162

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:5 a/v/k:0/150/10 duration:10162

INFO session connect-pending 127.0.0.1 -

INFO session connect 127.0.0.1 -

INFO stream create - -

INFO stream play camera.stream -

INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/definst/came

ra.stream]: Add chunk: id:6 a/v/k:0/151/10 duration:10162

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/ca

mera.stream]: Add chunk: id:6 a/v/k:0/150/10 duration:10162

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose

INFO server comment - RTPSessionTracker.remove[rtsp://192.168.1.26:8554/CH001.sd

p]: 0:true

Thanks Murray