Re-streaming TrendNet TV-IP422 Cameras

Hello,

I am trying to re-stream Trendnet TV-IP422 cameras to a website using a flash player.

My question is, what am I doing wrong? Will my cameras work? Any help is greatly appreciated.

Here are the details…

The cameras support RTSP. I used VLC to check the codec. It says MPEG4 but doesn’t specifically say MPEG4 Part 10.

Camera URL I’m using: rtsp://192.168.0.93:8182/mpeg4

I’ve loaded Wowza Development Edition (I need to test it before I buy it) on a test server running Windows Server 2008 R2.

I created a file called camera.stream in the “%InstallDir%/Content” folder. In that file I have only the URL “rtsp://192.168.0.93:8182/mpeg4” (no quotes)

I installed the examples that came with the installation. In my conf folder I have subfolders for Live and RTPLive.

I went to my streammanager and under live, I added my stream Camera.stream and chose “rtp”.

When I try to view the RTPlive stream using the example web page “LiveVideoStreaming/client/live.html” I put in…

Server: rtmp:///rtplive

Stream: Camera.Stream

…nothing happens on the browser. On my server error logs I get this:

#Fields: x-severity	x-category	x-event	date	time	c-client-id	c-ip	c-port	cs-bytes	sc-bytes	x-duration	x-sname	x-stream-id	x-spos	sc-stream-bytes	cs-stream-bytes	x-file-size	x-file-length	x-ctx	x-comment
WARN	server	comment	2011-01-20	12:21:40	-	-	-	-	-	74.392	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:21:40	-	-	-	-	-	74.908	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1642743903
WARN	server	comment	2011-01-20	12:21:40	-	-	-	-	-	74.908	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -206042090
WARN	server	comment	2011-01-20	12:21:40	-	-	-	-	-	75.173	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1871433462
WARN	server	comment	2011-01-20	12:21:41	-	-	-	-	-	75.345	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -320945706
WARN	server	comment	2011-01-20	12:21:41	-	-	-	-	-	75.345	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1001493284
WARN	server	comment	2011-01-20	12:21:41	-	-	-	-	-	75.439	-	-	-	-	-	-	-	-	LiveStreamPacketizerCupertino.handlePacket[live/_definst_/camera.stream][avc1.1.62]: H.264 Video encoding settings are beyond iPhone/iPod touch recommendations (Baseline/3.0): {H264CodecConfigInfo: profile: "1", level: 6.2, frameSize: 48x16, displaySize: 48x16}
WARN	server	comment	2011-01-20	12:21:43	-	-	-	-	-	77.439	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:21:46	-	-	-	-	-	80.58	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:21:49	-	-	-	-	-	83.627	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:21:52	-	-	-	-	-	86.736	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:21:55	-	-	-	-	-	89.768	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:21:58	-	-	-	-	-	92.846	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:01	-	-	-	-	-	95.861	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:04	-	-	-	-	-	98.877	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:07	-	-	-	-	-	101.987	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:22:10	-	-	-	-	-	105.018	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:13	-	-	-	-	-	108.206	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:22:16	-	-	-	-	-	111.237	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:20	-	-	-	-	-	114.315	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
ERROR	server	comment	2011-01-20	12:22:22	-	-	-	-	-	117.018	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: java.lang.ArrayIndexOutOfBoundsException: 28
WARN	server	comment	2011-01-20	12:22:23	-	-	-	-	-	117.315	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:22:26	-	-	-	-	-	120.315	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:22:29	-	-	-	-	-	123.409	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:32	-	-	-	-	-	126.44	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:35	-	-	-	-	-	129.581	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:38	-	-	-	-	-	132.581	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:41	-	-	-	-	-	135.628	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:22:44	-	-	-	-	-	138.675	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:47	-	-	-	-	-	141.769	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:22:50	-	-	-	-	-	144.816	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:53	-	-	-	-	-	147.941	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:22:54	-	-	-	-	-	149.207	-	-	-	-	-	-	-	-	RTPPacket.write: Bad packet: Incomplete NAL Units.
WARN	server	comment	2011-01-20	12:22:56	-	-	-	-	-	150.816	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:22:56	-	-	-	-	-	151.019	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:57	-	-	-	-	-	151.613	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1981765732
WARN	server	comment	2011-01-20	12:22:57	-	-	-	-	-	151.613	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1614761191
WARN	server	comment	2011-01-20	12:22:57	-	-	-	-	-	151.613	-	-	-	-	-	-	-	-	RTPPacketFragmentListReader.skip: Bad skip count: -1231594719
WARN	server	comment	2011-01-20	12:22:57	-	-	-	-	-	151.894	-	-	-	-	-	-	-	-	LiveStreamPacketizerCupertino.handlePacket[rtplive/_definst_/camera.stream][avc1.252.161]: H.264 Video encoding settings are beyond iPhone/iPod touch recommendations (Baseline/3.0): {H264CodecConfigInfo: profile: "252", level: 16.1, frameSize: 1552x32, displaySize: 1552x32, mbAFF: true}
ERROR	server	comment	2011-01-20	12:22:59	-	-	-	-	-	153.675	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: java.lang.ArrayIndexOutOfBoundsException: 2924
WARN	server	comment	2011-01-20	12:22:59	-	-	-	-	-	153.941	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
WARN	server	comment	2011-01-20	12:22:59	-	-	-	-	-	154.066	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:23:02	-	-	-	-	-	157.066	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:23:02	-	-	-	-	-	157.191	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-24
WARN	server	comment	2011-01-20	12:23:05	-	-	-	-	-	160.144	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: MTAP-16
WARN	server	comment	2011-01-20	12:23:06	-	-	-	-	-	160.582	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: STAP-B
WARN	server	comment	2011-01-20	12:23:08	-	-	-	-	-	163.16	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported packet type: FU-B
ERROR	server	comment	2011-01-20	12:23:08	-	-	-	-	-	163.191	-	-	-	-	-	-	-	-	RTPDePacketizerRFC3984H264.handleRTPPacket: java.lang.ArrayIndexOutOfBoundsException: 28

RTPLive/Application.xml

<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>
			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater -->
			<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>
		<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming -->
		<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>
			<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
			<Properties>
				<Property>
				    <Name>forceInterleaved</Name>
				    <Value>true</Value>
				    <Type>Boolean</Type>
				</Property>			
			</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>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 defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
		<Properties>
		</Properties>
	</Application>
</Root>

This camera will not work with Wowza server directly. MPEG-4 Part 2 is not supported. It needs to be transcoded to MPEG-4 Part 10 (aka H.264/AVC).

Alex

Ok I thought that might be the issue but wasn’t certain. Thanks for the info!

Thanks rmachle. I already had the code to make that part work. My goal was to specifically use flash because I’m dealing with end users that need it to be as simple as possible. Basically trying to make it as easy as going to youtube to watch a video.

With the exception that the end user needs to have java installed, this code seems to work.

<object

classid = “clsid:CAFEEFAC-0015-0000-0012-ABCDEFFEDCBA”

codebase = “http://java.sun.com/update/1.5.0/jinstall-1_5_0_12-windows-i586.cab#Version=5,0,120,4

width = “640” height = “480” name = “ucx” >

<embed

type = “application/x-java-applet” \

code = “ultracam.class”

archive = “ultracam.jar”

name = “ucx”

width = “640”

height = “480”

accountcode =“YWRtaW46cnBtMjU4MA==”

codebase =“http://XXX.XXX.XXX.XXX:80/admin

mode =“0”

scriptable = false

pluginspage = “http://java.sun.com/products/plugin/index.html#download”>

Be sure to change the PUBLIC IP Address. This also only works with a fixed ip address.