Video-Call-App

授权协议 Readme
开发语言 PHP
所属分类 Web应用开发、 WebSocket开发包
软件类型 开源软件
地区 不详
投 递 者 庾君博
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Video Call App

A one-to-one text, audio and video chat application built with WebRTC and RatchetPHP.

Requirements

  • PHP >= 5.4
  • Composer

Features

  • Video call
  • Audio call
  • Recording
  • Text chat
  • Two participants only

If you require more than two participants, check out this and this.

Getting Started

To test this app on your local server:

  • Run composer install from the root directory to install dependencies.
  • Set your app root (base url) in /js/config.js.
  • Open /ws/bin/server.php and add your domain name and/or ip address to $allowed_origins array, then replace the localhost and PORT in $app = new Ratchet\App('localhost', PORT, '0.0.0.0'); with either your domain name or ip address and Port number respectively.
  • Set your web socket url in /js/config.js. Ensure the domain name and port matches what you set above. Use wss for secured connection.
  • Start Ratchet server by executing php ws/bin/server.php from your CLI.
  • Blam! Good to go. Open the app on two different devices to start chatting.
  • Works best on Chrome, Firefox and the latest versions of Opera desktop browser.
  • Xirsys' free STUN/TURN servers were used. If interested, you can get a free xirsys account, rename Server.example.php to Server.php and update it with your free credentials. Alternatively, you can use any STUN/TURN of your choice.

Note

To host this online, you'll need to set up a few things:

  • Create Ratchet as a service so it can run persistently on your server. Check the file create-ratchet-as-a-service-with-daemon.txt for the guide on how to do this on linux servers.

  • If on SSL, Ratchet won't work unless you make some changes on your server.

    • Enable mod_proxy.so

    • Enable mod_proxy_wstunnel.so

    • Open your apache SSL config file and add this: ProxyPass /wss-secured/ ws://WEB_SOCKET_DOMAIN:WEB_SOCKET_PORT/

      e.g. ProxyPass /wss-secured/ ws://www.abc.xyz:PORT/

      Note that you can substitute the wss-secured above with any path of your choice but you have to use the same path while connecting from the front-end as shown below.

    • Update your web socket url in /js/config.js:

      const wsUrl = 'wss://YOUR_WEB_SOCKET_DOMAIN/wss-secured';

  • Please note that most browsers will not allow access to media devices except the application is running on SSL or localhost (127.0.0.1).

Demo

You can test at https://1410inc.xyz/video-call-app.

  • uni-app的官方文档,功能简要查询查找 标语:即使深陷泥潭,也不要忘记仰望星空 文档阅读注意 本文档为博主使用uni-app总结的一些常用功能的使用方法,不喜勿喷,仅供快速查找常用的功能。 uni-app中部分有的平台可能不兼容,请查询官方文档 本文档只显示基础功能,具体属性请查询官方文档 微信小程序的版本问题众多,本文档在2.14.1版本中可正常运行,如果不能正常运行,请切换版本,如依然无效

  •  安卓机器中都有很多视频软硬件编解码器,例如: h264/hevc/h263/mpeg4……等等。但是如果现在有一个新的符合标准的编码器给你,需要怎么集成呢?阅读本文你将会找到答案。 1. 软件编码器的集成:   集成之前需要先了解软件编码器的加载过程: 1.1 软件编码器的加载过程 // frameworks/av/media/libstagefright/ACodec.cpp step1: A

  • There are two forms of video editing, active form and passive form, Passive form : means you make a lot of templates. After the user opens your app, it will be listed to let the user choose a style th

  • 本文url==https://github.com/apicloudcom/APICloud-App-Templates demo :http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=47679 基于APICloud平台开发的应用案例模版源码合集,收集一些优秀的基于 APICloud 技术开发的应用模板,欢迎更多的开发者共

  • uni-app v3版本更新常见问题排查 组件不显示或者功能异常 原因:组件内使用了 onReady,onReady 是页面的生命周期,不应在组件中直接使用,组件中应该使用 mounted 生命周期 解决方法:onReady 改为 mounted 更新组件状态,视图不更新 原因:使用了 vue 无法观测的数组更新方式(如:this.array[0]=object),相关文档 解决方法:改为可以观测

  • 起因: H5端 uniapp 提供的 video 组件,在点击其全屏按钮后,进入全屏状态,视频显示部分仍然为竖屏显示,无法转换成横屏,查阅了大量的资料。 官方人员说 H5端不支持 了解详情 但是客户提出来了就要想办法解决 解决方案: 自定义 video 组件,不使用官方组件 使用 css 进行样式修改强制 横屏 就有了第一版 获取video标签,对齐进行css样式修改… 简单粗暴 需要把video

  • Platform: SDM429  msm8937  android8.1 Usecase : video call   本篇日志重在结合log分析 BT蓝牙耳机模式下, video call音频流程。 本项目在configs/msm8937/msm8937.mk关闭了video call的 vendor.voice.path.for.pcm.voip  宏音频通路。所以VOIP通路走的本地录音和

  • 本文url==https://github.com/apicloudcom/APICloud-App-Templates demo :http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=47679 基于APICloud平台开发的应用案例模版源码合集,收集一些优秀的基于 APICloud 技术开发的应用模板,欢迎更多的开发者共

  • 前言:       APP录制视频一般调用mediarecorder或者mediacodec接口。mediarecorder的优势就是简单。几行代码就可以搞定。相比于mediarecorder,mediaocdec的优势就是自由度更高,app可以加一些自己的前处理、后处理等算法。所以一般app都会选择mediacodec接口。   本文将介绍app调用mediacodec录像的调用过程: 代码实现

 相关资料
  • .call( callback:Function, params:Array, scope:*, position:* ) : * 在时间轴的末尾(或position位置)增加一个回调函数,作用类似于add( TweenLite.delayedCall(...) ) ,以下代码效果大致相同: myTimeline.add( TweenLite.delayedCall(0, myFunction,

  • 给定一个 key 和一个 set 作为参数,给定上下文时调用它们。主要用于函数组合。 使用闭包以存储的参数调用存储的 key 。 const call = (key, ...args) => context => context[key](...args); Promise.resolve([1, 2, 3]) .then(call('map', x => 2 * x)) .then(c

  • Extends Widget A widget that plays a video from an URL. Import this type with “const {Video} = require('tabris');” Android iOS Methods pause() Pauses the video. state changes to pause and speed to 0.

  • 描述 视频播放组件。 安装 $ npm install rax-video --save 属性 属性 类型 默认值 必填 描述 支持 id string - ✘ id 选择器 src string - ✔️ 视频地址 autoPlay boolean false ✘ 设置视频自动播放 muted boolean false ✘ 是否播放音频 loop boolean false ✘ 是否循环播放

  • WARNING Weex中内置的<video>组件一般只做demo用途,在你的App中,你应该用你喜欢的视频库重新实现video组件。 Video 组件用于在页面中嵌入视频内容。 text 是唯一合法的子组件。 src, string. 内嵌的视频指向的URL。 play-status, string. 可选值为 play | pause,用来控制视频的播放状态,play 或者 pause,默认值

  • 以下是视频的子类型: BMPEG MP4V-ES vnd.mpegurl BT656 MPV vnd.nokia.interleaved-multimedia CelB mpeg vnd.objectvideo DV mpeg4-generic vnd.sealed.mpeg1 H261 nv vnd.sealed.mpeg4 H263 parityfec vnd.sealed.swf H263-