Digital Rapids

gtomas, I’m using digitalrapids encoders in conjunction with wowza.

These are the settings I’m using to stream to the iPhone using DR’s AVC live codec:

Video:

480 X 320

Baseline

Level 3

25 FPS

118K CBR

PAL

Fixed GOP Size

Key frame Interval: 3

Closed GOP

Audio:

Profile: Standard

AOT: High efficiency

Mode: Streaming

Bitrate: 32000

Sample rate: 44100

Chanels: Stereo

Multipass: Single-pass

Stream type: ADTS

These settings are used for the medium quality feed, I’m also running an audio only @ 32K and a higher quality feed @ 300K.

Let me know if you encounter any stability issues, one thing I have noticed is that the audio only stream for the iphone is occasionally in a stopped state, I’ve rectified this by implemnting digital rapids restartstreams.exe. Are you pushing your stream or doing a pull?

Hello All,

Can someone post the model number of the digital rapids encode they have working?

Thanks

Austin

Great, thanks! We have one arriving next week that we’d like to use with Wowza.

Regards,

Goran Tomas

Thanks! I was able to have the Digital Rapids unit stream to Wowza quickly and easily, both using RTMP and RTP. I had to switch to RTP because DR doesn’t support authentication over RTMP yet…

Regards,

Goran Tomas

We have been pushing the stream (to Wowza) and so far used both audio and video.

Regards,

Goran Tomas

We are using TouchStream Web.

Regards,

Goran Tomas

Do you have a walkthrough on setting up the WOWZA media server to accept the Digital Rapids. I am getting a Application context not loaded error.

Also on the output of the Digital Rapids are you using RTP or HTTP as the source.

i.e. http://servername/application/

Thanks for the info. I am working on a tutorial here:

https://www.wowza.com/forums/showthread.php?t=9413

It is not complete as of yet but should be soon.

Charlie

I’m having a hell of a time getting a touchstream web with the latest digital rapids live stream software (3.3.3) to play nice with a wowza server. I’m hoping that if you ever ended up finishing that tutorial, it might point me in the right direction.

Just in case anyone else has set one up before, I’m shooting to send an AVC for web encoded video stream using rtp to a wowza server I have set up on a dedicated server. I have wowza working, and it appears to connect, (shows this on the server:)

INFO stream publish liveStream.sdp -
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6976
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6977
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6982
INFO server comment - RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6983
INFO rtsp publish 1677100016 -

I used the stream manager to add a new stream, using the sdp file generated on the touchstream box which I then uploaded to the wowza server to /content.

When I try to connect with the flash example it seems to connect, but doesn’t show anything, and when I try to connect with the iPhone, I get this mess:

WARN server comment - HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/liveStream.sdp/playlist.m3u8]: liveStream.sdp
WARN server comment - HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/liveStream.sdp/playlist.m3u8]: liveStream.sdp

Obviously playlist.m3u8 isn’t being generated, but I have no idea why.

I have a feeling that it may have to do with the digital rapids software, so here’s how I have it set up:

Broadcast Push Settings:

√ Use automatic unicast (Announce) - server required to start stream

Port for server commands: 1935

SDP file name (file generated on server): live/liveStream.sdp

√ Server requires authentication

(username and password set in conf/publish.password)

√ Create SDP file: liveStream.sdp - (This is the file that I copied to /content)

server IP address: (My server’s IP)

Any ideas?

Hey, thanks a bunch for the help. I unfortunately am still having some issues. I have been using the document you attached as a guide to try to test out the streaming, but I can’t get it going for the life of me.

Just to try to remove as many variables as possible, I have turned off announce, and used the Application.xml that was provided in the docs instead of just changing the default one, in hopes that it was a small syntax error or something.

I also noticed that in the sdp file, it was using port 20000 for video, so I changed that to port 1935, but that hasn’t helped either.

I can get the flash demo to try to connect, and it appears to succeed, but it doesn’t show anything.

When I try to connect with an iPhone, I get this message on the server:

INFO cupertino connect 1951372870 -

INFO stream create liveStreaming.sdp -

WARN server comment - HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/liveStreaming.sdp/playlist.m3u8]: liveStreaming.sdp

WARN server comment - HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/liveStreaming.sdp/playlist.m3u8]: liveStreaming.sdp

This part is the most unsettling, because if it’s even somewhat working in flash, I would expect the same for the iPhone. I’m using the same url provided in the document you posted, so I’m fairly confident that it’s the right place, but just to be sure, I tried all sorts of combinations of adding and subtracting parts of the url, adding definst, replacing liveStreaming.sdp with definst… all sorts of stuff, but I always get a similar error.

I believe I have the stream running correctly, as the server every so often spits out these notifications:

INFO server comment - RTPMediaCaster.Reconnector[2098880464:live/definst:liveStreaming.sdp]: start: 78

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/definst]: /usr/local/WowzaMediaServer/content/liveStreaming.sdp

INFO stream create - -

INFO stream publish liveStreaming.sdp -

INFO server comment - RTPUDPTransport.bind[live/definst]: /XXX.XXX.XXX.XXX:1935

INFO server comment - RTPUDPTransport.bind[live/definst]: /XXX.XXX.XXX.XXX:1936

INFO server comment - RTPMediaCaster.Reconnector[2098880464:live/definst:liveStreaming.sdp]: done: 78

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

INFO server comment - RTPMediaCaster.resetConnection[2098880464:live/definst:liveStreaming.sdp]:

INFO server comment - RTPMediaCaster.closeRTPSession[2098880464:live/definst:liveStreaming.sdp]

INFO server comment - RTPUDPTransport.unbind[live/definst]: /XXX.XXX.XXX.XXX:1935

INFO server comment - RTPUDPTransport.unbind[live/definst]: /XXX.XXX.XXX.XXX:1936

INFO stream unpublish liveStreaming.sdp -

INFO stream destroy liveStreaming.sdp -

I’m not sure what these mean, and it kind of looks like it’s restarting the stream every 30 seconds or so, but I honestly have no clue what’s going on. Could these be what’s causing the problem?

Just to be thorough, Here’s the liveStreaming.sdp file that is in content/:

v=0

o=streamer 1292453149 1292453157 IN IP4 10.0.1.108

s=Session Streamed by Digital Rapids Corp Stream Server

t=0 0

a=type:broadcast

c=IN IP4 XXX.XXX.XXX.XXX/15

m=video 1935 RTP/AVP 96

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=42E020;sprop-parameter-sets=J0LgIJZUBaHt/4AEAASgQAAA+kAAOpgh,KM4GDMg=

a=cliprect:0, 0, 720, 480

a=control:trackID=1

(just for clarification, all XXX.XXX.XXX.XXX IPs match, and are my server.)

Hey, so it turns out that I had everything set up right, but the local internet at my office was blocking some ports, and the stream wasn’t reaching the server. I took it home, and I now have it streaming to flash just fine, but the iPhone stream is SUPER jittery, it jumps forward, fast forwards, and is altogether an unusable stream. I thought that my home connection might be the problem, so I tried dropping the stream size and quality to 160x120, @ 256k, but it still plays fine in flash, and has serious problems on the iphone.

I’ve opened every port I can think of - 8084,8085,8086,1936,1935,20000,20002,443,80,554,8000 are all open for tcp, and I opened udp ports 6970-9999.

Being that the iphone stuff runs on the same port as rtmp, it doesn’t make sense to me that the iPhone stream would be as horrible as it is. I’ve tried running it on the iOS emulator just to see if it’s my phone, but that does the exact same thing, so I think the problem is with the server. I’m running out of things to try, could GOP size be effecting it or something?

Ok, so after a bunch of headache, I’ve got it all working correctly.

Just in case someone trying to set up a DR encoder stumbles across this thread, here’s what worked for me:

  1. I set up an application in wowza exactly as described here: https://www.wowza.com/docs/how-to-set-up-live-streaming-using-a-native-rtp-encoder-with-sdp-file

  2. I used the touchstream encoder (Digital Rapids AVC for web, I believe) to output a baseline 3.0 stream. I played with the bitrate, but didn’t run into any problems even over 2000kbps, so that shouldn’t have any effect.

  3. I set the output to a flash media server, not sdp file. This is where I got hung up for so long, sdp sort of works, but the fms output is WAY simpler and works on iOS devices. I set the url to rtmp://<server_url>//, and set the stream name to whatever I wanted. I hear that if you’re using authentication, instead of using DR’s built in username and password boxes, you have to append it to the url string. I’m not using this at the moment, so I don’t have any findings, outside of that I’m pretty sure the built in authentication isn’t going to work out of the box.

the url you would connect to with flash is rtmp://<server_url>/<application_name>, and you would set it to play the stream name specified in the encoder.

with an iPhone, the url would be http://<server_url>:1935/<application_name>/<stream_name>/playlist.m3u8

That’s it! Everything works wonderfully, the stream is sexy smooth.

Hopefully someone out there can benefit from my struggle with this box, DR sure doesn’t have any documentation anywhere, and it makes using their hardware pretty difficult…

Be sure you upgrade to Wowza 2.2.3. It should resolve this issue. It was a timecode resolution issue with RTP incoming streaming.

Charlie

Oddly enough, I’m definitely using 2.2.3, as I set up the server < 2 weeks ago, but as noted in my last post, I’ve got it working by using the output to fms option. Thanks for the help though!