目录:
1.阿里云直播服务器费用
2.阿里云直播互动
3.阿里云直播流量怎么收费
4.直播用阿里云流量费用合算吗
5.阿里云视频直播价格
6.阿里云直播接口一年多少钱?
7.阿里云直播软件
8.阿里云直播接入
9.阿里云直播api
10.阿里云直播平台官网
1.阿里云直播服务器费用
背景图来源click写在前面:之前有个想法,关于直播的,思考了还蛮多的,后来就记录了一些在这里:Live mind,就当是本篇一个伏笔,也简单聊聊吧,1.直播短视频这个行业,近几年各大公司都在往这个方向发展,技术也是更新好几拨,在生活中也是无处不在;直播平台也有像,斗鱼,抖音短视频app,BiliBili,腾讯Now==;李嘉琪、薇娅在2019年的耀眼表现让人们对直播电商已经有了很高的期待,再加上抖音短视频大火,5G技术出来,高清视频;直播利润其实是非常丰富的,直播公司基本上都不怎么缺钱,
2.阿里云直播互动
2.今年疫情期间企业急需找到解决线下交易遭受重创,线下经济遇冷,但无接触线上经济火爆,直播带货的热度骤升,像2020年4月1日,罗永浩转战抖音直播,卖艺兼卖货;央视段子手朱广权与李嘉琪组队“小朱配琦”直播湖北专场;再加上梁建章(新一代换装大佬)为首的CEO们连番下场,直播带货已经掀起全民风潮
3.阿里云直播流量怎么收费
3.做主播也赚得盆满钵满,更有甚者连睡觉直播睡个觉都能赚个1万,20万这样的新闻太多,(我没看过,但也很诧异)细一想,就一个新鲜感能够满足大众的好奇心,赚一些你想都想不到的钱,也不用嘲讽别人,那是别人的本事;新鲜感一过现在应该也就没有人再看了,不管你对直播视频行业如何看法,它始终都在那里,而我们活着,都是为了赚更多的钱来生活,当然也有别的人会做更有意义的事情,比如像我这样赚钱的同时也会分享解决方案,ok,本篇《android中直播,短视频解决方案(含阿里云直播sdk修正版本)》
4.直播用阿里云流量费用合算吗
关键词: 直播带货,直播,短视频,阿里云SDK,宠物直播,直播睡觉,长视频,直播旅游,直播教学直播,短视频解决方案(含android阿里云直播sdk修正版本下载)之前也遇到过一些产品,他们想要某个功能,但描述不清楚,可能他们觉得很简单的到开发者手里却不容易实现,觉得难有时候反而简单一些,有的可能根本实现不了(比如有些界面上通知一条消息,虽然看上去容易,但可能要长连接,试想一下,如何给出稳定的长连接呢,直接在某个重要的类中,来模拟),导致后面需求更改,所以:无论做什么,一定要理解了解自己的需求,然后去选择方案,怎么样最节约成本。
5.阿里云视频直播价格
可以看一下这里有一个讨论的,一款App的开发成本是多少?】下面根据自己的经验,如果是要开发一个类似于抖音(只包含直播,短视频)这样的App,我们应该怎么做呢?有什么样的解决方案?如果是只需要移动端【阿里云直播sdk修改版本下载】请直接定位到【“二:技术实践 ”-2.阿里云直播SDK移动端下载】
6.阿里云直播接口一年多少钱?
一:解决方案: 1.全部采用第三方sdk(如声网,) 2.第三方sdk结合自己公司服务器(一般选用) 3.全部采用自己0到1(需要一定实力)1.全部采用第三方sdk直播方案很多,比较常见有的腾讯直播,阿里直播Api
7.阿里云直播软件
,声网,网易直播,七牛云,UCloud,保利威利,金山云,大牛github SmarterStreaming直播等方案提供商这里推荐声网(and),觉得视频质量延迟都有保证,并且它的接口文档比较全面,(缺点是。
8.阿里云直播接入
声网价格是比这些要贵很多)如推流mRtcEngine.removePublishStreamUrl(mPublishUrl);mRtcEngine.addPublishStreamUrl(mPublishUrl
9.阿里云直播api
,true);听阿里云内部人说,趣拍直播的技术含量挺高,用的是阿里云的存储技术,可以保障千人在线不卡顿,(在后面阿里云直播sdk的修正版本)2.与第三方sdk结合出于安全考虑,与第三方sdk结合是很多公司都会采用的方案,而且能够降低一定的研发成本
10.阿里云直播平台官网
比如:我们可以采用声网的sdk来做视频直播,但是用户的聊天数据,用户信息数据存储在我们自己的服务器,我们自己的服务器使用阿里云数据库,这样安全性更好;而且如果要使用声网的rtm你还需要额外付费3.全部采用自己0到1
全部是自己公司来做的话, 那么涉及(考虑)服务器架构,前端,后端,移动端,RTC,RTM服务器,自己的直播专属推流服务器等等内容对于移动端直播,做直播推流步骤是关键,CDN调度要选择最快的IP进行推流,音视频同步的问题也是需要很大的技术含量才能搞定,其他的像美颜,滤镜什么的都不容小觑,另外要满足人多的时候在线不卡顿,只有做到这样才能让直播顺利的进行,如果自己的推流和存储不强大还是建议采用接入第三方的SDK,这样可以降低技术和资金的风险。
这样的公司需要具备一定实力,当然这些技术我也研究过,在下面我本着本专业内容,也会总结出来这些移动端的技术集合二:技术实践针对上面解决方案中,主要介绍“全部采用自己0到1”和“阿里云直播sdk”的方式说明: 这里涉及的内容仅针对移动端,如如sdk中集成服务端的功能可以点击“一”中相关的链接,有相应的开发文档
1.全部采用自己0到1全部采用自己的方式实现,我们至少需要 【必选】流媒体服务端(含直播推流的rtmp服务器), 【必选】客户端流媒体推流端(这里提供android的技术实践), 【可选】需要移动端流媒体播放器(可以用来检验推流成功与否的结果) 【可选】需要前端流媒体播放页(用来检验推流成功与否的结果播放器页面) 【可选】需要如后台管理页面(用来管理后台流媒体推流结构,如是否添加水印,是否二次修正)
(1)客户端流媒体推流端Yasea Android是一个流媒体客户端它从摄像头和麦克风YUV和PCM数据进行编码h / AAC格式,在RTMP FLV封装和传输采用github开源的yasea下载下来运行后的截图为:。
图2:yasea移动端推流截图前面是一个推流地址,点击publish即可把本地视频的摄像推流到rtmp服务器中,(2)流媒体服务端略…(3)需要前端流媒体播放页下面是我使用公司web端作为检验推流成功与否的结果标志页面播放器页面;可以看到,我们的推流成功推到了web端
图3:web端验证结果前端怎么实现的我不太知道,这里只是一个结果,我们也可以使用移动端来接受流媒体的数据,后面会介绍使用阿里云sdk的播放器来接受,检验结果2.阿里云直播SDK移动端下载阿里云播放器SDK(ApsaraVideo Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的播放功能外,深度融合视频云业务,如支持视频的加密播放、安全下载、清晰度切换、短视频等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。
图4:阿里云播放器方案接下来我会重点介绍阿里云sdk播放器的集成来完成直播,短视频的解决方案的实践A:集成引用(1)首先参考阿里云播放器SDK > Android播放器 > 集成文档搜本产品,按照如下配置(以以我测试的项目为参考Gradle集成方式)
在项目的build.gradle文件添加(注意mark标注):// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript{ext.kotlin_version=1.3.71repositories{google()jcenter()/** * mark: (必须)Bgwan提示阿里云直播sdk集成配置
* */maven{urlhttps://maven.aliyun.com/repository/releases}}dependencies{classpathcom.android.tools.build:gradle:3.6.4
classpath”org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files }}allprojects{repositories{google()jcenter()/** * mark: (必须)Bgwan提示阿里云直播sdk集成配置
* */maven{urlhttps://maven.aliyun.com/repository/releases}maven{url”http://maven.aliyun.com/nexus/content/repositories/releases”
}//投屏的maven地址 maven{urlhttp://4thline.org/m2}}}taskclean(type:Delete){deleterootProject.buildDir}(2)修改app的build.gradle文件,dependencies节点中增加阿里云播放器sdk的引用:
applyplugin:com.android.applicationapplyplugin:kotlin-androidapplyplugin:kotlin-android-extensionsandroid
{compileSdkVersion29buildToolsVersion”29.0.3″defaultConfig{applicationId”com.damon.kotlin”minSdkVersion
21targetSdkVersion29versionCode1versionName”1.0″testInstrumentationRunner”androidx.test.runner.AndroidJUnitRunner”
}/** * mark:Java8 引入编译的严谨写法 * */compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibility
JavaVersion.VERSION_1_8}buildTypes{release{minifyEnabledfalseproguardFilesgetDefaultProguardFile(proguard-android-optimize.txt
),proguard-rules.pro}}packagingOptions{excludeMETA-INF/beans.xml}}dependencies{/** * 2020年09月04日:livery快速开发
* */implementationcom.sunsta.livery:livery:1.1.25/** * 2020年09月04日:gsyVideoPlayer视频播放器 * */
implementationcom.shuyu:gsyVideoPlayer-java:7.1.4/** * 2020年09月04日:阿里云对象存储 * */implementation
com.aliyun.dpa:oss-android-sdk:2.9.4/** * 2020年09月04日:kotlin-开发 * */implementation”org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”
/** * 2020年09月04日:androidx kotlin配套架构 * */implementationandroidx.core:core-ktx:1.3.1/** * 2020年09月04日:aliyun 播放器引用(当前最新版本)
* */implementationcom.aliyun.sdk.android:AliyunPlayer:5.1.5-fullimplementationcom.alivc.conan:AlivcConan:1.0.2
}备注:最新版本链接,集成阿里播放器之后,apk体积大约会增加7.5M的大小,混淆配置可以配置:-keepclasscom.alivc.**{*;}-keepclasscom.aliyun.**{*;}
-keepclasscom.cicada.**{*;}-dontwarncom.alivc.**-dontwarncom.aliyun.**-dontwarncom.cicada.**B:使用播放功能以下参考阿里云帮助文档
(1).创建播放器 创建播放器通过AliPlayerFactory类创建播放器可以创建两种播放器:AliPlayer和AliListPlayer单个播放功能使用AliPlayer创建方法如下:AliPlayer。
aliyunVodPlayer;…..aliyunVodPlayer=AliPlayerFactory.createAliPlayer(getApplicationContext());如果播放的视频是通过播放器SDK安全下载后的本地文件,那么还需要设置一个加密校验信息(建议在Application中配置一次即可):
PrivateService.initService(getApplicationContext(),”encryptedApp.dat的本地路径”);创建加密文件的方式见这里如果没有设置正确的校验文件,播放安全下载后的文件会报错:ERROR_DEMUXER_OPENSTREAM。
(2).设置播放器监听事件 播放器提供了多种监听事件,比如:onPrepared,onCompletion等事件使用方法如下:aliyunVodPlayer.setOnCompletionListener。
(newIPlayer.OnCompletionListener(){@OverridepublicvoidonCompletion(){//播放完成事件 }});aliyunVodPlayer.setOnErrorListener
(newIPlayer.OnErrorListener(){@OverridepublicvoidonError(ErrorInfoerrorInfo){//出错事件 }});aliyunVodPlayer
.setOnPreparedListener(newIPlayer.OnPreparedListener(){@OverridepublicvoidonPrepared(){//准备成功事件 }});aliyunVodPlayer
.setOnVideoSizeChangedListener(newIPlayer.OnVideoSizeChangedListener(){@OverridepublicvoidonVideoSizeChanged
(intwidth,intheight){//视频分辨率变化回调 }});aliyunVodPlayer.setOnRenderingStartListener(newIPlayer.OnRenderingStartListener
(){@OverridepublicvoidonRenderingStart(){//首帧渲染显示事件 }});aliyunVodPlayer.setOnInfoListener(newIPlayer.
OnInfoListener(){@OverridepublicvoidonInfo(inttype,longextra){//其他信息的事件,type包括了:循环播放开始,缓冲位置,当前播放位置,自动播放开始等
}});aliyunVodPlayer.setOnLoadingStatusListener(newIPlayer.OnLoadingStatusListener(){@Overridepublicvoid
onLoadingBegin(){//缓冲开始 }@OverridepublicvoidonLoadingProgress(intpercent,floatkbps){//缓冲进度 }@Override。
publicvoidonLoadingEnd(){//缓冲结束 }});aliyunVodPlayer.setOnSeekCompleteListener(newIPlayer.OnSeekCompleteListener
(){@OverridepublicvoidonSeekComplete(){//拖动结束 }});aliyunVodPlayer.setOnSubtitleDisplayListener(newIPlayer
.OnSubtitleDisplayListener(){@OverridepublicvoidonSubtitleShow(longid,Stringdata){//显示字幕 }@Overridepublic
voidonSubtitleHide(longid){//隐藏字幕 }});aliyunVodPlayer.setOnTrackChangedListener(newIPlayer.OnTrackChangedListener
(){@OverridepublicvoidonChangedSuccess(TrackInfotrackInfo){//切换音视频流或者清晰度成功 }@OverridepublicvoidonChangedFail
(TrackInfotrackInfo,ErrorInfoerrorInfo){//切换音视频流或者清晰度失败 }});aliyunVodPlayer.setOnStateChangedListener
(newIPlayer.OnStateChangedListener(){@OverridepublicvoidonStateChanged(intnewState){//播放器状态改变事件 }});aliyunVodPlayer
.setOnSnapShotListener(newIPlayer.OnSnapShotListener(){@OverridepublicvoidonSnapShot(Bitmapbm,intwith
,intheight){//截图事件 }});具体回调参数的详细说明,参看Android接口文档(3). 创建DataSource,准备播放 播放器支持4种播放源:VidSts,VidAuth,VidMps,UrlSource。
其中UrlSource是直接的url播放,其余的三种是通过vid进行播放:VidSts,VidAuth点播用户使用;VidMps仅限MPS用户使用以VidSts举例,使用方式如下://创建VidSts
VidStsaliyunVidSts=newVidSts();aliyunVidSts.setVid(视频vid);aliyunVidSts.setAccessKeyId(临时akId);aliyunVidSts
.setAccessKeySecret(临时akSecret);aliyunVidSts.setSecurityToken(安全token);aliyunVidSts.setRegion(接入区域);//设置播放源
aliyunVodPlayer.setDataSource(aliyunVidSts);……//准备播放 aliyunVodPlayer.prepare();C:阿里云直播sdk修正版本下载本人在下载阿里云直播官方提供的sdk demo的时候,发现”趣视频“和”长视频“中都用到了一个”AliyunVideoCommon“公共模块,但是”趣视频“中的”AliyunVideoCommon“和”长视频中“AliyunVideoCommon”有版本区别,总的来说,“趣视频”中的版本较新,
且“趣视频”和“长视频”属于android旧版support库代码,编译api版本21也太过老旧导致编译基本上失败,由于我接触的很多项目属于androidx的代码结构,现在大多compileSdkVersion 29
,且官方demo提供的界面并不友好,所以我针对以上问题进行了独立修正,本人能保证直播sdk修正版本可以完全运行比如: 长视频修正以后项目截图,
图6:阿里云直播长视频项目修正版本我们点击运行(这里为了方便集成了livery快速开发框架),运行后我们点击播放列表任意播放
图7:示例长视频系列列表
图8:点击列表进入LOL直播
图9:横屏状态
图10:斗鱼LOL直播与截图对比可以看到,会播放当前正在直播的英雄联盟比赛视频,而视频的rtmp地址,是通过上篇【斗鱼直播间真实rtmp地址获取(含工具类下载)】获取的斗鱼地址,我们把获取到的地址,放到AlivcPlayerActivity中initData方法中,修改后如:
testPullAddress=”http://tx2play1.douyucdn.cn/live/288016rlols5.flv?uuid=”;judgeVideoPlayerType();UrlSource
urlSource=newUrlSource();urlSource.setUri(testPullAddress);urlSource.setTitle(“sunsta测试”);//默认是5000 int
maxDelayTime=5000;if(PlayParameter.PLAY_PARAM_URL.startsWith(“artp”)){//如果url的开头是artp,将直播延迟设置成100, maxDelayTime
=100;}if(mAliyunVodPlayerView!=null){PlayerConfigplayerConfig=mAliyunVodPlayerView.getPlayerConfig();
playerConfig.mMaxDelayTime=maxDelayTime;mAliyunVodPlayerView.setPlayerConfig(playerConfig);}mAliyunVodPlayerView
.setLocalSource(urlSource);mAliyunVodPlayerView.changeScreenMode(AliyunScreenMode.Small,false);refreshView
();当然如果你把这里的推流地址,rtmp换成自己的任意推流地址,也是同样可以播放的,比如上面采用Yasea直播推流媒体客户端的内容,或者其它直播同样可以在这里直播出来
图11:切换rtmp换个吃鸡地址趣视视频也是同样,可以直接下载源码运行,运行后可以看到趣视频:
图12:趣视频截图小节:我们通过阿里云直播的“长视频”和“趣视频”的方式能够实现移动端的直播解决方案,且2.与第三方sdk结合的方式,能够在仅使用阿里云直播播放器,我们能够自己提供推流rtmp服务器的话,则我们不需要额外的付费.
下载地址:(1)长视频源码下载地址: 链接: https://pan.baidu.com/s/1MyVzTNuRFW2v2V1j1ZxU0w 提取码: 7v69 复制这段内容后打开百度网盘手机App,操作更方便哦
(2)趣视频源码下载地址:链接: https://pan.baidu.com/s/1MKd-YxRnofrd_41sK8qoKw 提取码: rehc备注: 本下载内容属于阿里云提供的demo二次开发修改而来,版权使用信息也归属于阿里云,这点请悉知.
3.声网github参考(含手机录屏直播)声网官方文档api介绍是所有集成中的最优,但是有的内容(如AgoraIO/Advanced-Video有很多分支)也是不好找到,这里附录一些关键代码链接,声网官网
声网github实现共享手机屏幕或者共享特定 View 到远端源代码声网场景方案总览三:总结android直播,短视频解决方案中我提供了三种思想,从引言一步步来实现了直播,内容比较杂乱,如果是仅仅只需要移动端【阿里云直播sdk修改版本下载】请直接定位到【“二:技术实践 ”-2.阿里云直播SDK移动端下载】下载我提供的两个demo运行即可,那么直播的功能相信你也能轻松的实现了,最后我们思考一下:如何做到把视频中的log去掉?是否可行
(1)在布局中,针对某个视频利用布局覆盖模拟水印 (2)在推流的时候,先利用工具给视频加上水印 (3)在rtmp推流转发时利用工具给视频加上水印
请尊重劳动成果,注意文中版权声明,Android专栏不定时更新,欢迎点击关注我知乎也可以同时关注人工智能专栏,文艺语录专栏,本内容作者sunst,技术上有问题请沟通qyddai@gmail.com作者:sunst 发布日期:2020-09-10 18:50 修改日期:2020-09-11 10:00。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容