首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android视频系列:视频解码篇--android上视频播放的实现

    先理解播放的场景,才能更好地理解视频处理时所选取的策略。 播放器做了什么 播放器播放视频,就是一步步剖开视频的内容,显示在屏幕上。 最简单的理解方式,是把视频文件看做一个容纳了很多图片的容器。...那么播放器播放,就需要先解压缩成图像,再放到屏幕上。所以,播放器的两个核心功能,一个是解码,一个是显示。 我们来看看,Android为我们提供了哪些对象,可以让我们做视频的播放。...Android播放视频 下面我们介绍3种在Android上播放视频的方法。 1. 使用VideoView播放视频 ?...使用MediaPlayer和SurfaceView播放视频 ? Android系统,已经在底层我们打通了一条MediaPlayer到SurfaceView的数据通路,那就是Surface。...至此,opengl拿到了解码的图像数据后,就可以自如的做任何图像相关的处理,渲染到屏幕上。 总结 以上在Android上实现的三种播放视频方法,从简单到复杂,可以根据自己功能的需要,灵活进行选择。

    4.1K131

    【Android初级】如何让APP无法在指定的系统版本上运行

    随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。...今天我将要模拟实现一个“由于APP自身版本过低、导致无法在当前的系统版本上运行”的功能效果。...实现思路如下: 要获得APP的目标运行版本,也要知道系统的编译版本 通过版本比较,在进入该APP时,给用户做出“不支持运行”的提示 用户确认提示后,直接退出该APP 关键点是 targetSdkVersion....setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @...我们注意到程序中使用的是 getApplicationInfo().targetSdkVersion,说明这个变量是 ApplicationInfo.java 的成员变量,这个值是在安装APK的过程中、

    2.8K20

    视频流媒体服务器EasyNVR在layer弹出层中使用video标签无法最大化全屏播放问题解决

    在layer弹出层中使用video标签无法最大化全屏播放 分析问题 在layer中使用H5的video标签作为弹出层来播放视频,在谷歌中最大化的时候就会出现问题,无法全屏播放。...2、高速上云 该项目融合视频上云运营理念,为政企部门打造一套包含平台+硬件的智能视频快速上云一体化的解决方案,帮助政企部门通过智能视频上云网关实现Internet就近加密接入,获得更加智能、更加可靠、更加安全的上云体验...对上云汇聚点的视频系统开展上云接入条件改造后与云平台直接对接,具备控制信令通过由云提供的云端V**隧道传输、视频流由互联网通道传输等功能,并由云平台向各地提供统一的“在线调取、共享分发、智能分析”等服务...3、明厨亮灶 “明厨亮灶”视频监控系统主要是通过对餐饮服务单位的传统 “禁地”——厨房,利用“明厨亮灶”监控系统实施摄像头视频监控,并且将监控图像通过店内大屏或者手机、PC等设备,向公众提供提供了一个社会监督的渠道

    1.2K10

    在LiteCVR平台视频调阅中全屏播放,画面显示异常的排查与解决

    第三代视频监控系统是指以前端网络视频为代表的全数字视频监控系统,视频从前端图像采集、传输即为数字信号,并以网络为传输媒介,实现视频在网上的传输,并通过设在网上相应的功能控制主机来实现对整个监控系统的浏览...平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,可拓展性强、视频能力灵活,能对外分发RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC等视频流。...有技术人员在日常排查中发现:在LiteCVR的视频调阅模块中,播放一路视频后,再去点击全屏按钮,会出现下图的状况:于是进行流程复现:点击视频广场并播放一路流设备,再去视频调阅播放一路设备,再全屏就会复现该情况...目前应用最广泛和最常见的就是第三代视频监控系统,随着互联网技术的快速发展,视频监控系统越来越走向智能化。...视频监控管理平台LiteCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧工厂、智慧码头、智慧水利等场景中有着广泛的应用前景。基于IP网络技术的安防前端设备呈现更快速的发展。

    24620

    OpenCV 在 Android 上的应用

    OpenCV 介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。...在移动端上使用 OpenCV 可以完成一系列图像处理的工作。 二. OpenCV 在 Android 上的配置 我在项目中使用的 OpenCV 版本是 4.x。...在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。...例子两则 3.1 作为二维码识别的兜底方案 在 Android 原生开发中,二维码识别有老牌的 zxing 等开源库。为何还要使用 OpenCV 呢?...但是它本身体积也较大,在移动端使用至少会增加 Android Apk 包 10 M+ 的体积(主要取决于 App 要支持多少个 CPU 架构)。

    2.2K10

    eBPF在android上的使用

    对于eBPF可以简单的理解成kernel实现了一个虚拟机机制,将类C代码编译成字节码(后文有详细解释),挂在到内核的钩子上,当钩子被触发时,kernel在虚拟机的"沙盒"中运行字节码,这样既能方便的实现很多功能...BCC在android系统上也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...eBPF上的名词,来帮忙更好的理解。...1. android系统对eBPF的编译支持 目前android编译系统已经对eBPF进行了集成,通过android.bp就能很方便的在android源代码中编译eBPF的字节码。...Q版本上的节点信息。

    4.5K10

    Pinterest:Android系统上的视频管理

    原文 https://medium.com/pinterest-engineering/managing-videos-on-android-f59da9601d5f 2016年Pinterest安卓应用上发布的视频模块...包括支持在每个屏幕上同时播放多个视频,并且通过滚动出屏幕自动暂停播放的方式来动态地控制视频的播放状态以及同时播放的视频数量。...很快我们发现其实需要应对的技术挑战有很多,例如: 管理当前所有可用视频的播放状态 了解视频在屏幕上的可见率 为我们的开发人员提供易于使用的视频组件 随着工作的进行,我们逐渐调整视频架构来满足这些需求,下面我们将在最新的视频模块中深入探讨如何应对这些挑战...管理surfaces对于监控应用于surfaces的子对象的生命周期状态(即onStart()等)至关重要,并且避免在使用者层上添加过多代码来将最新状态更改应用到视图。...),以推断其在屏幕上的可见性。

    1.1K60

    AspectJ在android上的开发

    Android上运用AOP的思想开发,可以快速的帮助我们简化在横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。...AspectJ实际上是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。...//在全局变量中配置编译项以及,对应的log输出 variants.all { variant -> if (!.../Android-AOPExample 熟悉了一遍 补充:Android-AOPExample的例子下载下来,在gradle版本再2.3.0及其以上的版本编译会出现问题 报错误:No such property...:将plugin.project.android.bootClasspath.join(File.pathSeparator) 替换为 android.bootClasspath.join(File.pathSeparator

    1.3K20

    在Android P上使用Http

    前言 不少同学在适配Android P的时候会遇到not permitted by network security policy问题: //使用HttpUrlConnection时遇到的异常 W/System.err...系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,...在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用...network-security-config> 然后在AndroidManifest.xml...android:networkSecurityConfig="@xml/network_security_config" ... /> 参考链接

    2.1K20

    在 Android 上测试协程 | AndroidDevSummit 中文字幕视频

    协程让我们在 Android 上进行异步编程更加轻松,但测试异步代码从来都不是简单的事情。...在本次演讲中,Manuel Vivo 和 Sean McQuillan 将带大家掌握异步测试之道 (没错,就是让你更容易看到那个绿色的✅): 在编写测试代码前,你需要问自己哪些问题?...在听完本场演讲后,一切问题将会迎刃而解。...腾讯视频链接: v.qq.com/x/page/d303… Bilibili 视频链接: www.bilibili.com/video/av797… 请继续保持关注,我们会陆续为大家带来本次开发者峰会全部演讲的中文字幕视频...欢迎大家就本次峰会中的内容提出 Android 开发问题,我们将在峰会内容放送完毕后邀请 Android 团队工程师们为大家做出解答。

    49320

    Android 8.0新特性适配测试报告来啦!

    测试目的 检查游戏、APP在Android8.0系统环境下能否正常安装、启动、卸载 测试用例 ? 测试结果 ?...测试目的 引入的画中画模式与APP是否兼容 测试条件 设置-应用和通知-高级-特殊应用权限中允许进入画中画模式,在指定应用中全屏播放视频时点击Home键进入画中画模式 测试用例 ? 测试结果 ?...另外,画中画模式播放视频,同时运行其他APP视频播放结束均会关闭,暂时无法确定是系统设定如此还是由于BUG原因造成。...目前只有Chrome浏览器、Google Play服务、YouTube支持画中画模式,其中YouTobe全屏播放视频时点击home键直接跳转到主屏界面,无法进入画中画模式,Chrome浏览器全屏播放视频也很多无法进入画中画模式...目前除了Nexus、Pixel等几个系列设备可以更新外,还未大范围推广,所以影响面较小,开发和测试等人员需要提早注意更新以便自己相关产品在新系统版本上顺利运行。

    1.1K40

    ProGuard 在 Android 上的使用姿势

    如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 在一些版本的 Android 设备上,DEX 代码会在安装或者运行时被编译成机器码。...您也可以去观看 part of this Google I/O session Shai Barack 的教学视频。...而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。让我们看一个真实的例子。 ? 一个项目依赖 OkHttp 3.8.0 构建时的消息。...在某些情况下,ProGuard 的警告确实有助于您发现闪退的罪魁祸首和关于您配置上的其他问题。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从

    2.6K40

    在Android上用AI识别物体

    今天我们来看看如何在Android上实现这个功能。 物体识别 物体识别包括两个方面,一个是物体位置识别,划出图片中的物体在什么位置。另一个是物体识别,告诉你这是个什么物体,是人是狗,是桌子还是鸟。...我们把这个网络落地到Android上看看它的效果怎样。 Android导入AI框架 要在Android上使用AI网络,首先需要集成能够解读AI网络的框架。...Google的Tensorflow在Android上做了专门的框架 - Tensorflow-Lite,它能够在移动端上高性能地运算AI模型。...首先需要在app的build.gradle里引入它 dependencies { implementation 'org.tensorflow:tensorflow-lite:1.10.0' } 在Android...需要源码的小伙伴可以在公号回复”物体识别“来获取源码回去研究。 下面是AI app的截图。 ? phone ? laptop

    4.4K60
    领券