c++ - 是否有使用 TCP/IP 通过网络发送 JPG 图像的标准化方法?

标签 c++ tcp jpeg

我正在寻找一种通过网络流式传输 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/

相关文章:

java - 什么可能导致 Java TCP 套接字关闭?

.net - TCP是否使用自己的线程?

c - 单击按钮打开图像文件到矩形

c# - 将字节数组从 C++ 传递到 C#(单声道)

android - cv::OutOfMemoryError 在 onCameraFrame 方法中由 Mat.clone() 抛出

sockets - 如何与 Rust 中的反向 shell 交互?

php - 将 ppt 转换为 jpg 时出现 fatal error : Uncaught exception 'com_exception' with message.

c++ - 你喜欢在哪里拆分长线?

c++ - Visual C++ 2008 和 2005 之间的区别

c# - 如何检测 jpeg 是否包含 cmyk 颜色配置文件?