Android如何来搭建直播平台

article/2025/8/20 12:05:53

Android如何来搭建直播平台

目录

 

目录

 

 

环境准备

●Centos系统安装:请查看我的另一篇博客Java后端之路(六)安装Linux系统 ●git安装(系统如果没有的话):www.cnblogs.com/imyalost/p/…,git配置完后记得重启系统才能生效,或者执行source /etc/profile命令也可以。 ●SRS流媒体服务器安装(官方教程):github.com/ossrs/srs/w… 安装完之后还需要将官方的安装说明中的srs.conf里涉及到的端口进行开放。 ●Linux端口开放:jingyan.baidu.com/article/0eb… ●OBS Studio推流软件下载:www.onlinedown.net/soft/637537… ●VLC拉流软件下载:www.onlinedown.net/soft/16216.…

直播测试

●OBS Studio配置推流: 在来源窗口右键->添加->显示器捕获

zhibo.png

 

然后在控件窗口点击设置进行配置留的推送地址:

配置推流地址,推流的协议为rtmp,后面则是服务器ip+端口号+随意名称(我是live),然后是下面的流名称这里我填的test。

设置完之后就可以开始推流了

●VLC拉流播放: 打开VLC选择工具栏的媒体->流

选择网络选项卡,然后我们输入与推流一样的地址,然后点击播放:

 

拉流成功的话会显示你屏幕的图像。

 

Android进行推流

这里我使用的是一个非常好用的Android推流开源库:github.com/begeekmyfri… 使用方式很简单首先导入它的library然后在代码中简单几行即可实现: 布局文件代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.itfitness.zhiboapp.MainActivity"><net.ossrs.yasea.SrsCameraViewandroid:id="@+id/glsurfaceview_camera"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>
复制代码

Activity代码:

//另外这个Activity还需要实现这些接口:SrsEncodeHandler.SrsEncodeListener, RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListener
SrsCameraView cameraView = (SrsCameraView) findViewById(R.id.glsurfaceview_camera);mPublisher = new SrsPublisher(cameraView);//编码状态回调mPublisher.setEncodeHandler(new SrsEncodeHandler(this));mPublisher.setRecordHandler(new SrsRecordHandler(this));//rtmp推流状态回调mPublisher.setRtmpHandler(new RtmpHandler(this));//预览分辨率mPublisher.setPreviewResolution(1280, 720);//推流分辨率mPublisher.setOutputResolution(720, 1280);//传输率mPublisher.setVideoHDMode();//开启美颜(其他滤镜效果在MagicFilterType中查看)mPublisher.switchCameraFilter(MagicFilterType.BEAUTY);//打开摄像头,开始预览(未推流)mPublisher.startCamera();//mPublisher.switchToSoftEncoder();//选择软编码mPublisher.switchToHardEncoder();//选择硬编码//开始推流 rtmpUrl(ip换成服务器的部署ip)mPublisher.startPublish("rtmp://192.168.0.102/live/test");
复制代码

接下来使用VLC进行拉流播放:

Android如何来搭建直播平台
本文转载自网络,感谢(itfitness)的分享,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理


http://chatgpt.dhexx.cn/article/n3X8OyLu.shtml

相关文章

直播平台搭建的主要方式和开发细节

在线直播平台搭建的方式有很多&#xff0c;常见的方式主要有以下几种&#xff1a; 1. 招聘并组建研发团队&#xff0c;自主研发&#xff1a;自主研发需要硬件和维护成本&#xff0c;最主要的还是时间成本&#xff0c;一般需要至少半年的时间&#xff0c;有意向自主研发搭建直播…

一对一直播源码,一对一直播平台搭建,特色功能智能匹配

一对多直播平台上&#xff0c;互动随着播主的火热程度下降&#xff0c;而一对一直播开发特性&#xff0c;让其具备社交互动&#xff0c;更是主打的聊天&#xff0c;在社交价值上显然一对一直播开发更具有想象的空间。 从一对一直播源码效果看一对一直播是全方位实时同步&#…

java搭建直播平台_直播平台简单搭建笔记

直播平台大致流程 实时传输协议有&#xff1a;RTMP、HLS、HDL(HTTP-FLV) 编译环境 apt-get install build-essential nginx安装 安装pcre(目前最新8.44) ./configuremake && make installpcre-config --version //查看版本 下载nginx-rtmp-module源 git 下载https://gi…

直播平台搭建|实现完整直播流程,考验直播平台性能

直播平台搭建的意义是为了实现完整的直播流程&#xff1a; 前处理: 最重要的部分是实时GPU渲染美感&#xff0c;前处理中还要去除水印、时间戳等&#xff0c;这也是在直播平台必要的防范措施。实时美颜本身就相当考验APP厂商的技术经济实力&#xff0c;如何发展能够充分利用能…

直播平台怎么搭建,老司机带你了解

直播平台怎么搭建&#xff0c;老司机带你了解 1.创建前端工程 直播平台怎么搭建毫无疑问&#xff0c;搭建一个项目的框架&#xff0c;那第一步肯定是得创建一个工程啦。cmd命令&#xff0c;输入vue create mylive &#xff0c;然后一直回车就好了。然后等待一小会&#xff0c…

Nim问题和阶梯Nim(staircase nim)

Nim问题和阶梯Nim&#xff08;staircase nim&#xff09; Nim问题&#xff1a; 有若干堆石子&#xff0c;每堆石子的数量都是有限的&#xff0c;合法的移动是“选择一堆石子并拿走若干颗&#xff08;不能不拿&#xff09;”&#xff0c;如果轮到某个人时所有的石子堆都已经被…

B. Stairs(构造+规律寻找)Codeforces Round #671 (Div. 2)

原题链接&#xff1a; https://codeforces.com/contest/1419/problems 测试样例 input 4 1 8 6 1000000000000000000 output 1 2 1 30 Note In the first test case, it is possible to build only one staircase, that consists of 1 stair. It’s nice. That’s why the answ…

《中英双解》leetCode Arranging Coins (排列硬币)

Arranging Coins 难度简单182收藏分享切换为中文接收动态反馈 You have n coins and you want to build a staircase with these coins. The staircase consists of k rows where the ith row has exactly i coins. The last row of the staircase may be incomplete. Given th…

house of cat

2022强网杯 house of cat 跟着大佬的文章学习了一个新的利用手法 house of cat&#xff0c;原文链接&#xff1a;House of cat新型glibc中IO利用手法解析 && 第六届强网杯House of cat详解 利用条件&#xff1a; 1.能够任意写一个可控地址。 2.能够泄露堆地址和libc…

我谈阶梯博弈(Staircase Nim)

今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >1 )移到前面去..最后没有点可以移动的人输.…

阶梯博弈(Staircase Nim)

阶梯博弈&#xff01;&#xff01;&#xff01;下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >1 )移到前面去..最后没有点可以移动的人输.. 如…

我谈阶梯博弈( Staircase Nim )

今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >1 )移到前面去..最后没有点可以移动的人输.…

Scala class和case class的区别

在Scala中存在case class&#xff0c;它其实就是一个普通的class。但是它又和普通的class略有区别&#xff0c;如下&#xff1a;   1、初始化的时候可以不用new&#xff0c;当然你也可以加上&#xff0c;普通类一定需要加new&#xff1b; scala> case class Iteblog(name…

hackerrank初级篇之staircase

题目说明&#xff1a; 示例代码&#xff1a; // staircase.cpp: 定义控制台应用程序的入口点。 // // n4 // # // ## // ### //#### // //#include "stdafx.h" #include <windows.h> #include <iostream> using namespace std;void staircase( int …

Staircases

Staircases Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/16384K (Java/Other) Total Submission(s) : 8 Accepted Submission(s) : 5 Problem Description One curious child has a set of N little bricks (5 ≤ N ≤ 500). From these bricks he buil…

自旋锁是什么?

本文内容如有错误、不足之处&#xff0c;欢迎技术爱好者们一同探讨&#xff0c;在本文下面讨论区留言&#xff0c;感谢。 文章目录 定义特点和互斥锁比较适用场景 结论混合是什么意思&#xff1f; 结尾参考资料 定义 自旋锁 spin lock 下面内容摘自维基百科 在软件工程中&…

【自旋锁】

1. 原理 PV操作原理 记录一个锁定状态(就是一个共享资源&#xff0c;基于原子操作) 2. 适用 1. 解决多cpu之间的竞态 2. 可以解决中断程序和普通程序之间的竞态(自旋锁可以用于中断上下文) 3. 加锁时间不宜过长 4. 获得自旋锁期间&#xff0c;不能进行调度(sleep) 例&#xff1…

量子力学之电子自旋与四个量子数

量子力学之电子自旋与四个量子数 前言一、电子自旋是什么&#xff1f;二、四个量子数1.主量子数 n2.角量子数*l*3.磁量子数ml4.自旋量子数ms 三.例题 前言 在笔者学习大学物理量子力学部分时&#xff0c;对此部分非常疑惑&#xff0c;弄明白之后写下来以供查看&#xff0c;水平…

学习自旋电子学的笔记03:初试自旋波模拟

文章目录 前言一、初遇1.Figure S2 (a)2.图4-23.Figure S1 二、暂别1.FFT分析程序包&#xff1a;MFA简介2.使用练习MFA 三、重逢3.Figure S14.FIG.2 (a)5.FIG.2 (b)6.FIG.5 总结 _ _ 远行&#xff01; 前言 四月&#xff0c;过得四真的快啊&#xff0c;这是从入学到现在的第9个…

深入理解CAS (自旋锁)

文章目录 0. 导言1. 什么是CAS2. 保证原子操作2.1 CAS 实现自旋锁2.2 AtomicBoolean 中的CAS2.3 CAS使用场景 3. 锁的分类3.1 乐观锁3.2 悲观锁 4. CAS存在的问题4.1 ABA问题4.2 循环时间长开销大4.3 只能保证一个共享变量的原子操作 0. 导言 背景&#xff1a; 我们都知道&…