在网站中内置WebRTC视频聊天

news/2024/5/20 12:31:52/文章来源:https://blog.csdn.net/sunjianjun1981/article/details/17139075

http://mozilla.com.cn/post/51923/

 

在网站中内置WebRTC视频聊天

0

Felicia, +1116

我想大部分人应该都还记得“你好Chrome,火狐正在呼叫!”的博客和Demo,向大家展示了在火狐和Chrome中进行WebRTC视频聊天,获得了很多朋友的注意。从那开始,Fresh Tilled Soil有很多创业公司和企业开始创建基于WebRTC视频聊天技术的产品。WebRTC布道师Tsashi Levent-Levi在这封博客中采访了很多公司,这个列表非常喜人。

WebRTC 聊天Demo

和很多早期接触WebRTC的朋友一样,我们也研究了一段时间了,并且创建了自己的WebRTC视频聊天Demo,最近还发布了WebRTC视频聊天小组件。




这个小组件工作非常简单,任何人都可以将下面的HTML嵌入代码:

1
2
3
4
<!-- Begin Fresh Tilled Soil Video Chat Embed Code -->
<div id= "freshtilledsoil_embed_widget" class= "video-chat-widget" ></div>
<script id= "fts" src= "http://freshtilledsoil.com/embed/webrtc-v5.js?r=FTS0316-CZ6NqG97" ></script>
<!-- End Fresh Tilled Soil Video Chat Embed Code -->


并且将代码添加到任何网站或是博客中。添加后,会在网站中看到下面这个小组件:

从这里开始,就可以非常容易的开启一个WebRTC视频聊天了,只需定义和输入一个房间名,点击开始聊天。告诉其他人进行同样的设置即可。


请确认,这个测试需要在Firefox Nightly或是最新的稳定版的Google Chrome中进行。如果是在平板电脑中,如果使用Google Chrome,请使用Google Chrome beta。


还有一点需要提示大家注意的是,我们的视频聊天第一版只能允许一个房间中有两个参与者。如果一个房间中已经有两个人了,第三位尝试连接到该房间中的用户将无法连接。


如何工作?

这里不想深入去探讨WebRTC视频聊天背后的代码是如何工作的,让我们来简要的了解下载点击了“开始聊天”按钮之后场景背后实际发生了什么,WebRTC视频聊天实际是如何工作的。这里有一个详细的步骤来帮助大家理解:


关于“Once remote media starts streaming stop adding ICE candidates”(一旦远程媒体开启流,停止添加ICE候选)这是目前的一个临时的解决方案,对许多网络拓扑可能会导致次优的媒体路由。一旦Chrome的ICE支持修复,就会停止使用。


还有一个非常重要的小技巧需要提示大家,我们使用的是一种类似“填充式”的技术,如同Remy Sharp在文章中提到的,我们通过写一段代码来适应Firefox的语法获得跨浏览器的功能。


我们遇到的问题及如何解决


我们在这个过程中遇到了很多问题,WebRTC的进展非常迅速,所以我们每天都在处理很多的问题。下面这些是我们遇到的一些问题以及解决方式:


Google Chrome中的PeerConnection性能

在Chrome中测试新的PeerConnection性能时,我们发现对如何控制它工作有一个严格的规则,具体来说:

  • 在发送SIP(提供/应答SDP)前就在本地的视频流中;

  • 对“应答者”,直到同伴创建“应答SDP”才能添加ICE候选;

  • 一旦远程媒体开启流,就要停止添加ICE候选;

  • 不要再获得“提供SDP”前为应答者创建同伴连接。

我们已经通过解决了上述这些问题。让连接工作无错进行是非常重要的。在此之前,只是有时能够正常工作。


由于滞后添加延迟

当流到达移动设备时,由于滞后和移动设备中浏览的限制,会添加一个延迟。


我们通过一个URL结尾的哈希标签降低视频流来解决这个问题。低分辨率的视频流URL可以包含'#res=low',高分辨率的视频流可以包含'#res=hd'作为一个可选的URL参数。另外要提示大家,其他的可配置属性现在也可以用作相同的目的,例如每秒的帧数。


记录WebRTC demo

我们已经开始涉足记录视频WebRTC demo。我们使用新的JavaScript类型数组来存储流数据记录这些视频。我们很快发现只能单独的来记录视频和音频。

为了解决这个问题,我们创建了两个实例记录,一个是音频的,一个是视频的,使用新的JavaScript数据类型并且同步记录两个流。


结论

我们对WebRTC非常感兴趣,并且使用这项技术创建了整个页面来进行实验。我们相信这将会在2013年改变互联网。如果有任何问题,欢迎和我们探讨。


本文翻译自 Dmitry Dragilev, Paul Greenlea和Robert Nyman联合发布的博客,原文:

https://hacks.mozilla.org/2013/05/embedding-webrtc-video-chat-right-into-your-website/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_856320.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LAMP网站架构方案分析

LAMP网站架构方案分析 LAMP网站架构方案分析 LAMP&#xff08;Linux-Apache-MySQL-PHP&#xff09;网站架构是目前国际流行的Web框架&#xff0c;该框架包括&#xff1a;Linux操作系统&#xff0c;Apache网络服务器&#xff0c;MySQL数据库&#xff0c;Perl、PHP或者Python编程…

Android webview中定制js的alert,confirm和prompt对话框的方法 (处理webview 带网站地址的弹出框)

在Android的webview中定制js的alert,confirm和prompt对话框的方法 http://618119.com/archives/2010/12/20/199.html 1.首先继承android.webkit.WebChromeClient实现MyWebChromeClient。 2.在MyWebChromeClient.java中覆盖onJsAlert,onJsConfirm,onJsPrompt三个方法。 3.在初…

网站加速--动态应用篇 (上)

--提升性能的同时为你节约10倍以上成本 From: http://blog.sina.com.cn/iyangjian 一, 引子 二&#xff0c;总体结构图 三&#xff0c;系统结构综述 四&#xff0c;环境配置以及底层基础类库 五, Memcache & Mysql 常用场景案例 六&#xff0c;更多待续 ...... -----------…

网站加速--动态应用篇 (下)

--提升性能的同时为你节约10倍以上成本 From: http://blog.sina.com.cn/iyangjian五&#xff0c; Memcache & Mysql 常用场景案例 经典篇: 更新数据&#xff1a; 写全局MC&#xff0c;然后再写DB。 读数据&#xff1a; 先读MC&#xff0c;命中返回数据。不命中则读DB&#…

jsp网站引入外部css或者js失效原因分析

路径问题 css或者js导入失效最有可能的原因就是路径错误&#xff0c;这里我给出我的网站目录结构导入css代码&#xff1a;<link rel"stylesheet" type"text/css" href"css/login.css"> 记得jsp头部需要设置相对路径&#xff1a;<%Strin…

2017 年最受欢迎的 10 个编程挑战网站

译者注&#xff1a;如果你想不断地提高自己的编程技能&#xff0c;那么不断尝试去解决那些编程中的难题&#xff0c;这是一个非常不错的途径。作者在本篇文章中列举出了10个编程挑战网站&#xff0c;你想尝试一下吗&#xff1f;以下为译文。 如果你正在在学习编程&#xff0c;那…

什么是静态网站?什么是动态网站?

什么是静态网站&#xff1f;什么是动态网站&#xff1f;对于从没有接触过网站建设的朋友来说&#xff0c;这个问题还是没有真正的了解&#xff0c;许多朋友至今还认为动态网站就是网页中有flash动画&#xff0c;即会动的东西&#xff0c;才是动态网站&#xff0c;这样的理解是会…

什么是静态网站?什么是动态网站?

什么是静态网站&#xff1f;什么是动态网站&#xff1f;对于从没有接触过网站建设的朋友来说&#xff0c;这个问题还是没有真正的了解&#xff0c;许多朋友至今还认为动态网站就是网页中有flash动画&#xff0c;即会动的东西&#xff0c;才是动态网站&#xff0c;这样的理解是会…

wamp下Apache构建局域网下的个人电脑服务器(网站根目录更改)

第一步&#xff1a;在安装盘下找到wamp64文件夹&#xff08;我安装在D盘&#xff09;。 第二步&#xff1a;在wamp64文件夹下找到bin文件夹。 第三步&#xff1a;在bin文件夹下找到Apache文件夹。 第四步&#xff1a;在Apache文件夹下找到apache2.4.27文件夹&#xff08;不同的…

用phpcms如何将静态页面制作成企业网站(中)

上篇博客中讲到了该修改网页的中间部分 中间的内容是这样的&#xff0c;有标题和内容&#xff0c;里面的内容被代码替代,运行起来就这样的 里面的内容就可以在后台管理那里添加 再来看代码部分 <div class"dt-double" style"left: 18.5%;"><!--…

10个PPT演示用图片下载网站

其中很多都支持TAG和标签搜索&#xff0c;比如在制作团队管理和建设的幻灯片的时候&#xff0c;可以直接使用Team&#xff0c;Teamwork等即可以搜索到很多有价值的图片。 1. istockphoto One of the best stock photo libraries around for price verses quality. Images from …

网站运维:PHPCMSV9安装教程

1、环境 CentOS Linux release 7.3.1611 XAMPP7.3.62、软件下载 http://download.phpcms.cn/v9/9.6/phpcms_v9.6.3_UTF8.zip 3、复制到安装位置 /opt/lampp/htdocs/ 4、开始安装 浏览器打开 http://www.baidu.com/install_package/ 即可打开安装引导 5、引导首页 6、设置…

网站运维:PHPCMS V9搭建二级域名管理后台

方法暂时不行&#xff0c;设置了二级域名&#xff0c;登上是首页&#xff0c;欢迎留言解决问题。 1、环境 centos7 xampp7.3.6 phpcms v92、设置方法1 PS&#xff1a;绑定后&#xff0c;只能通过该域名登录&#xff0c; 配置保存在 /caches/configs/system.php中&#xff0c;…

网站运维:phpcms重新安装方法

1、删除文件 网站根目录/caches/install.lock

网站运维:解决 drupal8 提示“ settings.php 中的 trusted_host_patterns ”设置未配置 问题

1、环境&#xff1a; drupal 8.7.3 centos 7 2、 添加代码 2.1、找到当前网站目录下的sites/default中的default.settings.php文件。 2.2、复制default.settings.php文件并改名为settings.php。 2.3、添加以下代码 博主的网站为cloudsystem.work $settings[trusted_host_pa…

网站运维:centos7安装Drupal8.7.3

1、环境 centos7.5 xampp7.3.62、Drupal官网 https://www.drupal.org/ 3、下载文件 安装包 https://ftp.drupal.org/files/projects/drupal-8.7.3.tar.gz 中文翻译 http://ftp.drupal.org/files/translations/8.x/drupal/drupal-8.7.3.zh-hans.po 3、安装 3.1 解压 tar …

网站运维:PrestaShop1.6安装中文教程

1、选择 2、出现以下警告时 警告&#xff01;您的PHP配置限制在表单字段允许的最大数量是 2500 for max_input_vars. Please ask your hosting provider to increase this limit to 5270 至少&#xff0c;否则您将需要编辑翻译文件。 解决方法&#xff1a;php.ini中查找max_i…

网站运维:opencart 3.0安装中文语言包

1、下载安装包 OpenCart 3.x版本语言包的安装遵循OCMOD模式&#xff0c;步骤如下&#xff1a; 从如下网站其一下载本语言包&#xff0c;下载后名称为: oc_3x.ocmod.zip https://www.opencart.com/index.php?routemarketplace/download&extension_id15172&member_tok…

网站运维:更新更新Drupal 8

…………官方说明………… https://www.drupal.org/docs/8/update/updating-drupal-8-overview-of-options 环境 centos 7 lamp Drupal 8.3 --》 Drupal 8.7 1、使用Drupal&#xff0c;将您的站点置于维护模式。为此&#xff1a; 将管理界面导航到管理>配置>开发>…