最近开始对流媒体进行深入了解, 发现里面真是太复杂了, 真是很佩服做流媒体的朋友, 废话不多说, 最近接触MP4Box这个开源库,进行MP4文件的解析, 刚接触找不到MP4文件播放时长的参数, 按说不应该的, 将参数信息输出查看, 发现
CMp4_root_box.moov.mvhd.duration这个参数按字面意思理解应该是播放时长了, 我的测试文件值为5759754, 可是实际播放时长为63秒, 但是其他参数更没有符合的了, 这么基本的参数不可能不给出吧, 那么换一个媒体文件进行测试, 这次得出的值为74600, 实际播放时长为74秒, 这次差不多对上了, 仔细检查发现还有个参数对其有影响, CMp4_root_box.moov.mvhd.timescale, 最终测试发现CMp4_root_box.moov.mvhd.duration * 1000 / CMp4_root_box.moov.mvhd.timescale得出的值为媒体文件的最终播放时长, 单位为毫秒, 为了以防忘记, 特此记录一下.