mobile CCTV,mobile surveillance,police body worn cameras

标题: H264码流格式问题 [打印本页]

author: yxj    time: 2019-1-22 17:57
标题: H264码流格式问题
afterRecv->pPacket->pData已经获取到了H264的数据,但是跟踪数据后有些疑问:
1.没有看到SPS,PPS配置信息,这部分数据怎么获得?
2.发现很多固定长度为160的数据,这类数据的iFlags=1,但是看iFlags的注释难道不是关键帧的意思?这部分固定长度的数据是什么数据呢?
author: Mitarai    time: 2019-1-22 18:15
1、SPS和PPS在SAVCodec_Context的pExtraData扩展数据中;
2、iFlags为1则是一个关键帧数据。
author: yxj    time: 2019-1-22 18:37
确定是关键帧数据吗?这些帧长度都是固定160,其他帧数据长度都是10000以上的?而且也没有264数据的固定开头“0x00 0x00 0x00 0x01 0x65”,反而在iflags=0的时候倒是有关键帧和普通帧的数据区分
author: yxj    time: 2019-1-22 18:46

author: yxj    time: 2019-1-22 18:51
请看我添加的图片,是我打印的帧数据信息,格式是 “ iflags值 : 帧数据长度 =>每帧前5个数据”,其中iflags=1时的数据格式明显和其它数据格式不同
author: yxj    time: 2019-1-22 18:57
不好意思,看错了一点,关键帧的时候iflags确实为1,但是160长度的那些数据iflags也是1,这部分是什么数据?
author: Mitarai    time: 2019-1-23 09:13
160长度的数据过来时候,打印下SAVCodec_Context中的SAVCodec_ID,看看是视频数据还是音频数据。如果是视频数据,打印下SAV_VideoParam中的宽高以及格式
author: yxj    time: 2019-1-23 09:24
Mitarai post on2019-1-23 09:13
160长度的数据过来时候,打印下SAVCodec_Context中的SAVCodec_ID,看看是视频数据还是音频数据。如果是视频 ...

看到了,是音频数据,我明白了,谢谢回答。
author: hardfire    time: 2019-1-23 10:53
感谢分享。
author: yxj    time: 2019-1-24 17:06
还有一个问题:
根据afterdecode回调函数返回的参数知道数据格式是yuv420p(并且已验证这些yuv数据可以正常生成图像),那么在压缩成264之前的数据格式是否也是420P的?但是现在由afterRecv回调函数返回的264数据进行yuv420p格式解码,发现解码失败?并且用rtmp进行264数据的推流也有问题,出现的画面隐约能看出图像轮廓,但是却是绿色的色调,这个现象看上去像uv两个分量的数据有误?
author: Mitarai    time: 2019-1-24 17:16
编码之前是H264数据;请检查解码是否正确填写SPS PPS扩展数据
author: yxj    time: 2019-1-24 17:19
Mitarai post on2019-1-24 17:16
编码之前是H264数据;请检查解码是否正确填写SPS PPS扩展数据

sps和pps已取到,长度是32,并且看开头的格式是对的
author: yxj    time: 2019-1-24 17:20
yxj post on2019-1-24 17:19
sps和pps已取到,长度是32,并且看开头的格式是对的

一般来说摄像头那边取到的数据格式是rgb的,然后会压缩为yuv的再压缩成264的,这个中间的yuv是哪种格式麻烦告知一下?
author: Mitarai    time: 2019-1-24 17:23
yxj post on2019-1-24 17:20
一般来说摄像头那边取到的数据格式是rgb的,然后会压缩为yuv的再压缩成264的,这个中间的yuv是哪种格式麻 ...

使用的是什么设备?
author: besovideo    time: 2019-1-24 17:23
这个要看您用的是什么设备,不同的设备完全不同。
大品类:
1)基于海思CPU的LINUX的DVR设备,摄像头支持CVBS/IP/HDMI/AHD/SDI/USB/CMOS,每种都不同。
2)基于MTK/高通芯片的安卓系统的设备

author: yxj    time: 2019-1-24 17:28
besovideo post on2019-1-24 17:23
这个要看您用的是什么设备,不同的设备完全不同。
大品类:
1)基于海思CPU的LINUX的DVR设备,摄像头支持 ...

执法仪 WZ128
author: yxj    time: 2019-1-24 17:29
Mitarai post on2019-1-24 17:23
使用的是什么设备?

执法仪 WZ128
author: Mitarai    time: 2019-1-24 17:35
yxj post on2019-1-24 17:20
一般来说摄像头那边取到的数据格式是rgb的,然后会压缩为yuv的再压缩成264的,这个中间的yuv是哪种格式麻 ...

问了下设备的同事,WZ128编码之前格式是Nv21
author: yxj    time: 2019-1-24 17:36
Mitarai post on2019-1-24 17:35
问了下设备的同事,WZ128编码之前格式是Nv21

好的,谢谢
author: yxj    time: 2019-1-24 17:40
Mitarai post on2019-1-24 17:35
问了下设备的同事,WZ128编码之前格式是Nv21

这个格式可以改420p吗?支持设置吗?
author: admin    time: 2019-1-24 20:20
可以在设备上操作,UI界面里面显示的分辨率列表都是硬件自己上报上来的,有的就支持,没有的就说明硬件不支持。




欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2