1. 磐创AI-开放猫官方网站首页
  2. Medium

使用Python套接字编程的视频聊天应用


在这场流行病中,我们正经历着大量的公司转向在线平台,并在家里开始伟大的倡议工作,但如果我们不能与团队联系起来,这怎么可能呢?

因此,为了解决这一挑战,公司开始使用软件,允许他们在摄像头和其他资源的帮助下进行虚拟连接,但你有没有想过这些东西在幕后是如何工作的。

在本文中,我将为客户端和服务器创建套接字程序代码,以便客户端可以使用服务器的IP地址和端口号轻松地连接到服务器。我们将使用python、OpenCV和套接字编程概念来做所有事情。

我们将使用OpenCV python库,它支持我们访问我们的设备摄像头,所以如果您不熟悉它,可以参考我在这里的前一篇文章。here

那么套接字是什么呢?

套接字只是一个网络接口,它通过绑定IP地址和要在其上运行服务的端口号来帮助连接两个设备或网络。

因此,让我们从为服务器端创建套接字开始


在这里,我们首先导入套接字模块,然后传递两个参数:AF_NET,表示我们将使用IPv4网络族的IP地址;第二个参数是SOCK_STREAM,用于通过TCP协议建立连接。

在这里,我们也可以使用UDP,但TCP更可靠,因为它确认连接的另一端成功接收了数据包,如果没有成功接收,它将再次发送数据包。

这里我已经将我的系统IP地址与一些随机端口绑定,对于客户端连接,它需要两样东西我的IP地址和端口号,现在我声明我的程序将在这个端口上运行,如果任何客户端想要在这个端口号上连接它。

在此之后,如果服务器收到来自客户端的任何请求,则它将启动捕获照片的过程,用于发送我们刚才使用的视频或照片的概念是OpenCV,它将单击设备中的照片并将其发送到客户端,但是它的速度如此之快,以至于它可以显示为视频,因为视频也是从继续捕获照片中生成的。

这是视频聊天应用程序的服务器端程序,现在我们将研究客户端程序,以及我们必须在其中执行哪些更改。

在这里,我们可以看到,我们使用的不是绑定,而是CONNECT关键字,因为客户端将使用运行服务的服务器的IP地址和端口号连接服务器。

在这方面,我们还使用OpenCV从服务器发送和接收照片,并使用imshow显示要捕获的视频帧。

现在,要运行服务器代码,我们只需使用以下命令

现在,当我们运行时,它不会执行任何操作,因为它正在等待客户端连接到服务器,让我们运行客户端代码。

现在,当运行此命令时,我们的相机将启动,它将把照片发送到服务器并接收它。

我们可以看到,一个流来自服务器,另一个来自客户端,我们的程序运行良好。

以下是程序文件的Github链接。link

结论:

我们可以看到,如果知道我们自己的会议应用程序背后的正确概念,那么制作我们自己的会议应用程序是很容易的,上面的应用程序只显示视频而不是音频,但是现在如果我们做了这么多,我们可以非常容易地扩展它。

感谢您阅读这篇文章!!

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/18/%e4%bd%bf%e7%94%a8python%e5%a5%97%e6%8e%a5%e5%ad%97%e7%bc%96%e7%a8%8b%e7%9a%84%e8%a7%86%e9%a2%91%e8%81%8a%e5%a4%a9%e5%ba%94%e7%94%a8/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息