我最近研究一个存在硬盘上的mpeg4,其编码格式为avc1,我解析出了其中所有的nal,其格式为开始的4个字节为nal的长度,而不是0x000001;其第一个nal为IDR帧,然后每隔12个slice帧又是一个IDR帧,这样一直到底。
我的问题是:序列参数集和图像参数集在哪呢?难道没有序列参数集和图像参数集也能把图像解析出来?(用vlc可以播放)
请高手赐教。
------解决方案--------------------------------------------------------
没有类似sps,pps的信息,解码器是无法解码的。
用RTSP,RTP传输H264时,也可以把SPS,PPS
用base64编码在SDP中传输给解码器。
------解决方案--------------------------------------------------------
avc1的sps,pps属于extra_data,一般放在文件头视频描述里面,MP4是在avc1的avcC atom里面,两个字节表示sps,pps的nal长度。
将所有的nal(包括帧)长度替换成00 00 00 01就是h264的数据流了。这只是两种不同的表示方法。