How to record from DSTV Drifta?

jxharding

Expert Member
Joined
May 4, 2006
Messages
1,629
Reaction score
3
any software i can use to record something showing on DSTV Drifta on my PC?
 
Take a look at Post #126 for some ideas ...
http://mybroadband.co.za/vb/showthread.php/289373-DSTV-Drifta?p=5198631&viewfull=1#post5198631

You might be able to access the Drifta using VLC. Try this first using a transponder/multiplex frequency of 582000 kHz ...
http://www.izitips.com/software/how-to-watch-dvb-t-with-vlc-media-player/

If you don't have any luck use a text editor to make an SDP file (*.sdp) containing the four lines of text below and try to open this using VLC. Replace 5434 with the correct streaming port as explained in the Port identification link in #126 above and 192.168.0.200 with the IP address of the Drifta. Let us know if you have any success ...

v=0
m=video 5434 RTP/AVP 96
c=IN IP4 192.168.0.200
a=rtpmap:96 H264/90000

http://blog.pclewis.com/2010/02/streaming-nokia-n900-camera-to-vlc/
http://www.videolan.org/doc/streaming-howto/en/ch12.html
 
Last edited:
I did a netstat while the drifta application was running. I saw the TCP port 544 and 9144 was used. There was alot of 9144's listening. Haven't tried using VLC yet. Would be cool if we can get it working, when maybe it can run on Linux...
 
I did a netstat while the drifta application was running. I saw the TCP port 544 and 9144 was used. There was alot of 9144's listening. Haven't tried using VLC yet. Would be cool if we can get it working, when maybe it can run on Linux...

544 -> rtsp?
 
Is that port number definitely 544 and not 554 (default RTSP port)? You could try to capture any RTSP data being sent to that port using Windump. You may be able to capture something useful from the Session Description Protocol (SDP).
http://www.winpcap.org/windump/
Replace the command tcpdump (linux) with windump and use port 544 instead of 554 ...
http://tiptopsoftware.wordpress.com/2007/01/03/useful-tcpdump-command-to-see-traffic-on-a-network/

I can post some sample DVB-H RTP packets which you could use to compare with the stream from port 9144 if there is any interest. You could also try to capture the RTP stream from port 9144 using rtpdump and then replay it to port 9144 using rtpplay to see if the Drifta software can decode it again correctly.
 
Last edited:
DSTV Drifta RTSP protocol (thus far)

OK this is what I have so far:

telnet to 192.168.16.30 (or what ever your drifta ip is) on port 9941
GET /tvnb?op=handshake&clientid=00:19:79:65:46:54 HTTP/1.1 //get the session id
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=battery HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=signal_quality HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=charge HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=getparam&name=AUTOSHUTDOWN_TIMEOUT HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=device_id HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=channellist&withrating=1 HTTP/1.1

// returns this:
1_1_cbms://thomson.net/service/108|00|3|1|||16|1|en|Africa Magic
1_1_cbms://thomson.net/service/109|00|3|1|||0|1|en|Channel O
1_1_cbms://thomson.net/service/107|00|3|1|||0|1|en|Trace TV
1_1_cbms://thomson.net/service/110|00|3|1|||0|1|en|eNews
1_1_cbms://thomson.net/service/104|00|3|1|||0|1|en|SuperSport Blitz
1_1_cbms://thomson.net/service/101|00|3|1|||0|1|en|SuperSport 1
1_1_cbms://thomson.net/service/103|00|3|1|||0|1|en|SuperSport 2
1_1_cbms://thomson.net/service/102|00|3|1|||0|1|en|SuperSport 3
1_1_cbms://thomson.net/service/106|00|3|1|||0|1|en|Cartoon Network


GET /tvnb?sessionid=5400460065b8798a19&op=ch_logo_bundle HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=platform_id HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=programguide&ch=1_1_cbms://thomson.net/service/108&withrating=1 HTTP/1.1 // get each channel info
GET /tvnb?sessionid=5400460065b8798a19&op=status&type=info HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=programguide&ch=1_1_cbms://thomson.net/service/109&withrating=1 HTTP/1.1
GET /tvnb?sessionid=5400460065b8798a19&op=receive&ch=1_1_cbms://thomson.net/service/101&transport=RTP_TUNNEL HTTP/1.1

GET /tvnb?sessionid=5400460065b8798a19&op=cas_events&view=1_1_cbms://thomson.net/service/101 HTTP/1.1
Host: 192.168.16.30:9941


So you can then connect VLC to this url:
http://192.168.16.30:9941//tvnb?ses.../thomson.net/service/101&transport=RTP_TUNNEL

And telnet to 192.168.16.30 port 554 and start the video stream:
OPTIONS rtsp://192.168.16.30/stream/ RTSP/1.0

DESCRIBE rtsp://192.168.16.30/stream/ RTSP/1.0

SETUP rtsp://192.168.16.30/stream/audio RTSP/1.0
Transport: RTP/AVP;unicast;client_port=56742-56743

SETUP rtsp://192.168.16.30/stream/video RTSP/1.0
Transport: RTP/AVP;unicast;client_port=53384-53385

PLAY rtsp://192.168.16.30/stream/ RTSP/1.0

Think you just need the play command.
VLC then starts to see data but there are timing issues I have not figured.

Happy Christmas :D
 
Oh and by the way the plan is not to record from the device but to get a native picture on MAC.
Not sure why you would want to record such a low res pic anyway.
Or I could be patient and wait for the official release.
 
Have you any update on this? Thanks a lot for your efforts so far.
 
I'm attempting to get my Drifta working with Linux.

Telnetting appears to connect:

Code:
dave@SNECCII:~$ telnet 192.168.16.30 9941
Trying 192.168.16.30...
Connected to 192.168.16.30.
Escape character is '^]'.
GET /tvnb?op=handshake&clientid=00:19:79:65:46:54 HTTP/1.1

I realise that the clientid is taken from the client (and won't be 00:19:79:65:46:54 for my laptop). Where do you get this value from?

I presume that is why I am unable to get any response when I try to get the sessionid?
 
clientid

The clientid is the mac address of the drifta interface.
When you plug the drifta into a Apple MAC, it sees it as an network interface.
Not sure what you need to do on Linux for this but seeing you can telnet to it, it's already working.

An ARP should give you the address you are looking for.
 
The clientid is the mac address of the drifta interface.
When you plug the drifta into a Apple MAC, it sees it as an network interface.
Not sure what you need to do on Linux for this but seeing you can telnet to it, it's already working.

An ARP should give you the address you are looking for.

Oh, OK.

I'm telnetting into it by wireless.

Plugging the device in doesn't produce any response. Probably needs to be installed.
 
OK, it's not the MAC address. I did not have the drifta with me yesterday but I check this morning.

I got this from a sniffer trace. I think it might be generic or DSTV's id ro something.
Anyway you can telnet in via wifi and it works.

Each command must be followed by 2 carage returns.
You can use a clientid of 00:00:00:00:00:00 and it returns a differently formated sessionid which works.
 
I'm getting this:

dave@SNECCII:~$ telnet 192.168.16.30 9941
Trying 192.168.16.30...
Connected to 192.168.16.30.
Escape character is '^]'.
GET /tvnb?op=handshake&clientid=00:00:00:00:00:00 HTTP/1.1

HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 18
X-1seg-Result: 0000000200b4004600

0000000200b4004600Connection closed by foreign host.

Gotta dash.

Will try later...

At work now, so I can't spend too much time on this, but why is the Connection being closed after giving the output?
 
Last edited:
To rekindle this (and not ire the powers that be). 2 things (well 3):

1) DSTV Drifta ap on Windows PC
1) e2eSoft Cam
3) FMLE 3.2

I have already said too much....
 
FMLE 3.2 can stream to FMS 4.0 or just save as a FLV file... (now I have said too much!)...
 
Top
Sign up to the MyBroadband newsletter
X