展开

关键词

手写 Android

简介 观看手游时,我们观众端看到的是选手的幕上的内容,这是如何实现的呢?这篇博客将手写一个 Demo,实现类似手游的效果。 获取幕数据很简单,Android 系统有提供对应的服务,难点在于传输数据到服务器,我们使用 RtmpDump 来传输 Rtmp 数据。 实现效果 最终我们推流到 B 站间,在间能够实时看到我们手机幕上的画面。 ? 基本流程 获取数据 对数据进行 h264 编码 Rtmp 数据包 上传到服务器推流地址 获取数据 通过 Intent 获取到 MediaProjectionService,继而获取到 Mediaprojection 使用第三方库 Rtmpdump 来实现推流到服务器,由于 Rtmpdump 的代码量不是很多,我们接拷贝源代码到 Android 的 cpp 文件,如果需要用到 Ffmpeg 不能才用该种调用方式了

25020

Android PC投简单尝试()2—硬解章(MediaCodec+RMTP)

代码地址 :https://github.com/deepsadness/MediaProjectionDemo 想法来源 上一边文章的最后说使用制的Api进行。 主要思路 接使用硬件编码器进行。 使用rtmp协议进行推流 ? 这边文章使用了rtmp的流媒体协议,优点是只要支持该协议的放器都可以放我们的投流。 参考文章 Android实现(一)ScreenRecorder的简单分析 推流实现RTMP协议的一些注意事项 投尝试系列文章 Android PC投简单尝试- 自定义协议章(Socket +Bitmap) Android PC投简单尝试()2—硬解章(MediaCodec+RMTP)

1.4K20
  • 广告
    关闭

    直播应用9.9元起 即刻拥有

    9.9元享100GB流量,1年有效,结合移动直播SDK、美颜特效SDK及小程序直播插件等,构建云+端一体化直播平台,支持电商带货,在线教育,游戏直播,社交直播等多场景

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android PC投简单尝试()3—软解章(ImageReader+FFMpeg with X264)

    使用FFmpeg进行软件解码并通过RTMP进行推流 编译带有x264的FFmpeg 编写FFmpeg代码进行推流 通过ImageReader的回调,我们就可以得到截的数据了。 脚本放到ffmpeg的目下进行运行就可以了。 这里需要修改的就是你自己的ndk路径了 #! /bin/bash NDK=/Users/Cry/Library/Android/sdk/android-ndk-r14b PLATFORM=$NDK/platforms/android-19/arch-arm FFMpeg不同的是,因为自己就有编码器,所以可以接将头写到流里。完成publish 使用FFmpeg的必备套路。 注册编码器和网络。 FFmpeg的裁剪编译 接编译出来的so文件巨大。在APK文件中6M大小。 定位裁剪需求 我们根据之前的文章,来分析和定位裁剪的脚本。 整个流程中,我们只需要libx264 的编码器。

    79440

    视沃科技-大牛SDK

    (推) 、RTMP推送demo; SmartRelayDemoV2: RTMP|RTSP放SDK、RTMP|RTSP转RTMP推送SDK、RTMP|RTSP实时像、轻量级RTSP服务四合一 (推) 、RTMP推送demo,本地下载; SmartiOSRelayDemoV2: RTMP|RTSP放SDK、RTMP|RTSP转RTMP推送SDK、RTMP|RTSP实时像、 推流端使用说明 大牛Android后台推送摄像头、幕数据使用说明 大牛Android放器使用说明 大牛iOS推流端使用说明 大牛 iOS端边推流边像使用说明 大牛iOS推流端使用说明 大牛iOS放器使用说明 大牛连麦使用说明(windows windows或windows与android/iOS) 上层源码目 Windows/Android/iOS像SDK"; [全]Windows平台双击画面进入全模式; [Windows本地FLV放器]支持本地FLV文件放(支持获取FLV文件的duration

    89330

    2021 Single Cell Genomics Day B站资源

    主要议题有: 了解尖端分子技术,包括:单细胞染色质状态和转因子整合分析,利用单细胞进行体内CRISPR筛选,并进行单细胞原位测序。 当晚,我在我们单细胞天地的各个交流群通知了大家记得,毕竟按照往年惯例每次放出的recording都是不全的 , 今天终于在B站看到了全部的超高清,真爽: 01 Rahul Satija Single-cell 第4阶段:高级目管理:软硬链接,绝对路径和相对路径,环境变量。 第5阶段:任务提交及批处理,脚本编写解放你的双手。 第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。 生信学习班起航,先送福利》 《96核心384G内存的超级服务器(共享)使用权一年》 如果你没有时间从头开始学编程,也可以委托专业的团队付费完成数据分析,参见: 明码标价之ATAC-seq 明码标价之转组测序数据的可变剪切 明码标价之单细胞转组的质控降维聚类分群和生物学注释 明码标价之普通转组上游分析 明码标价之公共数据集的WGCNA 明码标价之公共数据库的生存分析

    26740

    Android开发入门的正确姿势

    布局的xml文件位于layout目下,这个目存放了我们APP中使用的布局文件。通常我们不会针对不同的幕做多套布局,而是使用一套布局文件,添加各种约束来适应不同的幕。 ContentProvider可以看做是对底层数据的封装,提供了增、删、改、查的操作接口,避免了接提供数据库权限带来的安全性问题。 可以接将2x资源放在xhdpi目下,3x资源放在xxhdpi目下,如果对应的目下没有资源,Android系统会自动根据当前幕的分辨率来选择最合适的资源加载,不会出现资源找不到的情况。 简单总结一下: 1、Android应用由四大组件(Activity、Broadcast、Service、ContentProvider)中的若干个组合而成,与用户接交互的场景由Activity来实现 3、布局文件放在layout目下,布局尽可能的保证控件的约束能够适应不同的幕尺寸。 4、资源文件可以复用iOS的资源,2x和3x分别放在xhdpi和xxhdpi目下。

    1.6K00

    『Python数据应用与课件下载

    周末应机械工业出版社邀请,我了一场关于Python数据应用的分享,这里把和课件分享给大家,希望多多交流学习! 时长一小时,讲解了Python历史、基础语法、数据科学生态、数据分析建模、自动化办公等内容,也回答了关于数据方向求职、职业规划的问题。 示例:

    5110

    WebRTC常见问题 (FAQ)

    Android手机Chrome浏览器视频黑 关键词:Chrome,黑 需要支持H.264,不支持的手机会出现黑,建议使用微信或QQ内置TBS浏览器。 ---- 7.TRTC控制台 控制台启用旁路自动制无法开启,响应是系统繁忙。 接口逻辑问题,确认客户已开通和点功能,确认都开启后采用码方式接入,https://console.qcloud.com/live/livecodemanage,接入后再尝试设置旁路自动制 ---- 10.关于制,点混流等后续功能 channel_id是什么 码模式的channel_id是码的计算可以看下旁路的文档 https://cloud.tencent.com 制只能自动制吗?开自动制要先开旁路吗? Web只能自动制,制的是旁路的流。

    1.7K83

    深入浅出,Andorid 端幕采集技术实践

    背景 Android 从 4.0 开始就提供了手机方法,但是需要 root 权限。 试想一下,一套完整的幕采集流程应该是怎样的?幕数据源(生产者)在缓冲区产生数据,幕数据消费者从缓冲区提取数据使用。不同的消费者可以实现不同的功能,比如保存和幕共享)。 (),那么消费者可以是类似 MediaCodec 这样的编码器,相应地 Surface 由 MediaCodec 提供: Surface surface = mediaCodec.createInputSurface ()时,高分辨率代表着清晰度,高帧率代表着流畅度。 六、横竖切换 横竖切换的场景在游戏中屡见不鲜。比如王者荣耀的主切换账号时,需要先kill掉王者荣耀 APP 退到手机主界面,然后再打开王者荣耀重新登,经历了从横到竖再回到横的切换。

    25820

    实时音视频 TRTC 常见问题汇总---集成接入篇

    1080P在 TX_Enum_Type_VideoResolution 定义是114,接设置分辨率传枚举值即可。 10. TRTC 移动端怎么实现幕分享)? Android 端:Version 7.2 及以上版本支持手机,具体实践方法请参见 实时幕分享(Android)。 iOS 端:Version 7.2 及以上版本支持 App 内;Version 7.6 及以上版本支持手机和 App 内。具体实践方法请参见 实时幕分享(iOS)。 ; 音视频上行需要生成AAC的音频制文件,可以在云配置制模板加上AAC格式; 纯音频上行不支持制成视频文件格式,配置了模板也制不了; 云配置的制模板是账号级别的。 如果这个账号下还有其它 sdkappid,并且没有在实时音视频配置模板的话就会选用制模板; 如果云制模板配置了AAC和其它视频格式,刚开始上行只有音频,那也只会生成AAC格式一个制文件。

    8.2K75

    三款RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder

    contribute Bug Tracker: https://github.com/obsproject/obs-studio/issues SmartPublisher SmartPublisher是大牛 SDK (Github)的RTMP推流SDK,跨平台,支持Windows、Android、iOS平台,特别针对如在线教育、会议同等传统场景开发,以SDK开发包的形式提供,功能强大,可扩展性强,如可支持像 格式外,Windows平台还支持MJPEG格式的摄像头采集; [麦克风/扬声器采集]Windows平台音频输入端支持麦克风、扬声器,或麦克风和扬声器混音输入; [RTMP推流]超低延时的RTMP协议推流 ,效果逼传统H.265编码摄像头,Android/iOS平台支持H.265硬编码; [横竖推流]Android/iOS平台支持支持横、竖推流; [多分辨率支持]支持摄像头或幕多种分辨率设置 平台支持输出编码后的H264/AAC数据到上层,方便对接第三方平台(如GB28181)对接; [扩展像功能]完美支持和像SDK组合使用,像相关功能,可参见”Windows/Android/iOS

    32550

    安卓漏洞导致攻击者可记音频或

    近日,据外媒报道称,由于Android媒体放功能存在漏洞,致使运行Lolipop,Marshmallow以及Nougat的Android智能手机很容易受到影响,从而导致用户手机幕被外人盗而不自知。 Android MediaProjection服务中存在漏洞 这项漏洞出现在Android 5.0后加入Android Framework的MediaProjection服务之中,能够捕获用户幕内容以及记系统音频 其实,该服务自诞生以来就一存在于Android系统中,只是在Android5.0版之前,该服务需要具备根权限或是以系统密钥进行签名,才能利用幕上放的影像,但5.0发布之后的MediaProjection 则让Android app开发商在无需上述条件下,就能收集用户的幕内容,或下系统声音。 这项技术被称之为“tap-jacking”(触劫持),多年来一Android恶意软件开发者所滥用。

    37790

    腾讯视频云 LiteAVSDK 更新公告

    腾讯视频云 LiteAVSDK 升级到 5.4.6097 SDK 内核优化 iOS&Android:优化网络协议算法,推流抗 30% 丢包无压力; iOS&Android:优化网络Qos流控算法,视频通话卡顿率更低 ,流畅度更高; iOS&Android:优化 RTC 模式下的解码算法,降低部分Android手机连麦延迟高的问题; iOS&Android:优化了短视频上传的成功率。 BugFix iOS:推流扩展,在某些情况下的CRASH问题(感谢Bilibili的反馈); iOS:推流在 iOS 12.0 系统上的部分兼容问题(感谢Bilibili的反馈); iOS:图片转场合成功能的一些 CRASH问题; iOS:enableBFrame() 设置为 NO 之后依然编码出 B 帧的问题; iOS:背景音乐文件比较短时的一个循环放问题;(感谢易方科技的反馈) Android:4.4 系统上的后台放问题 (感谢河南国超的反馈); Android:华为荣耀部分机型上的蓝牙耳机的 CRASH 问题(感谢上海医米的反馈); iOS & Android:在强杀APP时会出现的一个底层库 CRASH(感谢知乎和企鹅电竞的反馈

    1.3K50

    安防视频监控的画面都是如何采集的?

    采集的方式有两种,目前的安防监控流媒体服务器都用摄像头采集,而或者其他方面的采集则可以使用制采集。 2.制采集的方式在游戏场景中非常常见。 而 iOS 则由于系统本身没有开放制的权限而没法接操作,但对于 iOS 9 以上的版本,是有个取巧的办法,可以通过模拟一个 AirPlay 镜像连接到(当前 App)自身,这样就可以在软件上捕获到幕上的任何操作 ,达到幕的效果。 在教育或者会场演讲场合,我们经常看见需要制电脑桌面上 PPT 的场景,针对这种场景,目前市面上比较方便的方案是使用开源的桌面推流工具 OBS 来进行制和推流:Open Broadcaster

    45810

    LiteAVSDK 迎来最新的 6.8 版本

    架构图 支持的抗遮挡能力( 限Windows 版本) 如要共享某一个窗口,即使该窗口被遮挡,也不影响幕分享。 ? 短视频(UGSV) & 移动(MLVB) 优化 android 版本的视频加载和生成速度 特别是在低分辨率下,新版本中一个视频的处理时间只有老版本的 17%。 ? 7、Android:增加音频耳返能力(采用了白名单策略,仅支持特定的几款机型) 8、Windows:支持抗遮挡 9、windows:支持 socks5 代理 10、Windows:C# 修复移除某个用户的渲染回调后 5、iOS:短视频预览解决偶现黑的问题。 6、iOS:短视频合成时的内存占用较老版本降低了 300M。 7、iOS&Android放器支持新的时移放规则。 移动 MLVB 1、iOS&Android:优化 iOS 13 上 QOS流控问题导致的画面模糊 BUG,解决 iOS 13 的主画面很模糊的问题。

    1.1K20

    全流程探索

    音视频的采集,采集阶段主要是对原始视频内容进行采集即内容的来源,根据应用场景的差别,我们可以分为五大类: 1.电视内的主要是采集已有的视频源 比如电视剧 综艺节目等都是预先制好的; 2.演唱会主要是通过摄像机和麦克风分别制演唱会的画面和音频 ; 3.端游,比如平常我们看到英雄联盟、吃鸡等游戏的, 主要是主通过摄像头、话筒制主画面 以及OBS等软件制游戏界面并合成画面; 4.户外,目前户外也比较流行,类似于真人秀的模式 ,主主要依赖手机自带摄像头和话筒来制内容; 5.手游,比如最近很火的王者荣耀,大仙、嗨氏等主就是手游android端主要是通过模拟器来制,ios可以通过itools苹果大师制视频然后同步到 (3)放协议自适应终端 目前流协议用的HLS,ios端均支持,android端不同的机型、不同的系统版本、不同的webview环境支持HLS协议不尽相同,对于不支持的再做降级处理,可以通过canPlayType 判断状态即是否在进行也是一个比较麻烦的事,由于android上对canplay canplaythrough playing事件支持程度不一样,触发时机也不尽相同,我们可以用一些hack技术,

    3.1K80

    微信小游戏Android端的跨进程渲染推流实践

    系统聊天技术(三):微信聊天室单房间1500万在线的消息架构演进之路》 《系统聊天技术(四):百度的海量用户实时消息系统架构演进实践》 《系统聊天技术(五):微信小游戏Android 小游戏本质上就是把主手机幕上的内容展示给观众,自然而然地我们可以想到采用系统的接口MediaProjection进行视频数据的采集。 (如下图),便于主查看评论以及进行互动,会让观众也看到这个组件,影响观看体验的同时会暴露一些只有主才能看到的数据。 3.3 小游戏时的情况 小游戏之前支持过游戏内容的制,和原理上类似,都需要获取当前小游戏的画面内容。 可以看到,方案中通过一个Renderer负责将游戏内容上,另一个Renderer将同样的纹理渲染到编码器上的方式实现了制游戏内容,其实类似,是不是只要将编码器替换为的推流模块就可以了呢?

    24310

    微信小游戏Android跨进程渲染推流实践

    小游戏本质上就是把主手机幕上的内容展示给观众,自然而然地我们可以想到采用系统的接口MediaProjection进行视频数据的采集,这种方案有这些优点: 系统接口,实现简单,兼容性和稳定性有一定保证 后期可以扩展成通用的 对游戏性能影响较小,经测试对帧率影响在10%以内 可以接在主进程进行数据处理及推流,不用处理小游戏跨进程的问题 但是最终这个方案被否决了,主要出于以下考虑: 需要展示系统授权弹窗 需要谨慎处理切出小游戏后暂停画面推流的情况,否则可能制到主的其他界面,有隐私风险 最关键的一点:产品设计上需要在小游戏上展示一个评论挂件(如下图),便于主查看评论以及进行互动,会让观众也看到这个组件 小游戏时的情况 小游戏之前支持过游戏内容的制,和原理上类似,都需要获取当前小游戏的画面内容,启用时小游戏会切换到如下的模式进行渲染: ? 可以看到,方案中通过一个Renderer负责将游戏内容上,另一个Renderer将同样的纹理渲染到编码器上的方式实现了制游戏内容,其实类似,是不是只要将编码器替换为的推流模块就可以了呢?

    32220

    微信小程序接口全解析!从官方 Demo 了解小程序的能力

    媒体组件 image(加载本地和网络图片); audio(放音频); video(放视频)。 ? 视频可以添加弹幕,用户也可以接选择全放。嗯,程序员哥哥又可以少写好多代码。 需要注意的是,选择全放模式后,可以切换到竖向全放,但是并不会退出全状态。 ? 地图 使用 map 组件,可以在小程序中打开一个地图。 视频接口,可以即时制或选择已制的视频。但选择制新视频时,也是通过系统的相机应用进行拍摄。 ? 在小程序首次调用图片、音、读写数据、文件等功能时,会出现权限确认框。 数据 和 Android 里 SharedPreferences 一样,小程序支持接保存键值对,也是永久保存,在下次打开后可以进行读取。 ? 开发版的小程序可以接在微信里开启调试模式,可以调出控制台,查看日志、报错等信息。 ?

    74830

    相关产品

    • 云直播

      云直播

      云直播(CSS)为您提供极速、稳定、专业的直播云端处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、慢直播、快直播三种服务,分别针对大规模实时观看、高并发推流录制、超低延时直播场景,配合移动直播 SDK,为您提供一站式的音视频直播解决方案。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券