0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?

lviY_AI_shequ 来源:lq 2018-12-31 14:04 次阅读

Ipywidgets在Jupyter生态系统中扮演着重要角色,它带来了用户和数据之间的互动。小工具组件是多种的Python对象,通常在Jupyter Notebook或JupyterLab中具有可视化表示:按钮,滑块,文本输入,复选框等。

Ipywidgets链接:

https://github.com/jupyter-widgets/ipywidgets

用户无需编写Python代码就可以使用鼠标操作并设置滑块完成交互

表示Python小组件的对象是在服务器端(后端)的Python内核(负责执行Jupyter Notebook中的代码的部分)中工作的。Python对象包含有所有小组件状态的信息。对于滑块小部件,Python对象包含最小值,最大值,以及当前值。这个Python对象(在后端,服务器端)可以与窗口小组件的Javascript模型(在前端,客户端)同步,这个前端模型也包含了有关小组件的相同信息。每次用户在笔记本中显示小组件时,它都会创建一个与Javascript模型保持同步的视图。在上面示例中,您可以看到两个视图是同步的。

ipywidgets不仅仅是一个交互式小组件库,它也是一个功能强大的框架,可以直接创建新的自定义小组件。开发人员可以通过使用widget-cookiecutter项目快速启动包含代码结构和封装的最佳实践的小组件库。

widget-cookiecutter链接:

https://github.com/jupyter-widgets/widget-cookiecutter/

已经有许许多多不同的小组件库被创建好了,你可以直接使用mybinder在线试用它们,而无需安装任何东西,下面的一些功能均可以在线操作试用,链接如下:

https://mybinder.org/

bqplot:2-D交互式数据

ipyleaflet:交互式地图

pythreejs:交互式三维场景

ipyvolume:3-D交互式数据可视化和多卷渲染

nglview:三维交互式分子可视化

gmaps:Google地图上的数据可视化

itk-jupyter-widgets:交互式2-D和3-D数据可视化

从ipywidgets 7.4开始,我们有两个新的小组件:音频视频,可以在Jupyter Notebook和Jupyterlab中轻松进行图像/音频处理。

与Image小组件一样,新的音频和视频小组件在后端和前端之间同步二进制数据。你可以使用自己喜欢的库(OpenCV,scikit-image 等)轻松操作此数据,并动态更新窗口小组件值。

在视频小组件上使用OpenCV进行边缘检测

这两个小组件都是用于创建ipywebrtc库不错的构建块。ipywebrtc由Maarten Breddels创建(Maarten是著名库vaex和ipyvolume的作者)。它利用WebRTC浏览器API的强大功能,允许在Jupyter笔记本内部进行媒体流传输。

ipywebrtc的API非常简单:首先,用户将创建我们称之为媒体流的小组件API。媒体流小组件也可以是:

一个WidgetStream小组件,给定任何输入小组件

一个VideoStream小组件,给定一个视频小组件作为输入

一个ImageStream小组件,给定一个图像小组件作为输入

一个AudioStream小组件,给定一个音频小部件作为输入

一个CameraStream小组件,它为用户的网络摄像头创建视频/音频流

使用媒体流小组件,你可以:

使用VideoRecorder小组件录制电影

使用ImageRecorder小部件拍摄快照

使用AudioRecorder小部件录制音频

使用简单的聊天功能将其流式传输到同级

至于其他小部件库,只需点击此链接即可立即试用。你将能够尝试所有这些工作流程。

https://mybinder.org/v2/gh/maartenbreddels/ipywebrtc/master?filepath=docs/source

假设你想使用计算机上的摄像头动态地执行图像处理,并运行人脸识别,边缘检测或任何其他奇特的算法。使用ipywebrtc实现起来非常简单。你需要做的就是创建一个CameraStream小组件的实例,在摄像头视频流作为输入的情况下创建一个ImageRecorder,并实现处理图像的回调(例如使用scikit-image)。

使用CameraStream的快照创建ImageRecorder,并使用scikit-image动态处理图像

ipywebrtc的另一个不错的功能是能够从任何小组件创建媒体小组件。这意味着你可以轻松地从您喜欢的小组件库中记录图像和视频,以进行二维或三维数据可视化(此处为ipyvolume)。

使用ipyvolume小组件作为输入创建WidgetStream,并使用VideoRecorder录制视频

一旦你使用了库的这些不错功能,你就可以下载你创建的视频/图像。或者,你可以使用聊天功能直接共享它们。此功能将聊天室名称和你要共享的流(默认为CameraStream)作为输入,并允许您将Jupyter Notebook转换为会议室!

在PyPairs演讲期间,使用ipywebrtc创建的聊天室

Github上制作这些图像的示例:

https://github.com/QuantStack/quantstack-talks/tree/master/2018-11-14-PyParis-widgets/notebooks

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    795

    浏览量

    41679
  • 代码
    +关注

    关注

    30

    文章

    4797

    浏览量

    68711
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84787

原文标题:你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    定制开发俄罗斯轮盘视频聊天chatroulette聊天轮盘

      腾创网页语音视频轮盘聊天室系统(chatroulette)是一款基于Flash威廉希尔官方网站 实现的免下载实时互动的语音视频聊天室,Flash 10 版本P2P威廉希尔官方网站 ,占用服务器带宽极少
    发表于 03-19 10:42

    高清端在线视频聊天插件软件平台

    。免费高清晰全视频、全音频沟通,随时随地畅聊无限·1对1私聊聊天室提供强大的视频对聊功能,可以随心所欲与好友
    发表于 12-16 11:02

    基于TCP/IP的labview聊天室

    聊天室包括服务端和客户端的VI如图效果大家可以根据这个程序进行扩展和创新比如可以通过TCP/IP进行数据传输 ,进行数据监控等等当然使用NI的datasocket也是比较方便的使用此程序步骤如下:1 打开
    发表于 11-11 13:55

    基于labview的tcp/ip聊天室

    `相关课程推荐:《8周LabVIEW视觉项目编程实战特训营》 这个程序是在一个国外论坛看到的 好久之前的主要是通过LabVIEW的tcp/ip的一个简易的聊天室包括服务端和客户端的VI如图效果大家
    发表于 11-24 15:28

    急求关于TCP聊天室的问题

    看了https://bbs.elecfans.com/forum.php?mod=viewthread&tid=209538这个帖子的基于TCP/IP的聊天室之后哦,我想问下几个很
    发表于 05-09 00:59

    labview聊天室程序

    Llabview聊天室程序哈哈哈哈哈哈哈
    发表于 08-29 20:27

    labview聊天室程序

    本帖最后由 eehome 于 2013-1-5 10:04 编辑 labview聊天室程序
    发表于 08-29 20:39

    9158聊天室VIP破解版(可以进入VIP房间懂的)

    9158聊天室VIP破解版(可以进入VIP房间懂的)使用方法:安装完后不要使用游客登录,随便注册一个账号登录,登录后可能会遇到不能挤进满人房间,这时候可以先找个不满人的房间进去,呆2
    发表于 02-21 13:50

    为什么C#写的聊天室软件可远程聊天

    C#写的聊天室软件,可远程聊天,服务器端运行在linux上,我买的腾讯云学生机,服务器程序我没有关闭,客户端下载就可以连接
    发表于 10-25 00:45

    JAVA教程之聊天室服务器

    JAVA教程之聊天室服务器,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 8次下载

    JAVA教程之聊天室客户端

    JAVA教程之聊天室客户端,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 9次下载

    环信语音连麦聊天室体验指南

    2019年5月,环信音视频云2.0正式对外发布,同时新推出一款语音连麦聊天室的体验应用「TC」。该项目主要为解决开发者用户理解现有语音连麦聊天室的基本构成和场景体验,再配合环信提供的最新开发者工具来打造自己的连麦
    发表于 06-17 10:07 1207次阅读

    设计的一个聊天室程序免费下载

    本文档的主要内容详细介绍的是设计的一个聊天室程序免费下载。
    发表于 12-17 08:00 2次下载
    设计的一个<b class='flag-5'>聊天室</b>程序免费下载

    常用的五种Jupyter Notebook扩展插件

    Jupyter Notebook 是一个很棒的教学、探索和编程环境,但其功能不足也是出了名的。幸好,有许多方法可以改进这个不错的工具,如 Jupyter
    的头像 发表于 09-26 10:35 2473次阅读

    什么是 Jupyter Notebook

    NotebookJupyter Notebook 是一款开放源代码的 Web 应用程序,可让我们创建并共享代码和文档。 它提供了一个环境,
    的头像 发表于 10-16 11:15 3911次阅读
    什么是 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>