I was asked to create a video player from scratch, so I think I'm missing some parts of the whole story. For an mp4 file containing this information, what boxes should I be concerned about in order to play the streams within the file. I know I should follow the standard and so on, but what I did is that I messed up the file a little bit. I transmuxed the video/audio streams like this:
h264 -> mjpeg || AAC -> mp3
For the sake of simpler decoding "since I'm writing everything from scratch"
this is the info about the video track in the mp4 file I'm trying to support:
[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