DTV Software Infrastructure - PowerPoint PPT Presentation

About This Presentation
Title:

DTV Software Infrastructure

Description:

DTV Software Infrastructure. Milton Chen. Outline. MPEG-2 Transport Stream. Client. Headend ... DTV API (2) class DTVConn { DTVConn( int pid, int raw ) ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 18
Provided by: milto3
Category:

less

Transcript and Presenter's Notes

Title: DTV Software Infrastructure


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
DTV_MPEG API
DTV_Object API
DTV API
application
emulation
demand
driver
operation system
receiver card
disk
hardware
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 name256 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 -gt
  • 2. Video Capture Card -gt
  • 3. capture.exe ( .ppm ) -gt
  • 4. MPEG2 Encoder ( .m2v ) -gt
  • 5. pespacketizer.exe ( .pes ) -gt
  • 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
    magicidobj1.exe obj1 0.0 1obj2.zip obj2 0.5
    2obj3.html obj3 1.0 3
  • 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
Write a Comment
User Comments (0)
About PowerShow.com