云导播台php,开发指南
步骤说明
配置用于导播输出的画面布局,用户可自定义画面及位置,目前支持最多四个画面。接口说明名称
描述
AddCasterLayout
新增布局
ModifyCasterLayout
修改布局
DescribeCasterLayouts
查询布局列表
DeleteCasterLayout
删除视频源
videoLayer
配置布局样式信息列表
audioLayer
配置音频信息列表
blendList
配置视频源位置列表
mixList
音频位置列表示例代码// 新增布局(AddCasterLayout)
IAcsClient iAcsClient = new DefaultAcsClient(DefaultProfile.getProfile("regionId", "accessKeyId", "secret"));
JSONObject componentLayer = new JSONObject();
componentLayer.put("HeightNormalized", 0.6);
componentLayer.put("WidthNormalized", 0.6);
JSONArray positionNormalized = new JSONArray();
positionNormalized.add("0.3");
positionNormalized.add("0.3");
componentLayer.put("PositionNormalized", positionNormalized);
componentLayer.put("PositionRefer", "topLeft");
JSONObject imageLayerContent = new JSONObject(); // 组件ImageLayerContent
imageLayerContent.put("MaterialId", "materailId");
AddCasterComponentRequest addCasterComponntRequest = new AddCasterComponentRequest(); // 设置组件元素属性
addCasterComponntRequest.setCasterId("LIVEPRODUCER_POST-cn-0pp123h****");
addCasterComponntRequest.setLocationId("RC01"); // 与组件关联的LocationId
addCasterComponntRequest.setComponentName("LIVEPRODUCER_POST-cn-0pp123h****");
addCasterComponntRequest.setComponentType("image"); // 图片类型
addCasterComponntRequest.setEffect("none"); // 无特效
addCasterComponntRequest.setComponentLayer(componentLayer.toJSONString());
addCasterComponntRequest.setImageLayerContent(imageLayerContent.toJSONString());
AddCasterComponentResponse response = iAcsClient.getAcsResponse(addCasterComponntRequest);
// 修改布局(ModifyCasterLayout)
IAcsClient iAcsClient = new DefaultAcsClient(DefaultProfile.getProfile("regionId", "accessKeyId", "secret"));
ModifyCasterLayoutRequest modifyCasterLayoutRequest = new ModifyCasterLayoutRequest();
modifyCasterLayoutRequest.setCasterId("LIVEPRODUCER_POST-cn-0pp123h****");
modifyCasterLayoutRequest.setLayoutId("LIVEPRODUCER_POST-cn-0pp123h****");
List videoLayersList = new ArrayList(); // 视频layer
ModifyCasterLayoutRequest.VideoLayer videoLayer1 = new ModifyCasterLayoutRequest.VideoLayer();
videoLayer1.setHeightNormalized(0.5F);
videoLayer1.setWidthNormalized(0.5F);
videoLayer1.setPositionRefer("topLeft");
videoLayer1.setPositionNormalizeds(Arrays.asList(new Float[]{0F, 0F}));
videoLayersList.add(videoLayer1);
ModifyCasterLayoutRequest.VideoLayer videoLayer2 = new ModifyCasterLayoutRequest.VideoLayer();
videoLayer2.setHeightNormalized(0.5F);
videoLayer2.setWidthNormalized(0.5F);
videoLayer2.setPositionRefer("topLeft");
videoLayer2.setPositionNormalizeds(Arrays.asList(new Float[]{0.5F, 0F}));
videoLayersList.add(videoLayer2);
ModifyCasterLayoutRequest.VideoLayer videoLayer3 = new ModifyCasterLayoutRequest.VideoLayer();
videoLayer3.setHeightNormalized(0.5F);
videoLayer3.setWidthNormalized(0.5F);
videoLayer3.setPositionRefer("topLeft");
videoLayer3.setPositionNormalizeds(Arrays.asList(new Float[]{0.2F, 0.5F}));
videoLayersList.add(videoLayer3);
modifyCasterLayoutRequest.setVideoLayers(videoLayersList);
List audioLayerList = new ArrayList();
ModifyCasterLayoutRequest.AudioLayer audioLayer1 = new ModifyCasterLayoutRequest.AudioLayer(); // 音频layer
audioLayer1.setVolumeRate(1F);
audioLayer1.setValidChannel("all");
audioLayerList.add(audioLayer1);
ModifyCasterLayoutRequest.AudioLayer audioLayer2 = new ModifyCasterLayoutRequest.AudioLayer();
audioLayer2.setVolumeRate(1F);
audioLayer2.setValidChannel("all");
audioLayerList.add(audioLayer2);
ModifyCasterLayoutRequest.AudioLayer audioLayer3 = new ModifyCasterLayoutRequest.AudioLayer();
audioLayer3.setVolumeRate(1F);
audioLayer3.setValidChannel("all");
audioLayerList.add(audioLayer3);
modifyCasterLayoutRequest.setAudioLayers(audioLayerList);
modifyCasterLayoutRequest.setBlendLists(Arrays.asList(new String[]{"RV01", "RV02", "RV03"}));
modifyCasterLayoutRequest.setMixLists(Arrays.asList(new String[]{"RV01", "RV02", "RV03"}));
ModifyCasterLayoutResponse response = iAcsClient.getAcsResponse(modifyCasterLayoutRequest);
// 查询布局列表(DescribeCasterLayout)
IAcsClient iAcsClient = new DefaultAcsClient(DefaultProfile.getProfile("regionId", "accessKeyId", "secret"));
DescribeCasterLayoutsRequest request = new DescribeCasterLayoutsRequest();
request.setCasterId("LIVEPRODUCER_POST-cn-0pp123h****");
DescribeCasterLayoutsResponse response = iAcsClient.getAcsResponse(request);
// 删除布局(DescribeCasterLayout)
IAcsClient iAcsClient = new DefaultAcsClient(DefaultProfile.getProfile("regionId", "accessKeyId", "secret"));
DeleteCasterLayoutRequest deleteCasterLayoutRequest = new DeleteCasterLayoutRequest();
deleteCasterLayoutRequest.setCasterId("LIVEPRODUCER_POST-cn-0pp123h****");
deleteCasterLayoutRequest.setLayoutId("LIVEPRODUCER_POST-cn-0pp123h****");
DeleteCasterLayoutResponse response = iAcsClient.getAcsResponse(deleteCasterLayoutRequest);
云导播台php,开发指南相关推荐
- 云导播台php源码,云导播台使用指南
云导播台 目睹直播云导播台,是用于多路视频流切换的虚拟导播台,可实现4路音视频切换.字幕滚动.2路画中画场景及多种视频流输入方式. 目睹直播云导播台为收费功能,点击对应频道,在"直播控制&q ...
- 在线云导播台优势与应用场景
本文章为原创教程,转载请说明 特色优势: 低成本实现多路信息的切换:硬件导播台成本要数万: 支持多画面实时切换:可以预设广告: 支持混流视频直播:多场景切换. 应用场景: 1. 做多地多会场直播时,可 ...
- 【专题速递】多视图流媒体、明星陪看直播技术、金山云直播架构演进和云导播台...
// 流媒体如何吸引更多消费者?爱奇艺的明星陪看技术得到了怎样的成效?边缘计算在直播中在直播中的探索效果如何?B站云导播台7月29日LiveVideoStackCon2023上海站架构与服务端优化专场 ...
- 阿里云视频直播中如何直接打开云导播台控制界面进行导播切播操作?
阿里云视频直播中如何直接打开云导播台控制界面进行导播切播操作? 首先,重复我们的关键问题:阿里云视频直播中如何直接打开云导播台控制界面进行导播切播操作.这一问题,对于许多网络直播从业者来说,尤其是那些 ...
- 奥运转播加速上云,阿里云导播台初试牛刀
10月11日晚,北京冬奥组委与国际奥林匹克转播机构进行了云视频传输技术测试,工作人员通过阿里云传输技术,对布宜诺斯艾利斯青奥会游泳.三人篮球.BMX小轮车三项赛事项目进行多路电视转播测试,监测了实时传 ...
- 直播新风向 | 云上的专业导播台,让直播更轻松、更便捷
33 台摄像机 2:1 改写命运 没有这个强力后盾 VAR 也只是个空壳 2018 世界杯已经落幕,20 年后再折桂的法国球队成为议论热点,然而如果没有「VAR」--视频助理裁判,比赛结果很可能被改写 ...
- OBS Studio导播台多画面使用实测
OBS Studio导播台多画面使用实测 / 原创内容 / 阿酷T ONY / 长沙 / 2021-10-26 第1部分:OBS多画面导播实测 上图: 图1:OBS Studio云导播台使用实测 ...
- 保利威在线导播台纯web版网页导播台测试
在线导播台应用场景说明(支持混流): 1. 做多地多会场直播时,可以用云导播台实现异地直播的切换:例如直播总会场与各地分会场做联合直播: 2. 多地多位老师,共同讲一堂课程,可以实现老师之间的切换: ...
- 直播技术专家蔡鼎:云导播的技术实现和玩法
2019独角兽企业重金招聘Python工程师标准>>> 分享人:阿里云 直播系统技术专家 蔡鼎 今天,阿里云直播系统技术专家蔡鼎将为大家从五个方面介绍阿里云云导播的技术实现和玩法:云 ...
最新文章
- [Java面试五]Spring总结以及在面试中的一些问题.
- unix grep命令的大致实现
- 提取点的dn值_干货在线 | DEM数据如何生成高程点
- VTK:离散行进立方体用法实战
- 3_less混和(使用类来混合)
- 小程序 实名信息_微信小程序+商城信息管理系统
- TCP协议相关属性设置之SO_DONTLINGER属性
- java学习笔记------ PrintStream
- Pyshark获取data-text-lines字段的值
- code principles
- Eclipse开发struts完全指南(二)安装与配置
- dubbo源码解析之dubbo配置解析
- Highcharter绘制中国地图
- snmp v3 参数_SNMPv3 配置及snmpwalk命令信息获取
- 得力助手 消防员的 消防机器人_机器人化身消防员“得力助手”,进入危险火场执行工作|机器人日报...
- CWRU滚动轴承数据集简介
- 怎么把知网的外文文献翻译成中文_中国知网上的汉语文献的英文版在哪里找
- 动态代理的两种方式以及区别
- 关于左对齐和左对齐的一些简单理解和杨辉3角的算法思想
- 计算机二本专业怎么进国企,这3所学校虽然是二本,但毕业后就业前景好,很容易进国企...
热门文章
- MPR121使用总结
- 超级实时图形计算机,从猫狗不分到实时识别准确率超过99%,计算机图像识别是如何做到的?...
- 【WEBRTC】ADM: rtc_include_internal_audio_device 触发 RTC_DCHECK(adm) 断言
- python中os.path.isfile函数
- 奶爸日记26 - 生日祝福
- Qt控件种类介绍及属性分析(二)
- 怎么把jpg转换成docx格式
- 腾讯云云直播海外相关问题
- 二叉堆及其在A*算法中的应用
- Firefox拉黑中国