我将用c ++构建一个创建照片流的应用程序,然后将它们作为视频流发送到另一个应用程序.关于我该如何开始的任何想法?我的意思是,我应该使用哪些库以及编码是什么?我正在考虑MJPEG,UDP或RTP作为协议....任何帮助将不胜感激.
如果您的输入数据只是一堆随机图像,而不是视频,那么您就不会进行"视频流".你只是要发送一堆完整的图像.无需涉及视频编码技术,只需尽可能简单地传输图像.视频编码器依赖于具有与先前的各种关系的每个帧,这在实际视频中是常见的.对于随机图像的输入,它们无法压缩那么多,并且单帧压缩(例如JPEG/PNG /无论如何)很可能已经应用于输入数据.
可能最容易发送每个文件的内容以及原始文件名,并让接收客户端在磁盘上重新创建文件,并使用现有的面向磁盘的库来打开和解码图像.
您应该只使用TCP,在您的要求中没有任何内容表明您需要使用更复杂且容易出错的基于UDP/RTP的解决方案.
对于流媒体部分,您可以使用Live555.它应该涵盖你所需要的一切.这仍然存在生成MJpeg流的问题.我只能在这里猜测,FFMpeg可能是你正在寻找的(因为我看到它也包括流媒体,所以你可能只需要这个).我认为MJpeg非常适合您的应用.至于TCP或UDP,这取决于你想如何使用它.如果你想让你的流组播,UDP是有意义的,否则我更喜欢TCP,因为它更可靠.
希望这是一些有用的提示.