Wowza Community

Elecard NWRenderer RTP Provider DirectShow Filter

Elecard Codec SDK G4 (see http://www.elecard.com/products/products-pc/sdk/codec-sdk/) provides a DirectShow filter which can be used with any other DirectShow filters you have to stream audio and video over RTP. I am successfully streaming from an Hauppauge HD PVR H.264/AAC usb encoder to RTP multicast with the Elecard NWRenderer filter.

Using GraphEdit the graph is

"Hauppauge HD PVR Crossbar" >> "Hauppauage HD PVR Capture Device" >> "Hauppauage HD PVR Encoder" >> "Elecard NWRenderer" 

The saved SDP looks like this:

v=0
o=- 1266135728 5 IN IP4 10.5.26.16
s=Elecard NWRenderer
i=Elecard streaming
u=http://www.elecard.com
e=tsup@elecard.net.ru
c=IN IP4 234.5.5.5/64
m=video 10200 RTP/AVP 33
a=rtpmap:33 MP2T/90000
a=control:trackID=0

NWRenderer can also be configured to send SAP announces.

This plays great in VLC Player. I cannot get it to stream using rtp-live with this sdp file from wowza. The wowza error.log is empty when I attempt. This is what the wowza access.log files looks like:

INFO	vhost	vhost-start	2009-03-17	15:44:41	-	-	-	-	-	0.765	-	-	-	-	-	-	_defaultVHost_	-
INFO	vhost	comment	2009-03-17	15:44:41	-	-	-	-	-	0.812	-	-	-	-	-	-	_defaultVHost_	RTMP/RTMPT bind attempt ([any]:1935)
INFO	vhost	comment	2009-03-17	15:44:41	-	-	-	-	-	0.812	-	-	-	-	-	-	_defaultVHost_	Bind successful ([any]:1935)
INFO	application	app-start	2009-03-17	15:44:52	-	-	-	-	-	12.429	-	-	-	-	-	-	_definst_	rtplive/_definst_
INFO	session	connect-pending	2009-03-17	15:44:52	186527882	127.0.0.1	-	3328	3073	0.359	-	-	-	-	-	-	127.0.0.1	-
INFO	session	connect	2009-03-17	15:44:52	186527882	127.0.0.1	-	3328	3073	0.359	-	-	-	-	-	-	127.0.0.1	-
INFO	stream	create	2009-03-17	15:44:52	186527882	127.0.0.1	-	3400	3361	0.016	-	1	0	0	-	-	-	-
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.46	-	-	-	-	-	-	-	MediaStreamMediaCasterPlay: startPlay
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.476	-	-	-	-	-	-	-	RTPMediaCaster.create
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.476	-	-	-	-	-	-	-	RTPMediaCaster.init
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.476	-	-	-	-	-	-	-	RTPMediaCaster.Reconnector: start
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.476	-	-	-	-	-	-	-	RTPSessionDescriptionDataProviderBasic.getStreamInfo: C:/Program Files/Wowza Media Systems/Wowza Media Server Pro 1.7.0/content/myStream.sdp
INFO	stream	create	2009-03-17	15:44:52	-	-	-	-	-	0.0	-	2	0	0	-	-	-	-
INFO	stream	create	2009-03-17	15:44:52	-	-	-	-	-	0.0	-	2	0	0	-	-	-	-
INFO	stream	publish	2009-03-17	15:44:52	-	-	-	-	-	0.016	myStream.sdp	2	0	0	-	-	myStream.sdp	-
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.507	-	-	-	-	-	-	-	MulticastTransport.bind: 234.5.5.5/10300
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.507	-	-	-	-	-	-	-	MulticastTransport.bind: 234.5.5.5/10301
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.507	-	-	-	-	-	-	-	RTPMediaCaster.Reconnector: stop
INFO	server	comment	2009-03-17	15:44:52	-	-	-	-	-	12.522	-	-	-	-	-	-	-	MulticastTransport.firstPacket: 234.5.5.5/10300
INFO	server	comment	2009-03-17	15:47:11	-	-	-	-	-	151.439	-	-	-	-	-	-	-	MulticastTransport.firstPacket: 234.5.5.5/10301

Any caveats with the rtp-live support that I should know about to inspect the Elecard RTP packets?

Here are some of the settings I could change (any suggestions?):

Transport can be UDP, TCP, RTP/AVP, or RTP/AVP over TCP.

Address can be any multicast or unicast ip address.

H264 could be Advanced GOP 4/32/128, Simple GOP 4/32/128, Advanced No IDR GOP 4/32/0, Simple No IDR GOP 4/32/0. Constant or Variable bit rates.

Actually there a lot of settings I can tweak on both the H.264 encoder device and the RTP broadcast directshow filter.

I’d appreciate any tips you have.

UPDATE: 4/8/2008: I did get this working. The simple trick was to request a trial license to the MPEG-TS add on for Wowza Media Server. Once I added the MPEG-TS license to my install of Wowza Media Server this solution worked perfectly. In summary I used DirectShow Filters from the Hauppauge device to the Elecard NW Renderer, then Wowza Media Server ingested the RTP stream and restreamed it to flash clients. See my blog (http://sray.squidpower.com) for more details.

Please take screen shots of the settings on the encoder side and turn on debug logging and capture the debug logs and send them to me (charlie@wowza.com).

Note: If you experience problems getting either the audio or video to play through Flash, double check the version number of the Flash player (Flash player version 9.0.115.0 or above is required). If you still have problems, turn on Wowza Pro debug logging (edit [install-dir]/conf/log4j.properties and change the log4j.rootCategory on the first line from INFO to DEBUG), try the encoder several more times, zip up and send your [install-dir]/logs folder along with screen shots of the encoder setup screens and the LiveVideoStreaming player screen and send a detailed description of your problem to support@wowza.com.

Charlie

Wowza Pro can do native RTP streaming as well as MPEG2-TS. So both are supported.

Charlie

Not To RTP and MPEG2-TS

Richard

Let me clarify. You mean wowza pro can stream FROM RTP and MPEG2-TS files to RTMP flash client and it can stream TO RTP and MPEG2-TS, is that what you mean?

OK, the debug messages I am seeing in wowza say waitforend:

[PHP]DEBUG server comment 2009-03-24 16:39:38 - - - - - 12.915 - - - - - - - elecard.sdp: 16:39:38: waitforend: dropped:1

DEBUG server comment 2009-03-24 16:41:23 - - - - - 117.624 - - - - - - - rtp[trackID=0:1328] {80 21 e9 23 00 01 5f 90 2b be 3d f5 47 10 11 19 }

DEBUG server comment 2009-03-24 16:41:23 - - - - - 117.671 - - - - - - - elecard.sdp: 16:41:23: waitforend: dropped:12736[/PHP]

I am taking the TS stream (H.264/AAC) straight from the HD PVR and sending it out over RTP using the NWRenderer. Like I said it plays over the network using VLC, but Wowza cannot restream it and in fact, VLC cannot restream.

In both situations it seems that the problem is that there is no time information in the stream.

When I restream through VLC the error message is:

[PHP]main stream output warning: trying to send non-dated packet to stream output![/PHP]

So I need to figure out how to get some time information on the stream or get wowza to figure it out like VLC does for playback.

I feel like the Hauppauge HD PVR TS streams are very close to being able to be streamed to flash player. After recording to a TS (H264/AAC) file I can easily change them to an mp4 container box instead of TS and they play fine in flash. This is how easy it is to convert them w/o reencoding:

[PHP]

mp4box %1.ts -raw 4113

mp4box %1.ts -raw 4352

mp4box -fps 59.94 -add %1_pid4113.264 -add %1_pid4352_wav.aac -new %1.mp4[/PHP]

I’ve been trying to ingest from MPEG-TS (H.264/AAC) from RTP w/o much success.

Today I tried same thing, this time with UDP and used the stream name as udp://234.5.5.5:10200.

This time I got a log message:

Failed to find an appropriate depacketizer for this track (MP2T): You may not have the proper software license to use this feature. Please contact sales@wowza.com for more information.

When is the MPEG-TS license required? I only got the log message when using udp:// as the stream name and not when using an sdp file as the stream name.

Waiting for an MPEG-TS license to see if that makes any difference when ingesting MPEG-TS using sdp files or udp:// stream names.

OK, the original post I made works now. I now have the HD PVR device streaming using the Elecard NWRenderer to RTP/AVP. And Wowza is ingesting that streaming and restreaming it RTMP to flash clients!

I just needed to get an evaluation license for MPEG-TS add on and it works!

Hello,

I am from Elecard company.

It seems that you use TS streaming, not RTP elementary streams AVC+AAC.

Is it what that you need?

We just started our tests with Wowza. So far, first tests show that Elecard NWRenderer in non TS mode works normally.

For testing, you can try to connect output pins of MP4 demultiplexer or output pins of AVC/AAC encoders directly to NWRenderer and start streaming.

We will continue our testing, because we are interested in compatibility with Wowza.

And please, write here, if you have anymore results

Ivan Rodionov