嵌入式开发,在ARM板上实现读取UVC摄像头图像并通过网络传输传输出去的瓶颈怎么突破

时间:2020-12-07 18:58:53
C++ 网络编程 嵌入式开发 实时监控

3 个解决方案

#1


楼主确认下你所用的libjpeg是不是得把yuv数据编码成jpg时需要保存到硬盘上的, 如果是的话那肯定会很占用时间的.

要想方便简单的话,可以直接使用支持jpeg/mjpg图像格式的摄像头也可以.

#2


楼主可以考虑将数据编码h264后再传输,如果直接传输 jpeg压缩后的数据,各帧之间的数据重复率是相当大了,
另外就是看你cpu的处理速度了,无论如何还是不建议这么做的,楼主还是先了解一下视频压缩的一些基础,
uvc的摄像头多数都是小作坊出的,有时也会出现硬件问题,建议楼主关注一下是不是摄像头的采集帧率低
导致了其他方面的效率低 

#3


建议用H264 VP8 VP9等视频的编解码进行压缩,同时在接收端设计一个jitterbuffer来处理你的网络不佳的情况

#1


楼主确认下你所用的libjpeg是不是得把yuv数据编码成jpg时需要保存到硬盘上的, 如果是的话那肯定会很占用时间的.

要想方便简单的话,可以直接使用支持jpeg/mjpg图像格式的摄像头也可以.

#2


楼主可以考虑将数据编码h264后再传输,如果直接传输 jpeg压缩后的数据,各帧之间的数据重复率是相当大了,
另外就是看你cpu的处理速度了,无论如何还是不建议这么做的,楼主还是先了解一下视频压缩的一些基础,
uvc的摄像头多数都是小作坊出的,有时也会出现硬件问题,建议楼主关注一下是不是摄像头的采集帧率低
导致了其他方面的效率低 

#3


建议用H264 VP8 VP9等视频的编解码进行压缩,同时在接收端设计一个jitterbuffer来处理你的网络不佳的情况