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

使用Python套接字编程的视频聊天应用_第1张图片

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

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

在本文中,我将为客户端和服务器创建套接字程序代码,以便客户端可以使用服务器的IP地址和端口号轻松地连接到服务器。我们将使用python、OpenCV和套接字编程概念来做所有事情。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。

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

那么套接字是什么呢?

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

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

使用Python套接字编程的视频聊天应用_第2张图片

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

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

使用Python套接字编程的视频聊天应用_第3张图片

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

使用Python套接字编程的视频聊天应用_第4张图片

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

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

使用Python套接字编程的视频聊天应用_第5张图片

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

使用Python套接字编程的视频聊天应用_第6张图片

在这方面,我们还使用OpenCV从服务器发送和接收照片,并使用imshow显示要捕获的视频帧。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。

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

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

现在,当运行此命令时,我们的相机将启动,它将把照片发送到服务器并接收它。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。

使用Python套接字编程的视频聊天应用_第7张图片

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

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

结论:

我们可以看到,如果知道我们自己的会议应用程序背后的正确概念,那么制作我们自己的会议应用程序是很容易的,上面的应用程序只显示视频而不是音频,但是现在如果我们做了这么多,我们可以非常容易地扩展它。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。

感谢您阅读这篇文章!!

你可能感兴趣的:(程序员,编程,python,python,java,编程语言,linux,网络)