一、重要概念屏幕尺寸:指平米的对角线的长度,单位是英寸,1英寸=2.54厘米,它对我们屏幕适配不是很重要。 屏幕分辨率:指在横纵向上的像素点数,单位是px,1px = 1个像素点,一般以纵向像素*横向像素,如1920*1080. 屏幕像素密度:指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写,像素密度与屏幕尺寸和分辨率有关 像素密度计算:对角线分辨率-->对角线
背景随着虚拟化技术如模拟器,容器化等技术等发展,在安卓云游戏/云手机场景中,可以在服务宿主侧虚拟出更多更小颗粒度的 Android 实例。其中比较核心的技术是图形虚拟化技术,如何最大限度利用宿主侧的 GPU 资源进行渲染和编码,不考虑软编等利用 CPU 资源进行渲染编码是因为效率带来的延迟问题。Linux 图形栈先看一个比较通用的 linux 图形栈: X 协议:比较早的协议,X server
# Android App桌面推流实现流程
## 1. 确定需求和技术方案
在开始实现Android App桌面推流之前,首先需要明确需求和选择合适的技术方案。推流可以使用RTMP或者其他协议,我们这里选择使用RTMP协议。我们将分为以下几个步骤来实现桌面推流:
1. 屏幕捕捉:获取手机屏幕内容,通常使用MediaProjection API。
2. 编码:将屏幕捕捉到的内容进行编码转换,通
原创
2023-08-15 10:38:15
517阅读
1评论
EasyDSS视频直播点播平台提供了视频转码、点播、直播、推拉流、录像、回放等功能,可应用在AR、VR、无人机推流、虚拟直播、教育培训、远程会议等多样化的场景中。在推流功能上,用户不仅可以使用OBS向EasyDSS平台推送视频流,也可以在手机端使用EasyRTMP向EasyDSS平台推送视频流。 今天和大家分享一下技术教程:如何使用手机以及EasyRTMP,向EasyDSS平
转载
2023-07-04 11:47:07
792阅读
一、 前言1.本文目的为实现windows下开机自动启动的桌面直播流媒体服务。2具体方案为定时任务自动启动ffmpeg脚本开启hls流媒体直播,nginx自动启动hls流web服务。3.网页使用EasyPlayerjs插件播放流媒体视频。(也可以用别的)4.windows下搭建nginx的rtmp流媒体服务器(rtmp流媒体服务器/hls流媒体服务器)需要为nginx添加nginx-rtmp-mo
转载
2024-03-14 21:48:00
295阅读
一、GB28181流媒体服务方案 GB28181流媒体服务器是提供流转发服务,负责将GB28181设备/平台推送的PS流转成ES流,然后提供RTSP、RTMP、FLV、HLS多种格式进行分发,实现web浏览器、手机浏览器、微信、PC客户端等各终端无插件播放。 流媒体服务器对外提供HTTP API
转载
2024-08-17 13:26:57
343阅读
vlc下载官网:https://www.videolan.org/ 1.vlc下载完成之后打开vlc,点击媒体 >流 2.在捕获模式选择‘桌面’,帧率选择30帧/秒;然后选择串流并点击 3.点击下一个 4.目标里面选择RTSP,添加,然后点击下一个 5.端口不要改变,路径的话可以随便填写,但前提是你 ...
转载
2021-08-09 13:48:00
5581阅读
点赞
2评论
场景Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流:上面实现的是在Window上将本地视频推流给RTMP服务器,如果要实现在Android中将摄像头或者屏幕的音视频数据推送到流媒体服务器进行低延迟直播或者视频通信,可以使用如下开源组件。精炼、稳定、高效的安卓前/后摄像头/手机桌面屏幕采集、编码、RTSP直播推送工具,充分秉承了RTP在即时通信领域中的技术特点,网络
转载
2022-03-08 11:36:00
1629阅读
一、引言toolBox工具箱是一个容器部件,对应类为QToolBox,在其内有一列从上到下顺序排列的标签部件项(tabbed widget item),具体请见《PyQt(Python+Qt)学习随笔:工具箱(QToolBox)的用途及标签部件项(tabbed widget item)作用介绍》和《PyQt(Python+Qt)学习随笔:工具箱(QToolBox)编程使用的步骤及示例代码》的介绍。
转载
2024-08-15 17:30:51
28阅读
为了让大家少踩笔者踩过的坑,目前将工作中搭建rtmp推流服务器的步骤总结如下:可直接使用打包后的 下载链接 省去下面的配置 默认推流地址 rtmp://你的ip地址:1935/live/xxx1.下载 nginx 1.7.11.3 Gryphon
下载完成后解压, 将解压后的目录命名为nginx_1.7.11.3_Gryphon(此处注意千万不要命名为nginx-1.7.11.3-Gryphon,
转载
2023-11-30 17:23:12
752阅读
开发思路首先,为什么要用NDK来做,因为自己之前就已经实现过RTMP推流、RTMP播放、RTSP转码等等各种c++实现的流媒体项目,有很成熟的代码模块。既然Android有NDK,可以JNI的方式复用之前的成熟代码,大大拓展和加快项目实现,那为什么不这样去做呢。和其他平台一样,要实现采集摄像头推送直播流,需要实现以下几点获取Android摄像头数据对摄像头数据进行h264编码编码后数据以RTMP协
转载
2024-01-24 22:36:22
152阅读
####前言我们主要是实现RTMP推流,引流的部分通过一些直播RTMP协议的播放器来实现。因为项目比较大,设计的知识也比较广,例如h264编码标准,aac编码,RTMP协议。这里我们只概述一些关键的核心逻辑与实现思路,具体的实现可以参考源代码,因为工作原因源代码晚点再上。####推流的流程主要分为以下几个步骤:调用Java的相关API进行音视频的采集。初始化一些C相关的库,然后用户点击开始推流。因
转载
2023-09-14 12:30:16
167阅读
编码和推流,有两个方案选择:一: 使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据 需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可 javacv地址:https://github.com/bytedeco/javacv demo地址:
转载
2023-06-30 08:58:16
1265阅读
一、WebSocket理论部分1、websocket是什么Websocket是html5提出的一个协议规范,参考rfc6455。websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信。在websocket出现之前,web交互一般是基于http协议的短连接或者长连接。WebSocket是为解决
转载
2024-10-12 21:30:25
69阅读
1 简介本文旨在在Windows 7系统上实现利用FFmpeg软件推流到部署的带RTMP模块的Nginx流媒体服务器上,在拉流端,基于VLC库的VLC-QT库实现拉流播放。2 ffmpeg下载安装配置ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,可以轻易实现多种视频格式之间的相互转换。作为开源免费软件,通过其官网可以下载。地址:https://ffmpeg.
1.准备iriun官网:Iriun这个软件是免费的,不过会有水印。你需要在官网下载安装包进行安装,有windows系统版本和MAC系统版本、Ubuntu版本可以选择,根据自己电脑系统版本选择。这个是电脑端的,还有就是手机端的,不过需要到谷歌商店去下载。如果进不去的我也给大家提供了安装包的。不过我更建议大家去谷歌软件商店下载最新版本。(https://xrilang.lanzouq.com/i7uw
转载
2024-01-19 17:27:14
1987阅读
点赞
很多开发者在做Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型:1. Android摄像头前后camera通过OnPreviewFrame()回调的数据接口:@Override
public void onPreviewFrame(byte[] data
转载
2023-07-24 23:11:35
399阅读
去年公司要在Android盒子上加摄像头,然后打算给盒子添加一个安防监控的功能。搞了几个月,目前视频和音频都有,不过效果不太好。首先是延迟比较大,再者音频没有做降噪处理,电流杂音比较大,画面也不太稳定,马赛克现象有点严重。所以写这个也只是记录一下心得体会。 因为我本身对流媒体一窍不通,所以android客户端直接用的spydroid,本文也主要是一步步分析spydroid源码。 首先spydro
转载
2023-08-17 13:18:52
486阅读
一、概念话不多说,先了解概念,再看示意图更直观:1.1 推流推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP
转载
2023-07-26 21:34:51
312阅读
技术背景早在2015年,我们发布了RTMP直播推送模块,那时候音视频直播这块场景需求,还不像现在这么普遍,我们做这块的初衷,主要是为了实现移动单兵应急指挥系统的低延迟音视频数据传输。好多开发者可能会疑惑,走RTMP怎么可能低延迟?网上看到的RTMP推拉流延迟,总归要2-3秒起,如果是自己实现框架,RTMP推拉流逻辑自己实现的话,延迟确实可以控制在毫秒级,这个已无需赘述。随着无纸化会议、智慧教室、智
转载
2023-09-18 03:51:20
357阅读