如何通过Python socket实现高效连续传输视频数据帧(图片流)?

2026-06-11 03:018阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1357个文字,预计阅读时间需要6分钟。

如何通过Python socket实现高效连续传输视频数据帧(图片流)?

目录遇到的问题代码问题记录代码客户端clien.py服务端server.py遇到的问题网上找到了一些代码,但都只能建立一次socket传输一张图片,然后断开,需要重新连接和传输。

目录
  • 遇到的问题
  • 代码问题记录(需要代码的可以直接文末)
  • 代码
    • 客户端clien.py
    • 服务端server.py

遇到的问题

网上找了一些代码,都是只能建立一次socket传输一张图片,然后断开重新连重新传。而建立一次socket代价不小,反复建立会非常消耗系统资源,因此尝试自己通过一次socket连续传输多张图片

代码问题记录(需要代码的可以直接文末)

在做的过程中发现了一些问题:

socket在传一张图片时是以二进制流的形式传输,图片的二进制流比较大,一般一次传不完,要传很多次。那么接受者是如何知道什么时候才停止接收这张图片呢?那可以让发送者在发图之前先发一个头信息,告诉接收者这个二进制流有多长,然后接收者通过这个来判断是否传完。

这个问题是最让我致命的,由于发送者先发了一个头信息,使用socket.send()函数,然后发送图片也是要用socket.send()函数,接收端使用的是socket.recv(1024)函数,1024是缓存大。

阅读全文

本文共计1357个文字,预计阅读时间需要6分钟。

如何通过Python socket实现高效连续传输视频数据帧(图片流)?

目录遇到的问题代码问题记录代码客户端clien.py服务端server.py遇到的问题网上找到了一些代码,但都只能建立一次socket传输一张图片,然后断开,需要重新连接和传输。

目录
  • 遇到的问题
  • 代码问题记录(需要代码的可以直接文末)
  • 代码
    • 客户端clien.py
    • 服务端server.py

遇到的问题

网上找了一些代码,都是只能建立一次socket传输一张图片,然后断开重新连重新传。而建立一次socket代价不小,反复建立会非常消耗系统资源,因此尝试自己通过一次socket连续传输多张图片

代码问题记录(需要代码的可以直接文末)

在做的过程中发现了一些问题:

socket在传一张图片时是以二进制流的形式传输,图片的二进制流比较大,一般一次传不完,要传很多次。那么接受者是如何知道什么时候才停止接收这张图片呢?那可以让发送者在发图之前先发一个头信息,告诉接收者这个二进制流有多长,然后接收者通过这个来判断是否传完。

这个问题是最让我致命的,由于发送者先发了一个头信息,使用socket.send()函数,然后发送图片也是要用socket.send()函数,接收端使用的是socket.recv(1024)函数,1024是缓存大。

阅读全文