Beiträge von bigotti5

    Dem "Picture Header" folgt die "Picture Coding Extension"
    Eine Extension (es gibt mehrere) hat den Startcode 00 00 01 B5 und die 4 msfBits des nächsten Bytes definieren um welche Extension es sich handelt.
    Sequence_Extension 0001
    Sequence_Display_Extension 0010
    Picture_Display_Extension 0111
    Picture_Coding_Extension 1000
    Die Picture_Coding_Extension hat also den Startcode 00 00 01 B5 8x
    Diese Picture_Coding_Extension musst du auswerten.
    Du nimmst das dritte Byte nach B5 und wertest die letzten 2 Bits aus.
    Im obigen Beispiel:
    00 00 01 B5 82 1F FA


    0xFA ist binär 11111010 -> Bottom Field


    00 - reserviert
    01 - Top Field
    10 - Bottom Field
    11 - Frame Picture

    Zitat

    Reicht es alle Vorkommnisse von "00 00 01 00" zu zählen


    Reicht leider nicht. Wurde im Fieldmode kodiert hat jedes Field einen eigenen Picture Header.
    In der Picture Coding Extension (00 00 01 B5 und Byte >=80) steht dann der Field Mode (BF oder TF).
    zb 00 00 01 B5 82 1F FA
    im dritten Byte nach 85 musst du die beiden ls Bits auswerten
    FA = 1111 1010
    01 - Top Field
    10 - Bottom Field
    11 - Frame Picture
    Leider können Frames und Fields im Stream bunt gemischt vorhanden sein - du musst alle auswerten.

    Bei mpls mit mehreren Clips sind die Kapitel nicht direkt auszulesen. Erst bestimmst du die Dauer der einzelnen Clips aus Out_time minus In_time.
    Die Kapitelmarken sind dann am Ende der Playlist. Der dortige Timecode bezieht sich ausschließlich auf den Playitem in dem der Chapter vorkommt.
    Aus diesen Timecodes und der Dauer der Clips kannst du die Kapitel berechnen.
    Beispiel:


    Code
    1. C_ID In Time Out time Dauer000 00:00:11.650 00:00:57.988 00:00:46.338001 00:00:11.650 00:01:12.753 00:01:01.102002 00:00:11.650 00:02:14.982 00:02:03.331003 00:00:11.650 00:00:31.670 00:00:20.019004 00:00:11.650 00:03:54.164 00:03:42.513....


    Bei den Chaptermarks steht immer erst der Playlistindex dann der Timecode


    Code
    1. [COLOR=#ff0000]00 00[/COLOR] [COLOR=#0000ff]00 07 ff f8 [/COLOR]ff ff[COLOR=#0000ff]
    2. [/COLOR][COLOR=#ff0000]00 01[/COLOR] [COLOR=#0000ff]00 25 69 76 [/COLOR]ff ff[COLOR=#0000ff]
    3. [/COLOR][COLOR=#ff0000]00 04 [/COLOR][COLOR=#0000ff]00 21 42 63 [/COLOR]ff ff[COLOR=#0000ff][/COLOR]


    In Clip 0,1 und 4 kommen Kapitel vor, in 2 und 3 nicht.
    Von den Timecodes muss noch die In_time des jeweiligen Clips abgezogen werden um die MPLS Kapitelzeit zu errechnen.
    Kapitel 1: aus Clip 0; 11,650 minus 11,650 -> 00:00:00,000
    Kapitel 2: aus Clip 1: 54,485 minus 11,650 plus 46,338 (Dauer Clip 0) -> 00:01:29,123
    Kapitel 3: aus Clip 4; 48,437 minus 11,650 plus 46,338 + 61,102 + 123,331 + 20,019 (Dauer Clip 0,1,2,3) -> 00:04:47,577

    Zitat


    [LIST=|INDENT=1]resize_w, resize_h: integer (default: 0)Use the GPU to resize the video. The resizing is applied after deinterlacing.
    If either resize_w or resize_h is 0, no resizing is performed.
    If you need to crop before resizing, use the cropping filter in DGIndexNV, or the crop_t/b/l/r parameters described above.
    [/LIST]


    dgsource("source.dgi", resize_w=720, resize_h=576)

    Seamless branch BDs lassen sich mit etwas Aufwand auch mit Freeware realisieren.
    Ich hab dir hier ein einfaches Beispiel erstellt.
    Enthält zwei Playlisten (1,2a,3 und 1,2b,3) aus den Clips 1, 2a, 2b und 3.
    Benutzt wurde nur Freeware, EasyBD lite von DVDLogic zum Muxen, VSO AVCHD Editor zum Manipulieren der Clips und Playlisten und mit BDEdit habe ich dann die Seamless Flags gesetzt und die Commands angepasst.
    Läuft sauber auf Software BD Player (TMT 6).
    XBMC spielts - seamless ist es aber nicht.
    VLC konnte ich nicht überreden die Playlist abzuspielen - spielt nur die Clips.