Разбор MP4 для воспроизведения - PullRequest
0 голосов
/ 17 апреля 2020

Меня попросили создать видеоплеер с нуля, поэтому я думаю, что мне не хватает некоторых частей всей истории. Для файла mp4, содержащего эту информацию, какие ящики должны беспокоиться для воспроизведения потоков в файле. Я знаю, что должен следовать стандарту и так далее, но я немного испортил файл. Я трансмутировал видео / аудио потоки так:

h264 -> mjpeg || AA C -> mp3

Ради более простого декодирования "так как я пишу все с нуля"

это информация о видео-треке в файле mp4. пытается поддержать:

[trak] size=8+7753
    [tkhd] size=12+80, flags=3
      enabled = 1
      id = 1
      duration = 30034
      width = 640.000000
      height = 360.000000
    [edts] size=8+28
      [elst] size=12+16
        entry_count = 1
        entry/segment duration = 30034
        entry/media time = 0
        entry/media rate = 1
    [mdia] size=8+7617
      [mdhd] size=12+20
        timescale = 15360
        duration = 461312
        duration(ms) = 30033
        language = und
      [hdlr] size=12+33
        handler_type = vide
        handler_name = VideoHandler
      [minf] size=8+7532
        [vmhd] size=12+8, flags=1
          graphics_mode = 0
          op_color = 0000,0000,0000
        [dinf] size=8+28
          [dref] size=12+16
            [url ] size=12+0, flags=1
              location = [local to file]
        [stbl] size=8+7468
          [stsd] size=12+160
            entry_count = 1
            [mp4v] size=8+148
              data_reference_index = 1
              width = 640
              height = 360
              compressor = 
              [esds] size=12+32
                [ESDescriptor] size=5+27
                  es_id = 1
                  stream_priority = 0
                  [DecoderConfig] size=5+13
                    stream_type = 4
                    object_type = 108
                    up_stream = 0
                    buffer_size = 0
                    max_bitrate = 861041
                    avg_bitrate = 861041
                  [Descriptor:06] size=5+1
              [fiel] size=8+2
              [pasp] size=8+8
          [stts] size=12+12
            entry_count = 1
          [stsc] size=12+16
            entry_count = 1
          [stsz] size=12+3612
            sample_size = 0
            sample_count = 901
          [stco] size=12+3608
            entry_count = 901

1 Ответ

0 голосов
/ 18 апреля 2020

what boxes should i be concerned about in order to play the streams within the file

Нужна каждая коробка.

...