我正在寻找一种通过网络流式传输 JPG 图像的标准化方法。还需要一个 C++ 编程接口(interface),它可以很容易地集成到现有软件中。
我正在开发一个 GPGPU 程序,该程序处理数字化信号并将它们压缩为 JPG 图像。图像的大小可以由用户定义,通常图像为 1024 x 2048 或 2048 x 4096 像素。我已经编写了我的“自己的”协议(protocol),它首先发送一个 header (以字节为单位的图像大小、宽度、高度和相应的 channel ),然后通过 TCP 发送 JPG 数据本身。之后,接收方发送确认所有数据已正确接收和显示,以便可以发送下一张图像。到目前为止一切顺利,不幸的是我的方法仅达到 12 fps,不满足项目要求。
我确信有更好的方法具有更高的帧速率。 Netflix 和 Amzon 等流媒体服务采用哪种方法处理 UHD 视频?当然,我用谷歌搜索了很多,但我找不到任何满意的结果。
最佳答案
Is there a standardized method to send JPG images over network with TCP/IP?
有几种互联网协议(protocol)常用于通过 TCP 传输文件。也许最常用的协议(protocol)是 HTTP。另一个较旧的是 FTP。
Which approach do streaming services like Netflix and Amzon take for UHD videos?
首先,他们根本不使用 JPEG。他们使用一些视频压缩编解码器(如 MPEG),不仅在空间上压缩数据,而且在时间上压缩数据(连续的帧往往包含相似的数据)。他们可能用于流式传输数据的协议(protocol)示例是 DASH,它通过 HTTP 运行。
关于c++ - 是否有使用 TCP/IP 通过网络发送 JPG 图像的标准化方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58844110/