apicloud,aliyunlive,测试成功

1.推流

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"><title>直播测试</title><link rel="stylesheet" type="text/css" href="../../css/aui.2.0.css" />
</head><body style="overflow: hidden;"><header class="aui-bar aui-bar-nav">发起直播
</header><script type="text/javascript" src="../../script/api.js"></script>
<script type="text/javascript" src="../../script/common.js"></script><script>var aliyunLive;apiready = function () {fix_status_bar();aliyunLive = api.require('aliyunLive');aliyunLive.configStream({rect: {x: 0,y: 0,w: 375,h: 667},url: 'rtmp://video-center.alivecdn.com/yunlutong/test?vhost=live.yunlutong.com&auth_key=1490162678-0-0-0a084668d1f4b0eb1066a33c04c3bcf8',bitRate: {videoMaxBitRate: 1500 * 1000,videoMinBitRate: 400 * 1000,videoBitRate: 600 * 1000,audioBitRate: 64 * 1000},fps: 20,screenOrientation: 'vertical',reconnectTimeout: 5,videoResolution: '240P',videoPreset: '1280*720',cameraPosition: 'front',waterMarkImage: {path: '',location: 'leftTop',maginX: 20,maginY: 20},fixed: true},function(ret) {startStream();});}// 增加连接状态监听function addConnectStatusListener() {aliyunLive.addConnectStatusListener(function(ret){alert(JSON.stringify(ret));});}// 销毁推流,测试有效function destroyStream() {aliyunLive.destroyStream();}// 转换摄像头,测试有效function toggleCamera() {aliyunLive.toggleCamera();}// 设置美颜,测试有效function setBeauty() {aliyunLive.setBeauty({beauty: 'on'});}// 设置静音function setMute() {aliyunLive.setMute({mute: 'on'});}// 设置闪光灯,测试有效,对后置摄像头有效function setFlash() {aliyunLive.setFlash({flash: 'on'});}// 停止推流function stopStream() {aliyunLive.stopStream(function(ret){alert(JSON.stringify(ret));});}// 开始推流function startStream() {aliyunLive.startStream(function(ret){alert(JSON.stringify(ret));});}</script></body>
</html>

2.拉流

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"><title>直播测试</title><link rel="stylesheet" type="text/css" href="../../css/aui.2.0.css" />
</head><body style="overflow: hidden;"><header id="aui-header" class="aui-bar aui-bar-nav">看直播
</header><script type="text/javascript" src="../../script/api.js"></script>
<script type="text/javascript" src="../../script/common.js"></script>
<script type="text/javascript" src="../../script/jquery.min.js"></script>
<script>var mediaPlayer;apiready = function () {fix_status_bar();mediaPlayer = api.require('aliyunLive');mediaPlayer.init({rect: {x: 0,y: $("#aui-header").height(),w: api.winWidth,h: api.winHeight - $("#aui-header").height()},accessKeyId : 'xxxxx',accessKeySecret : 'xxxxx',businessId : 'yunlutong'}, function(ret, err) {prepareToPlay();play();});}// 添加监听function addEventListener() {mediaPlayer.addEventListener(function(ret){alert(JSON.stringify(ret));});}// 设置缓冲时长function setMaxBufferDuration() {mediaPlayer.setMaxBufferDuration({duration:10000});}// 设置默认解码器,0硬件解码器,1软件解码器function setDefaultDecoder() {mediaPlayer.setDefaultDecoder({type : 1});}// 视频缩放,0等比例缩放,1剪切缩放function setVideoScalingMode() {mediaPlayer.setVideoScalingMode({mode : 1});}// 设置静音function setMuteMode() {mediaPlayer.setMuteMode({isMute:true});}// 设置媒体类型function setMediaType() {var mediaPlayer = api.require('aliyunLive');mediaPlayer.setMediaType({type:0});}// 请求超时时间function setTimeout() {mediaPlayer.setTimeout({timeout:5000});}// 获取视频高度function getVideoHeight() {mediaPlayer.getVideoHeight(function(ret){if(ret){alert("Video height : " + ret.height);}});}// 获取视频宽度function getVideoWidth() {mediaPlayer.getVideoWidth(function(ret){if(ret){alert("Video width : " + ret.width);}});}// 摧毁直播function destroy() {mediaPlayer.destroy();}// 停止播放function stop() {mediaPlayer.stop();}// 暂停function pause() {mediaPlayer.pause();}// 播放function play() {mediaPlayer.play();}// 准备播放function prepareToPlay() {mediaPlayer.prepareToPlay({url:'http://live.yunlutong.com/yunlutong/test.m3u8?auth_key=1490164347-0-0-a19f94a4fcd8a033f6b778bedd48545c'}, function(ret, err) {if(ret && ret.status){}});}</script></body>
</html>

ps:
1.这里需要申请Access Key ID,Access Key Secret
422101-20170322144612877-1590095532.png

2.配置好推流和拉流的url。

3.这里只是初步实现了视频直播的功能,具体的还是需要配合服务器,把直播列表的数据获取到,展示到app中。
最好能够支持用户发言,发送小礼物,或者查看在线人数,和观看视频的人数。这些都需要处理。

转载于:https://www.cnblogs.com/jiqing9006/p/6599906.html

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

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

相关文章

走进netty

三月份开始看公司RPC框架的源码,发现如果要折腾明白,网络通讯这块知识必不可少.于是从如下几点开始逐步研究. 一、基础知识篇 1.Unix下5种I/O模型 Linux的内核将所有外部设备都看作一个文件来操作,对于一个文件的读写操作会调用内核提供的系统命令,返回一个fd(文件描述符),而对…

ZeroC ICE的远程调用框架 ASM与defaultServant,ServantLocator

ASM与defaultServant&#xff0c;ServantLocator都是与调用调度&#xff08;Dispatch&#xff09;相关的。 ASM是ServantManager中的一张二维表_servantMapMap&#xff0c;默认Servant则由_defaultServantMap和_locatorMap两张一维表维护。一个对 象可由这样的字符串指定"…

gdb调试若干问题

1.若干命令速查 file <文件名>&#xff1a;加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB&#xff0c;因而文本名不需要带路径。示例&#xff1a;(gdb) file gdb-sample r&#xff1a;Run的简写&#xff0c;运行被调试的程序&#xff0c;也是重启…

java线程中的notifyAll唤醒操作

注意&#xff1a; java中的notifyAll和notify都是唤醒线程的操作&#xff0c;notify只会唤醒等待池中的某一个线程&#xff0c;但是不确定是哪一个线程&#xff0c;notifyAll是针对指定对象里面的所有线程执行唤醒操作&#xff0c;指定对象一旦唤醒成功。则会立即加入线程的资源…

阻止html页面加载,如何防止页面加载重复的JS?

我自己写了一个页面&#xff0c;除了公共部分的页头页脚以外&#xff0c;其余内容都是通过Ajax加载过来的&#xff0c;现在遇到了比较头疼的问题&#xff1a;先说一下我加载的方式$.ajax({type : "GET",url : hrefPage,dataType : html,cache : true, // (warning: t…

IIS的安装与配置

安装IIS 若操作系统中还未安装IIS服务器&#xff0c;可打开“控制面板”&#xff0c;然后单击启动“添加/删除程序”&#xff0c;在弹出的对话框中选择“添加/删除Windows组件”&#xff0c;在Windows组件向导对话框中选中“Internet信息服务&#xff08;IIS&#xff09;”&…

ie11不兼容 html编辑器,ie11兼容性视图护驾浏览网页

安装 ie11 后&#xff0c;原来的在线网页编辑器不能粘贴、也不能插入图片了&#xff0c;有些网站也不能登录&#xff0c;怪不适用的&#xff0c;无奈只能启用ie11兼容模式。把显示或操作不正常的网站添加到兼容性视图后&#xff0c;又可以操作了&#xff0c;好在ie有兼容模式&a…

gitlab用户添加ssh免密钥认证后clone还是要求输入密码

今天在centos 7公网服务器上安装gitlab在配置ssh免密钥时遇到一个奇怪的事&#xff0c;正确添加了本机的公钥到gitlab账户上&#xff0c;进行clone时死活都要你输入密码gitlab使用yum安装的&#xff0c;之前在vmware虚机上的一台centos 7安装也没有这个问题根据这个文章的思路进…

yii源码学习心得

1.通过看源代码&#xff0c;对yii的框架学习有了更多的认识和理解 assets 前端资源文件夹&#xff0c;用于管理css js等前端资源文件等 commands 包含命令行命令&#xff0c;文件为控制器文件 config 应用的配置文件 controllers 控制器文件 mail &#xff08;应用的前后台…

consul删除无效服务

curl http://server_ip:8500/v1/agent/service/deregister/paas-portal-sit-9003 -X PUT 删除无效服务&#xff1a; paas-portal-sit-9003 为服务名称 页面上进入服务详单(/ui/dc1/services/xxx)从这里找 删除无效节点&#xff1a; http://server_ip:8500/v1/agent/force-l…

英语四级真题作文 计算机,2019年6月大学英语四级作文范文50例:电脑

新东方在线英语四级频道为备考英语四级的同学们整理了英语四级作文范文&#xff0c;希望可以为大家带来帮助&#xff0c;一起来学习一下吧。Computers in Students’ Flats1. 现在大学生宿舍几乎人手一台电脑2. 有些人认为会促进学生的学习&#xff0c;有些人认为会影响学生的学…

java 抽象方法

int 是基本数据类型Integer是其包装类&#xff0c;注意是一个类。为什么要提供包装类呢&#xff1f;&#xff1f;&#xff1f;一是为了在各种类型间转化&#xff0c;通过各种方法的调用。否则 你无法直接通过变量转化。比如&#xff0c;现在int要转为Stringint a0;String resul…

1前端学习(2345):关于前端对于xml格式文件的渲染

一、xml和json对比 xml:扩展标记语言&#xff0c;     优点&#xff1a;格式统一&#xff0c;格式标准&#xff0c;容易与其他系统远程交互&#xff0c;数据共享比较方便     缺点&#xff1a;xml文件庞大&#xff0c;格式复杂&#xff0c;解析会花费大量时间和资源&am…