wqyuwss的专栏
(2007/5/1 04:47) 当播放一部电影或者一个 track的时候,对应的media handler必须能够正确的解析数据流,对一定的时间获取对应的媒体数据。如果是视频媒体, media handler可能会解析多个atom,才能找到给定时间的sample的大小和位置。具体步骤如下: 5楼 wqyuwss 发表于 2007/11/29 15:45 回复 对不起,最近很忙,不知道你解决这个问题没有 很有可能你处理的track不对 4楼 fishpixie(游客) 发表于 2007/11/15 18:51 回复 麻烦你,有空帮忙回复一下吧。 目前遇到的问题很奇怪,图像数据肯定是取进来了,但是似乎定位又不够准确,有偏差。而且我市自己把sequence头部加到我取得文件最前边去留的,解第一个宏块就有问题了。 3楼 fishpixie(游客) 发表于 2007/11/15 10:15 回复 下面是我的做法:首先找到stco 取出 每个chunk的偏移量;然后查找出samples_per_chunk,以及sample_size,这样直接把每个chunk中的sample取出来顺序存放,应该得到的就是正确的数据吧。 可是现在有一个问题,就是虽然这里边存放的事编码之后的数据,但是只有每一帧的头部,第一帧之前的序列头部以及其他用户信息我却找不到,这样的话解码器仍然是不能正确解码的。 我目前给我的解码器设置了一些默认的序列头部信息,解码时依然会跳出,不知道是解码数据取得不对还是头部设置的部队。帧头部都有一些特殊的标记位,所以我认为我取得数据应该是对的。 你怎么看呢,多谢你的解答 2楼 wqyuwss 发表于 2007/11/14 22:36 回复 Q:如果我不是想查找某一个sample而是把所有的sample按照解码顺序提取出来排放好,有没有什么比较简便的方法? A: 所有的sample就是按照解码顺序排列的,只是存放在chunk中,可以看http://www.52rd.com/Blog/Detail_RD.Blog_wqyuwss_7922.html里面最后一幅图,里面说明了一个chunk会存放几个sample Q:难道必须用 time-to-sample来确定sample的序号么?其他地方没有存放着sample的序号么? A:据我了解应该是这样。其他方法暂不知道。:-) Q:最后一个问题,sample里边是视频数据的row data,还是编码之后的数据,就是有没有编码信息的? A:是编码之后的数据。video sample都是包含在一个video track之内的,audio sample包含在一个audio track之内。每个track都有描述信息的,Audio / Video Media Information Atoms及其包含的children atom描述了这些信息,请看http://www.52rd.com/Blog/Detail_RD.Blog_wqyuwss_7911.html,...
http://www.52rd.com/Blog/Detail_RD.Blog_wqyuwss_7933.html