Presentation is loading. Please wait.

Presentation is loading. Please wait.

DTV Software Infrastructure Milton Chen. Outline MPEG-2 Transport Stream Client Headend Examples.

Similar presentations


Presentation on theme: "DTV Software Infrastructure Milton Chen. Outline MPEG-2 Transport Stream Client Headend Examples."— Presentation transcript:

1 DTV Software Infrastructure Milton Chen

2 Outline MPEG-2 Transport Stream Client Headend Examples

3 MPEG-2 Transport Stream Packet –188 bytes (header plus payload) –13 bit packet ID (pid) –1 bit priority Filename ends in.ts (our convention) Which MPEG are you talking about ?

4 Client Stack receiver carddisk emulationdemanddriver DTV API DTV_MPEG APIDTV_Object API hardware operation system application

5 DTV API int DTVInit( int channel, char *tsfname, bool loop, double bitrate ); int DTVClose();

6 DTV API (2) class DTVConn { DTVConn( int pid, int raw ); int RetrieveBuffer( DTVappbuf ** buf, int wait ); int ReturnBuffer( DTVappbuf * buf ) int Flush(); }

7 DTV API (3) typedef struct { int filledsize; unsigned char * data; } DTVappbuf;

8 DTV_MPEG API Set a dozen global variables –playbacklevel, texture size, etc. MyDtvDecoder() unsigned char RGBarray[]

9 DTV_Object API class DtvObjStream { DtvObjStream( int pid ); int GetObj( char * objname, int waittime, dtvobject * obj ); int CloseObj( dtvobject *obj ); }

10 DTV_Object API (2) typedef struct { char name[256]; FILE * data; } dtvobject;

11 Client Environment 1. Win 95 2. DirectX 5 3. ATI Rage Pro or Intel 740 Graphics Card Live reception requires 1 MPEG decoder requires 2, 3 Link with multi-threaded library in VC++

12 Headend - Video 1. Camera -> 2. Video Capture Card -> 3. capture.exe (.ppm ) -> 4. MPEG2 Encoder (.m2v ) -> 5. pespacketizer.exe (.pes ) -> 6. dynamux.exe (.ts ) Step 4, 5, and 6 are not real-time tools to manipulate.m2v files (clip, cat, …)

13 Headend - Object Object Parameter File #file obj. name insert time magicid obj1.exeobj10.01 obj2.zipobj20.52 obj3.htmlobj31.03 Run dynamux.exe

14 Headend - Arbitrary data Write it to a file Run dynamux.exe

15 Headend - Multiplexer dynamux.exe Convert video, audio, object, and arbitrary data from different sources into one transport stream

16 Examples MyDtvReceiver(DTV API) –count the number of bytes received MyDtvApp(DTV_MPEG API) –one thread decode to shared memory –one thread display the decoded frames with OpenGL texture mapping MyDtvWeb(DTV_Object API) –receive one html file and launch netscape to display that file

17 Source Tree C:\Dtv_public –content –headend –receiver bin include lib sample


Download ppt "DTV Software Infrastructure Milton Chen. Outline MPEG-2 Transport Stream Client Headend Examples."

Similar presentations


Ads by Google