WebRTC 入门到放弃(一)WebRTC

简介: 前言  WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。

前言

  WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。2011年5月开放了工程的源代码,在行业内得到了广泛的支持和应用,成为下一代视频通话的标准。

如何使用

1、RecordRTC地址https://github.com/muaz-khan/RecordRTC

2、Nignx配置文件

    server {
        listen       443 ssl http2;
        server_name  www.tinywan.com;
set $root_path /home/www/build/RecordRTC/RecordRTC-to-PHP; root $root_path; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } location ~ \.php$ { fastcgi_pass unix:/var/run/php7.1.9-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; } }

说明:这里必须是Https方式访问,为什么看这里:https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

(1)http://localhost :被视为一个安全的来源,所以如果你能从localhost运行你的服务器,你应该能够在该服务器上测试这个功能。

(2)https:用公用信任的证书保护服务器。如果服务器可从Internet访问,则多个公共  CA提供免费的,自动更新的服务器证书

3、访问地址:https://www.tinywan.com/index.html

4、开始录屏

上面是我的一个xshell的窗口,可以看到实时的xshell的工作

5、录制完成操作

1、点击保存磁盘按钮

(必须的停止录屏CIA可以哦,不然是以前的录像)

将会下载视频,使用VlC打开刚刚要下载的是视频

 2、新窗口打开

 3、上传服务器

服务器死啊

public function recordRtcRun()
{
    foreach(array('video', 'audio') as $type) {
        if (isset($_FILES["${type}-blob"])) {
            echo 'uploads/';
            $fileName = $_POST["${type}-filename"];
            $uploadDirectory = ROOT_PATH . 'public' . DS .'uploads/'.$fileName;
            if (!move_uploaded_file($_FILES["${type}-blob"]["tmp_name"], $uploadDirectory)) {
                echo(" problem moving uploaded file");
            }
            echo($fileName);
        }
    }
}

注:以上片段解释了如何将记录的音频/视频文件POST到PHP服务器。 它捕获Blob并使用XHR2 / FormData进行POST。

JS 主要代码

var fileType = 'video'; // or "audio"
var fileName = 'ABCDEF.webm';  // or "wav"

var formData = new FormData();
formData.append(fileType + '-filename', fileName);
formData.append(fileType + '-blob', blob);

xhr('save.php', formData, function (fName) {
    window.open(location.href + fName);
});

// 这里的url改为上传文件路径就可以了
function xhr(url, data, callback) { var request = new XMLHttpRequest(); request.onreadystatechange = function () { if (request.readyState == 4 && request.status == 200) { callback(location.href + request.responseText); } }; request.open('POST', url); request.send(data); }

服务器上传视频文件

 

 

4、日志Console文件信息 

 

目录
相关文章
|
机器学习/深度学习 人工智能 算法
AI加速引擎PAI-TorchAcc:OLMo训练加速最佳实践
阿里云机器学习平台PAI开发的Pytorch训练加速框架PAI-TorchAcc已接入最新开源的大语言模型 OLMo。在保证模型效果和易用性的前提下,PAI-TorchAcc相对 PyTorch 性能在 OLMo 1B 上加速比达到 1.64X,在 OLMo 7B 上加速比达到 1.52X。本文分析了 PAI-TorchAcc 的性能收益来源。
|
消息中间件 资源调度 数据可视化
企业级分布式批处理方案
在企业级大数据量批处理需求场景中,如何通过分布式方式来有效地提升处理效率。本文将就常见批处理框架Spring Batch与SchdulerX进行比较讨论。同时基于阿里巴巴分布式任务调度平台SchedulerX2.0,实现一个分布式并行批处理方案,展示其相关的功能特性。
2567 0
|
小程序 开发工具 git
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
|
分布式计算 并行计算 数据库
Schedulerx2.0分布式计算原理&最佳实践
1. 前言 Schedulerx2.0的客户端提供分布式执行、多种任务类型、统一日志等框架,用户只要依赖schedulerx-worker这个jar包,通过schedulerx2.0提供的编程模型,简单几行代码就能实现一套高可靠可运维的分布式执行引擎。
26168 2
|
4月前
|
存储 域名解析 缓存
DNS解析过程
DNS(域名系统)解析是将域名转换为IP地址的过程,对互联网运行至关重要。解析方式主要包括递归查询和迭代查询。递归查询由本地DNS服务器代为完成,简化客户端操作;迭代查询则需客户端逐级向根DNS服务器、TLD服务器和权威DNS服务器请求。过程中涉及缓存机制以提高效率,如客户端与本地DNS服务器缓存及TTL值管理。示例中,解析www.example.com需依次通过本地、根、TLD和权威DNS服务器获取IP地址。
533 18
|
9月前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 框架基础介绍
本文介绍了AI算法、神经网络及其应用,解释了为何神经网络需要训练及AI框架的作用。通过解析深度学习的数学原理与反向求导算法,阐述了AI框架如何作为模型设计、训练和验证的标准工具,支持算法封装、数据调用及计算资源管理,强调了AI框架的发展历程和技术迭代。
337 9
【AI系统】AI 框架基础介绍
|
Cloud Native 安全 物联网
智能家居技术的未来展望云原生时代的技术革新与挑战
【8月更文挑战第23天】随着科技的飞速发展,智能家居已经从科幻小说走入了现实生活。本文将探讨智能家居技术的发展趋势、面临的挑战以及未来的潜力。我们将了解如何通过技术创新,使家居生活变得更加智能和便捷,同时确保用户隐私和数据安全。文章旨在启发读者思考智能家居如何与日常生活更紧密地结合,并探索其在未来社会中的角色。
|
Java 测试技术 Spring
SpringBoot自动装配—简化依赖管理的利器
SpringBoot自动装配—简化依赖管理的利器
244 0
|
移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable新建流程的升级修改
ruoyi-nbcio-plus基于vue3的flowable新建流程的升级修改
170 0
|
开发工具 git
git clone避坑的万能步骤
git clone避坑的万能步骤
2811 1