使用阿里云实现简单的直播

阿里云——媒体云(视频直播) 阿里云视频直播是基于阿里云强大的技术沉淀开发的音视频直播平台,拥有全链路覆盖、全球部署、安全稳定、超低延时、超高清等优势。全链路覆盖多渠道、全链路服务支持方案,多年技术能力的沉淀与输出。提供从推流、视频处理、内容分发到播放的全套解决方案。提供上下行码率自适应、窄带高清转码™、截图、录制、时移、数据监控、云导播、超低延时直播、视频流管理等功能和服务。全球布局全球战略,助力企业全球化扩展。直播节点分布 阅读详情

先说点废话, - -!最近懒了,都俩月没写东西了,不过确实项目面临上线,时间也有点紧,经常加班,而且!!在这个紧要关头,需求要加一个简单的直播模块,不用太华丽的那种,只要能实现:一边播,另一边能看就行。最终决定:用阿里云的。
于是就去官网上下载了Demo以及SDK等瞅了瞅。传送门:https://help.aliyun.com/document_detail/94843.html?spm=a2c4g.11186623.6.1019.4a61334fC18RJV
说到直播,因为以前也没接触过,只知道点皮毛,据我理解就是一个推拉流的过程。一方进行直播推流,另一方进行拉流观看。在项目中整合了直播模块后,现在看来貌似理解的还算正确。 - -!
官网中的Demo也分两个,一个是直播推流的Demo,一个是拉流观看的Demo,需要导入不同的SDK。进入正题:
——————————————————————————————————————————————
推流:首先你需要有一个推流地址,rtmp格式的:

"rtmp://video-center.alivecdn.com/...

后面省略号就不显示了,总之,这个推流地址由后台来提供,你只要需要生成流推送就ok了。
官方推流Demo中的核心代码:

LiveCameraActivity.RequestBuilder builder = new LiveCameraActivity.RequestBuilder()
                .bestBitrate(600)
                .cameraFacing(AlivcMediaFormat.CAMERA_FACING_FRONT)
                .dx(14).dy(14).site(1)
                .rtmpUrl("rtmp://video-center.alivecdn.com/...")
                .videoResolution(AlivcMediaFormat.OUTPUT_RESOLUTION_360P)
                .portrait(false)
                .minBitrate(500)
                .maxBitrate(800)
                .frameRate(30)
                .initBitrate(600);
        LiveCameraActivity.startActivity(this, builder);

这里面的各种参数配置我都是取的定值,Demo里界面是可以自定义的,由于我们项目暂时要求没那么高,我就全取了默认值,Demo里还有个水印图片啥的,我没添加这个参数,因为完全不需要。需要说明的是这个方法,执行之后,虽然打开了直播的页面LiveCameraActivity,但是还并没有开启真正的直播,真正开启直播的核心代码是LiveCameraActivity中的这些:

private final CompoundButton.OnCheckedChangeListener _PushOnCheckedChange =
            new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        try 
mMediaRecorder.startRecord(pushUrl);//开启直播
                        } catch (Exception e) {
                        }
                        isRecording = true;
                    } else {                  
                        mMediaRecorder.stopRecord();//停止直播
                        isRecording = false;
                    }
                }
            };

看过demo的都应该知道,这个页面中有一个按钮控制的开启和关闭直播,过多不解释。上面的这个方法才是真正意义上的控制直播的开启和关闭。到此为止,推流就算完成了。
导入推流SDK的方法简单说一下:下载官网推流的Demo后,会看到里面的libs和jniLibs,libs下有个alive-live-record的jar包,添加自己项目工程libs下,jniLibs下的armeabi-7a文件夹里的so包也添加到自己项目的jniLibs包里,注意:别忘了配置相关权限和application里初始化so包。具体参考官方Demo吧。


拉流:

拉流的过程,说白了,就跟播放一个url的视频一样,首先,观看直播,需要有一个观看的地址,同样,这个地址也是后台返给我们的,我们不用担心,但是我们Android原生的VideoView是播放不了rtmp格式的,只能借助阿里云提供的播放器来观看直播。传送门:https://help.aliyun.com/document_detail/124711.html?spm=a2c4g.11186623.6.1171.3e306412xzWZ0P
首先,需要导入相应的sdk,下载官网demo后,里面libs文件夹下有个AliyunPlayer.arr,我们同样放到我们自己项目的libs里,然后

//配合加载aar资源库使用
repositories {
    flatDir {
        dirs 'libs'
    }
}

最后dependencies中:

compile(name: 'AliyunPlayer', ext: 'aar')

里面的核心类,当然就是PlayerActivity啦!
其实核心代码也就这一句 - -!

mPlayer.prepareAndPlay("LiveUrl");//设置播放地址

这个LiveUrl就是后台返给你的观看直播的地址至于观看直播的界面效果可以随便修改自定义成你们自己需要的,具体参考Demo,Over~~~

PS:由于本人很久没有开发原生Android啦!所以SDK相关的使用方法可能都已经变更,请去官网(上面的链接我已经更新成最新的SDK地址了,不保证一直有效)参考最新的使用方法~

使用阿里云推流服务接入微信直播功能 1,在阿里云平台搜索视频直播,并按步骤开通所有依赖功能,进入视频直播的后台。2,视频直播功能分为推流(录制视频)、拉流(观看视频)两个过程。     推流:建议使用阿里云自带的阿里云直播,或者obs推流软件进行测试。     首先,按阿里云步骤配置域名,然后点击管理,进入管理界面。        然后,使用阿里云鉴权url,这样可以防止别人盗取链接。保证直播的安全性  然后,生成鉴权url即为此次... 阅读详情

相关推荐

阿里云视频直播 web前端[移动端] Aliplayer的简单案例

阿里云视频直播 web前端[移动端] Aliplayer的简单案例 最近做了一个功能就是播放后台提供的各种直播视频,格式在未确定的情况下,刚开始以为简单的一个video标签就能播放视频,后面才发现各种问题,video只是能播放一些常见的音视频格式,video是HTML5的新标,兼容这块就有很多浏览器不支持,主要兼容不是浏览器不支持,更多的是video不支持音视频格式。 video兼容 一共支持三种...

qq_39308154的博客 3654

阿里云视频直播服务的使用场景

阿里云视频直播服务(ApsaraVideo Live)是基于领先的内容接入与分发网络和大规模分布式实时流媒体转码技术打造的直播平台,提供便捷接入、高清流畅、低延迟、高并发的音视频直播服务。通过这些使用场景,阿里云视频直播服务能够满足企业在不同业务场景下的直播需求,提供高效、灵活、可靠的直播解决方案,提升用户体验和业务效果。- 阿里云视频直播服务提供高清流畅的直播体验,支持多种推流方式,如RTMP、FLV、HLS等。- 阿里云视频直播服务支持多种互动功能,如连麦、弹幕等,增强用户参与感。

九河智造云的内容中心 1596

阿里云云平台在电商直播的应用方案

随着直播电商行业的爆发式增长(2023年市场规模突破4.9万亿元),电商企业面临高并发流量处理、低延迟直播体验、海量内容存储与分发、实时互动功能实现等技术挑战。本文聚焦阿里云云平台在电商直播场景中的技术解决方案,涵盖从直播推流端到用户播放端的全链路技术架构,包括视频采集、编码处理、内容分发网络(CDN)部署、实时消息互动、智能内容审核、数据监控分析等核心环节,为技术决策者和开发者提供可落地的工程实践指南。电商直播技术架构核心概念与阿里云技术栈映射关系高并发直播系统的核心算法与关键技术实现。

AI云原生与云计算技术学院 1050

java 阿里云直播配置及推拉流地址获取

2、首次进入会提示开通服务,点击“开通服务”,然后选择计费方式,同意服务协议,然后立即开通。完成了推流域名与播流域名的配置后, 可以通过阿里提供的工具来进行推/播流的生成了。4、配置完上一个步骤后,返回域名管理,稍等几分钟解析生效后会看到域名状态已经是。确定完成之后,基本上我们的推流域名与播流域名就配置完成了。3、返回“域名管理”,会看到刚才添加的推流域名,把域名右侧的。2、按下图示例,根据自己的实际填写,然后提交。前四步与接入推流域名的过程类似,就不再赘述。配置,按下图示例填写,然后提交。

Rey的技术博客 5292

【阿里云播放器】AliyunPlayerTest.exe 播放mp4日志 win7

2022-08-17 23:23:04.750 0 0 I/AliFrameWork [0.9] [SdlAFVideoRender]: sdl log: 1 2 Window surface is invalid, please call SDL_GetWindowSurface() to get a new surface

突围 687

各种加法器的比对分析与Verilog实现(3)

了Kogge-Stone加法器和brent-kung加法器,本文将用Verilog代码进行实现。

Albert_yeager的博客 1198

阿里云视频直播使用详细步骤

视频直播服务(ApsaraVideo Live)是基于领先的内容接入、分发网络和大规模分布式实时转码技术打造的音视频直播平台,提供便捷接入、高清流畅、低延迟、高并发的音视频直播服务。 主播通过采集设备采集直播内容后,通过推流SDK推送直播流,视频直播服务通过边缘推流的方式将直播流推送至阿里云直播中心,推送的视频流通过CDN边缘节点进行加速保证上行传输的稳定性。 视频流推送至阿里云直播中心后,可按需对视频流进行转码、时移、录制、截图等处理。 处理好的视频流通过CDN内容分发网络,下发至观众的设备

weixin_46822367的博客 1万+

TwinCAT3 主站动态配置 PDO 的实战技巧与性能优化

本文深入探讨了TwinCAT3主站动态配置PDO的实战技巧与性能优化策略。通过对比静态PDO的局限,阐述了动态配置在提升系统灵活性、降低网络负载和保障实时性方面的核心优势。文章提供了从环境准备、代码实现到错误排查的完整流程,并重点解析了PDO映射、SDO通道区别以及分布式时钟同步等关键概念,帮助工程师掌握EtherCAT网络性能调优的核心方法。

weixin_29213525的博客 346

android webrtc 搭建直播_百毫秒超低延迟直播方案

直播已经进入百毫秒时代,阿里云和腾讯云都给出了可大规模商用的方案,开源方案早已经成熟。快速验证和技术调研,想自建?简单;上线了需要SLA和保障,平滑上云?没问题(后续会分享从开源到云方案)。启动SRSSRS的配置文件如下,也可以直接使用 conf/rtc_live.conf 启动SRS。# conf/rtc_live.conflisten 1935;max_co...

weixin_39575007的博客 911

Python中优化模块scipy.optimize的优化算法介绍

如果你有一个特殊的优化问题,你可以使用对象来自定义问题的求解。# 自定义目标函数# 自定义优化问题custom_problem.fun = custom_objective_function # 目标函数custom_problem.x = [1, 1] # 初始猜测# 执行优化# 打印结果在上述例子中,我们自定义了一个对象,并指定了目标函数和初始猜测,然后使用minimize函数进行求解。Scipy的优化模块提供了丰富的功能,适用于各种优化问题。

Pandas120的博客 3049

Tessent --- PDL

当关联的ICL模块是当前ICL顶部模块时,即当它与当前设计匹配时,只能iCall一个iTopProc。但是,可以在iTopProc内调用iCall iProc或iTopProc。为指定后续iProc命令引用的ICL模块,发出这个命令之后,随后定义的iProc都会对应的ICL模块进行定义。为后续iCall调用,当使用iCall命令调用该过程时,参数列表中的变量将被替换为iCall命令中指定的值。在调用iProc时,运行iProc内的命令。PDL是面向工程师的,工程师利用PDL语言,对ICL中的单元进行控制。

qiantianyiqian的博客 2786

云计算情报局预告|告别 Kafka Streams,让轻量级流处理更加简单

作者:不周 关键词:Kafka ETL,高弹性、免运维、低成本 阿里云消息队列 Kafka 版提供兼容 Apache Kafka 生态的全托管服务,彻底解决开源产品长期的痛点,是大数据生态中不可或缺的产品之一。随着 Kafka 越来越流行,最初只是作为简单的消息总线,后来逐渐成为数据集成系统,Kafka 可靠的传递能力让它成为流式处理系统完美的数据来源。在大数据工程领域,Kafka 在承接上下游、串联数据流管道方面发挥了重要作用,Kafka 应用流式框架处理消息也逐渐成为趋势。 说到流计算,常用的便是 St

阿里巴巴云原生的博客 735

使用R语言读取和处理CSV数据集

查看数据集的结构str(data)# 查看数据集的摘要统计信息str()函数将显示数据集的结构信息,包括变量名称、类型和前几行的值。summary()函数将提供数据集的摘要统计信息,如均值、中位数、最小值、最大值等。

CyberGenius的博客 3856

H5直播之阿里云视频直播的实现

转自https://blog.youkuaiyun.com/hanierming/article/details/52769424 由于公司需要开发一款直播软件,以前也并没有接触过直播这一方面,所以就来从0开始做一个直播,本着开放的原则,发此博文以供后者参阅。 视频直播服务提供商的选择: 在选择视频直播提供商的时候,目标选择有三家:七牛云、腾讯云与阿里云。由于七牛云以及腾讯云的视频直播需要审核,而且审核速...

ASP.NET 1万+

I2C通信——时序图

本文用逻辑分析仪抓取主机I2C通信的时序图,抓取的过程是读某个寄存器的值。

weixin_43772611的博客 7355

ChatGPT启蒙之旅:弟弟妹妹的关键概念入门

本文主要介绍了ChatGPT启蒙之旅:弟弟妹妹的关键概念探险,希望能对初学大模型的同学们有所帮助。 文章目录 1. 背景 2. GPT是个什么样的人? 3. GPT使用的核心思维 4. GPT使用的场景介绍

herosunly的博客 16万+

java SpringBoot 集成 阿里云视频直播 完成直播功能

经历了几天的周折,近期才把项目完成,在这里与大家分享一下踩坑之路,也方便日后有类似项目,可以借阅一番 该项目是一个H5直播,采用m3u8格式完成直播的展示。通过推流地址,借助第三方推流工具实现直播效果,比如:OBS 或者一些微信小程序 小推流。。等等 项目介绍:根据域名生成推流、播流地址,推流回调,检查推流状态。直播视频存储至OSS,视频回调,统计当前在线人数等等 项目需要:需要现在阿里云上配置你...

weixin_43753684的博客 1万+

第 13 章:Spring AI Alibaba MCP 与 Nacos3 — 企业级MCP服务

理解Spring AI Alibaba 框架下的MCP服务与Nacos注册中心整合的必要性,学会Spring AI Alibaba-基于Nacos的MCP实现方法

paopao_wu的专栏 788

【Android】使用阿里云直播实现手机直播功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、阿里云视频直播流程二、录制直播推流步骤1. 集成说明通过本地依赖方式集成SDK通过Maven依赖方式集成SDK2. 使用说明RTMP推流推流失败的情况三、观看直播总结 前言 最近公司项目里需要接入手机直播功能,因为之前PC直播用的是阿里云,后台服务器域名等都是部署在阿里云上。所以手机直播也选用了阿里云直播SDK。 一、阿里云视频直播流程 阿里云直播文档 主播通过采集设备采集直播内容后,通过推流SDK推送直播流,视频

u010689161的博客 2773

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

 阿里云视频直播详细流程,以及实现效果演示

阿里云视频直播详细流程,以及实现效果演示 前言:视频直播模块主要是在阿里云上生成一个播流与推流的地址,把推地址放入obs中(相当于主播开播),播流地址放入vcl中(相当于观众看直播)进行一个直播。 好的,话不多说,就是干,现在开始详细介绍直播开通的详细步骤 包括直接在阿里云上生成直...

baicaim的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java SpringBoot 集成 阿里云视频直播 完成直播功能

经历了几天的周折,近期才把项目完成,在这里与大家分享一下踩坑之路,也方便日后有类似项目,可以借阅一番 该项目是一个H5直播,采用m3u8格式完成直播的展示。通过推流地址,借助第三方推流工具实现直播效果,比如:OBS 或者一些微信小程序 小推流。。等等 项目介绍:根据域名生成推流、播流地址,推流回调,检查推流状态。直播视频存储至OSS,视频回调,统计当前在线人数等等 项目需要:需要现在阿里云上配置你的域名,推流域名,播流域名,推流回调地址,OSS存储,播流跨域问题等等 进入正题: 根据推拉域名生成推流

卓力的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

阿里云直播云服务平台如何实现直播回放?

阿里云通过录制存储、索引管理、播放控制、安全防护四大模块,结合控制台和API的灵活配置,为用户提供了高性能、低成本的直播回放解决方案。无论是电商、教育还是赛事直播,均可快速实现回放功能,同时保障内容安全和用户体验。

weixin_60510616的博客 1565

如何使用阿里云进行直播点播

前言 前一段时候,在兴趣的驱动下,研究了一下视频的直播和点播。大致是分为 自建的直播和点播平台 和 依靠云厂商来完成的直播和点播。 后来发现刚好阿里云还有OSS对象存储的套餐还没过期,正好介绍一下如何使用阿里云进行视频的直播。 备注: 关于依靠云厂商来实现的直播和点播,我觉得最重要是还要准备充足的费用。 如果没预估好价格和可使用时间,生产中就直接进行大规模的直播,不仅会产生费用问题,在扣无可口时,还会停止服务。 没交费导致的直播中断,也是遇到过的。 域名管理 首先要有一个已经备案的域名,后续都需要使

漠效的博客 3515

从零开始:PHP实现阿里云直播的简单方法!

在ThinkPHP框架中,可以使用Hls.js库来实现直播的播放功能。Hls.js是一个基于HTML5的JavaScript库,它能够将M3U8格式的直播流实时转换成模拟的FLV格式并播放。方法中,先生成一个六位的随机数和当前时间戳,然后计算出授权密钥,最后将这些参数替换到推流地址的相应位置。中定义了一系列变量,包括推流地址和播放地址的格式和一些基本的配置信息,同时定义了两个私有方法,分别用于获取推流地址和播放地址。使用阿里云直播功能前,首先需要在阿里云控制台中创建直播应用,然后获取推流地址和播放地址。

CRMEB小程序商城的博客 1243

如何用阿里云国际版实现海外直播?

通过阿里云国际版实现海外直播需重点关注全球节点覆盖、网络加速、安全合规三大核心。中小规模业务可快速接入阿里云直播服务,利用 CDN 和全球加速降低延迟;大规模场景需结合 GPU 转码、DRM 加密和弹性扩展策略,确保高并发和高可用性。同时,通过 SDK 集成和 API 操作实现快速开发,配合监控与日志分析持续优化直播质量。

weixin_60510616的博客 1511
上一篇: 视频引导页
下一篇: 刷新加载库
尘彦
博客等级 码龄11年 92粉丝 22原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘彦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值