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文件信息 

 

目录
相关文章
|
3月前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
427 4
|
Web App开发 编解码 算法
WebRTC简介
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
652 0
WebRTC简介
|
5天前
|
Web App开发 网络协议 Android开发
### 惊天对决!Android平台一对一音视频通话方案大比拼:WebRTC VS RTMP VS RTSP,谁才是王者?
【8月更文挑战第14天】随着移动互联网的发展,实时音视频通信已成为移动应用的关键部分。本文对比分析了Android平台上WebRTC、RTMP与RTSP三种主流技术方案。WebRTC提供端到端加密与直接数据传输,适于高质量低延迟通信;RTMP适用于直播场景,但需服务器中转;RTSP支持实时流播放,但在复杂网络下稳定性不及WebRTC。三种方案各有优劣,WebRTC功能强大但集成复杂,RTMP和RTSP实现较简单但需额外编码支持。本文还提供了示例代码以帮助开发者更好地理解和应用这些技术。
15 0
|
3月前
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
179 0
|
11月前
|
监控 网络协议 算法
RTSP播放器开发填坑之道
好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github:
|
11月前
|
缓存 监控 算法
RTMP播放器开发填坑之道
好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github:
|
Web App开发 编解码 JavaScript
WebRTC技术笔记笔记:WebRTC 网络技术理论与实战(一)
WebRTC 网络技术理论与实战(一) - WebRTC 概述
167 0
|
Web App开发 编解码 Linux
webRTC开篇
WebRTC系列
244 0
|
Web App开发 编解码 网络性能优化
《WebRTC源码深入剖析》总结
我精心打造的新课 **《WebRTC源码深入剖析》** 终于更新完了!!!2021年年初,在完成了我的处女作《WebRTC音视频实时互动技术——原理、实战与源码分析》一书之后,我终于下定决心,出一部WebRTC源码分析的课程了...
《WebRTC源码深入剖析》总结
|
Web App开发 编解码 移动开发