Annotation of dsmcc-mhp-tools/README.oc, revision 1.8
1.7 mass 1: # README.oc file for dsmcc-mhp-tools/src/dsmcc-oc
1.1 mass 2:
1.8 ! mass 3: dsmcc-oc: create an ObjectCarousel.
1.1 mass 4:
5: If you want to include stream- or stream-event objects in the stream,
6: then you have to mark them accordingly. Stream-objects are recognized
7: by the execute-bit which has to be set in the bitmask of the executing
8: user, while stream-events are recognized by the write+execute bits,
9: which both have to be set.
10:
1.2 mass 11: First, Stream- and Stream-Event objects include a description which
12: can be provided by the broadcaster, e.g. a short textual description
13: about e.g. what the object is for.
1.4 mass 14: After that, some information about the referenced streams follow, i.e.
15: a component-tag identifying the elementary stream associated with
16: an MPEG-Program, then a component-tag associated with the elementary
17: stream where NPT-descriptors are broadcasted followed by the NPT-timabase
18: (which is interpreted for Stream-Event objects only), and finally a
19: component-tag associated with a stream containing Stream-Events (all
20: associations hexadecimal); after the associations the stream-duration
21: in seconds and milliseconds (decimal) is read and finally the data-types
22: included with the referenced stream, i.e. a boolean-triple which stands
23: for (audio,video,data).
1.2 mass 24: Stream-Event objects also include their event-names and event-ids;
25: there have to be the same number of names as ids - the list of events
26: starts with an event-name followed by its associated event-id.
27:
1.5 mass 28: Format for Stream:
29: {
30: <DSMCC-MHP-TOOLS-FORMAT-OBJECT-STREAM-DESCRIPTION>
31: + Description string max. 255 characters (can include linebreaks)
32: <DSMCC-MHP-TOOLS-FORMAT-OBJECT-STREAM-INFORMATION>
33: + Prog-CTag NPT-CTag NPT-Base STE-CTag DurSec DurMilliSec AUDIO VIDEO DATA
34: }
35:
36: Format for StreamEvent:
37: {
38: <DSMCC-MHP-TOOLS-FORMAT-OBJECT-STREAM-EVENT-DESCRIPTION>
39: + Description string max. 255 characters (can include linebreaks)
40: <DSMCC-MHP-TOOLS-FORMAT-OBJECT-STREAM-INFORMATION>
41: + Prog-CTag NPT-CTag NPT-Base STE-CTag DurSec DurMilliSec AUDIO VIDEO DATA
42: <DSMCC-MHP-TOOLS-FORMAT-OBJECT-STREAM-EVENT-NAMES-IDS>
43: + EventName (+linebreak) followed by
1.7 mass 44: + the associated EventID in hex. format
1.5 mass 45: }
46:
1.1 mass 47: For an example how stream- and stream-event objects are formatted
48: look e.g. at example/teststream resp. example/teststreamevent.
49:
50: Additionally, if you want to include dummy stream-event-descriptors
51: in the stream, e.g. for really basic testing, pass the '-ste' option
52: to the encoder (this puts in descriptors referring to all event-ids
53: described by all stream-event-objects included within the object-
54: carousel twice in the stream: once at the beginning and second at the
55: end of the stream, whereby the descriptor-version gets incremented.
56: Otherwise, you can use the other tools to create single descriptors
57: and put them in real-time into the stream, by your streaming-server.
58:
59: You can also include references to object in other carousels, i.e.
60: these references include a lite options profile instead of a biop
61: profile in their IOR. Such links to external objects are represented
62: by soft-links. The name of the link itself stands for the object-name
1.8 ! mass 63: in the current ObjectCarousel, where the destination-path follows a
1.1 mass 64: fixed format:
65: The relative path to the referenced object in the external carousel
66: followed by a colon-separeted list including the object-type (which
67: can be "dir", "fil", "str" or "ste") and the carousel-location of the
1.8 ! mass 68: external ObjectCarousel, i.e. carousel-id, original network-id,
1.6 mass 69: transport-stream-id and finally the service-id (all in hex. format).
1.1 mass 70:
1.6 mass 71: External reference (LiteOptionsProfile) softlink format:
1.5 mass 72: {
73: RelPathToObjInOtherCarousel:RefObjType:CarouselID:ONID:TSID:ServiceID
74: }
75:
1.1 mass 76: For an example how links to external objects are formatted look
77: e.g. at example/pictures.
78:
1.8 ! mass 79: You also have the possibility to distribute an ObjectCarousel over
! 80: multiple PIDs. For each directory path inside the ObjectCarousel's
! 81: root a DataCarousel is created which is put into a separate MPEG2
! 82: elemenraty stream file.
! 83:
! 84: Note: all DataCarousels's data must be disjunct, i.e. if the directory
! 85: '/foo' was already defined as a separate DataCarousel, then the
! 86: encoding of '/foo/bar' into another one will be not allowed.
! 87:
1.1 mass 88: And of course, all files to encode should be readable.
89:
90: Check 'dsmcc-oc --help'.
LinuxTV legacy CVS <linuxtv.org/cvs>