定位开始播放的帧不需要解码。开始解码后就和普通播放时一样了。
只要读一下一帧压缩数据靠近开头某个字节就能判断。具体自己去看吧,我也早忘了。
你打开一个视频文件,调用API读取一帧图像,这帧图像是压缩的,你需要调用xvid的解码函数才能变成一副图像,但你不需要调用解码函数就能从压缩数据里把图像类型信息(I帧还是P帧)读取出来
引用 6 楼 wow818wow 的回复: 引用 5 楼 baipv008 的回复: 一帧数据读进来不同解码就可以判断是不是I 帧。你把第500帧读进来,判断是不是I帧,如果不是就继续往后面找501,502,503....,一般最多几十帧内就能找到下一个I帧,然后从这个I帧开始解码就行。 但是每一帧的长度不一定,我如何能够快速的定位到这一帧呢?这个才是我现在遇到的最大问题 先每一帧顺序……
引用 5 楼 baipv008 的回复: 一帧数据读进来不同解码就可以判断是不是I 帧。你把第500帧读进来,判断是不是I帧,如果不是就继续往后面找501,502,503....,一般最多几十帧内就能找到下一个I帧,然后从这个I帧开始解码就行。 但是每一帧的长度不一定,我如何能够快速的定位到这一帧呢?这个才是我现在遇到的最大问题
一帧数据读进来不同解码就可以判断是不是I 帧。你把第500帧读进来,判断是不是I帧,如果不是就继续往后面找501,502,503....,一般最多几十帧内就能找到下一个I帧,然后从这个I帧开始解码就行。
引用 8 楼 wow818wow 的回复: 引用 7 楼 baipv008 的回复: 引用 6 楼 wow818wow 的回复: 引用 5 楼 baipv008 的回复: 一帧数据读进来不同解码就可以判断是不是I 帧。你把第500帧读进来,判断是不是I帧,如果不是就继续往后面找501,502,503....,一般最多几十帧内就能找到下一个I帧,然后从这个I帧开始解码就行。 但是每一帧的长……
引用 7 楼 baipv008 的回复: 引用 6 楼 wow818wow 的回复: 引用 5 楼 baipv008 的回复: 一帧数据读进来不同解码就可以判断是不是I 帧。你把第500帧读进来,判断是不是I帧,如果不是就继续往后面找501,502,503....,一般最多几十帧内就能找到下一个I帧,然后从这个I帧开始解码就行。 但是每一帧的长度不一定,我如何能够快速的定位到这一帧呢?这个……
找最近的I帧开始解码。 例如1000帧的,你拉到500帧开始播放,但500帧不是I帧,就去附近找最近的I帧开始解码,播放。
http://download.csdn.net/download/wacctt/2881750
64,681
社区成员
250,490
社区内容
加载中
试试用AI创作助手写篇文章吧