C++ 在尝试实时编码和传输原始视频时,建议使用什么视频/图像编码格式?
我正在尝试通过LAN(100 Mbps)连接(网络摄像头捕获的帧)对原始视频帧进行编码和传输。建议使用什么视频/图像编码格式进行快速压缩(不太考虑压缩比)C++ 在尝试实时编码和传输原始视频时,建议使用什么视频/图像编码格式?,c++,c,compression,real-time,video-encoding,C++,C,Compression,Real Time,Video Encoding,我正在尝试通过LAN(100 Mbps)连接(网络摄像头捕获的帧)对原始视频帧进行编码和传输。建议使用什么视频/图像编码格式进行快速压缩(不太考虑压缩比) 谢谢,如果您需要各个帧彼此独立,请使用mjpeg(相当于将每个帧编码为jpeg)。它很简单,你有很多工具来操作它 否则,只要你有一个远程现代化的cpu,并且分辨率不是非常高,只需使用一个简单的mpeg4 asp甚至h264配置文件。在当前低端机器上,使用最简单的配置文件编码320x240视频所需的cpu应少于5%。谢谢R。不幸的是,mjpeg
谢谢,如果您需要各个帧彼此独立,请使用mjpeg(相当于将每个帧编码为jpeg)。它很简单,你有很多工具来操作它
否则,只要你有一个远程现代化的cpu,并且分辨率不是非常高,只需使用一个简单的mpeg4 asp甚至h264配置文件。在当前低端机器上,使用最简单的配置文件编码320x240视频所需的cpu应少于5%。谢谢R。不幸的是,mjpeg/jpeg压缩似乎会导致较低的帧率。将每帧编码为PNG似乎可以将速率提高到11 fps。仍在寻找加快压缩速度的方法:(.如果时间太长,可能会出现问题。您使用哪个库进行压缩?Hi R.我使用Gdiplus(图像类)在像素数据到其他格式之间进行快速转换。它几乎无法每秒执行3次jpeg转换(对于1024x768大小的真彩色帧)。这就是你的问题。像这样低效的lib可能适用于160x120甚至320x240,但要获得高分辨率,你真的需要切换到
libavcodec
。一种判断库不好的方法是,它比压缩为png慢!任何好的jpeg实现都应该至少编码几次(如果不是数量级)比png快。