代码编译跑通没问题,但是我保存的RTSP流的图片是乱码
a514154639 opened this issue · 15 comments
mpp frame size : 1008 明显是有问题的
NX Jetpack不要使用gstreamer-rockchip-extra插件
应该使用deepstream的Gst-nvvideo4linux2插件进行硬解码
是直接把decode插件改成deepstream的nvv4l2decoder吗
不用改,decodebin会自动调取你的nvv4l2decoder插件
你要把mpp的插件删除
read_Opencv接口没问题,目前的问题是在解码的时候出的问题,你可以查看下Gstreamer你本地是否有nvv4l2decoder这个插件用gst-inspect-1.0指令
本地上是有nvv4l2decoder这个插件的,并且调用RTSP摄像头的时候nx的jtop上面可以看到NVDEC是打开的,不过我在用其他简单demo测试的时候NVDEC的频率是波动的,用您的代码调用的时候频率一直是满的,不知道是不是这个原因,解码的问题代码其他地方还有需要修改的地方吗?
你把1225行的 // g_print("mpp frame size : %d \n", map_info.size);的注释打开,看一下,size后面的帧输出多少,如果NVDEC被利用起来了,那么说明gstreamer的部分没问题,gstreamer是通用的管道模式,基本不用修改的。解码插件是通过decodebin自动调用的。
如果解码正常,那要修改read_Opencv转换的代码,因为mpp是16位对齐,所以得到的buffer要做转换,从1238行开始你要针对NVDEC解出来的buffer进行内存拷贝和转换进行修改。
目测你上面的代码集成了nvvideoconvert这个插件吧,因为我read_opencv拿到的是yuv的图片需要转换的,稍后我这边新开分支支持下,好了我通知你。
是的确实集成了nvvideoconvert这个插件,我尝试在您的代码中添加但是没有成功,这个问题麻烦您了,感谢
@a514154639 你demo能给我个链接吗?
@a514154639 你demo能给我个链接吗?