H.264码流第一帧不是I帧,怎么解码?

用JM解码264文件,显示错误,好像是因为第一帧不是I帧;
现在尝试在读取文件的时候修改文件流的指针,指向第一个I帧,但是不知道怎么操作。

问题点数:20分

CSDN推荐

CSDN今日推荐

rightorwrong

Bbs1 版主

Blank Blank

0 2017-02-15 08:40:23

引用 ・ 举报 ・ 管理 #1 得分:0

不是i帧不能接,继续收,收到I帧子开始接,之前的删掉

CCM163

Bbs1

0 2017-03-21 11:20:50

引用 ・ 举报 ・ 管理 #2 得分:0

不是I帧在只能丢掉,一直到I帧为止

xuws20

Bbs1

0 2017-03-31 10:22:06

引用 ・ 举报 ・ 管理 #3 得分:0

H264标准已经规定,第一帧必须是IDR帧,如果不是着不符合标准。所以,必须寻找IDR帧。

小猪_sun

Bbs1

0 2017-04-24 10:52:19

引用 ・ 举报 ・ 管理 #4 得分:0

挨个字节向下寻找,根据H264的标准,每帧起始为00000001或者000001,找到每帧开头后,在判断后面的NAL类型,IDR帧的值为5,可以参考这个文章,讲的很清楚;http://blog.csdn.net/jefry_xdz/article/details/8461343

XieTong_

Bbs1

0 2017-05-17 15:44:49

引用 ・ 举报 ・ 管理 #5 得分:0

根据H264的NAL头知道是不是带pps,sps的主要帧,不是的话丢弃,如果是的开始解码.可以参考楼上提供的网站.

??Weber

Bbs1

0 2017-11-27 22:41:21

引用 ・ 举报 ・ 管理 #6 得分:0

接受到的数据如果不是I帧,是不能进行播放的,常见的解决办法是丢弃该帧数据,继续接受,直到接收到I帧为止。

sdsszk

Bbs1

0 2018-07-25 11:02:29

引用 ・ 举报 ・ 管理 #7 得分:0

继续等待,直到等到I帧才去解码的

顾小白xx

Bbs1

0 2018-07-25 11:29:46

引用 ・ 举报 ・ 管理 #8 得分:0

不是I帧不能用丢掉就行了

猜你喜欢

转载自blog.csdn.net/special00/article/details/82533751