当前位置: 首页 > news >正文

从IPC摄像机读取视频帧解码并转化为YUV数据到转化为Bitmap

前言

本文主要介绍根据IPC的RTSP视频流地址,连接摄像机,并持续读取相机视频流,进一步进行播放实时画面,或者处理视频帧,将每一帧数据转化为安卓相机同格式数据,并保存为bitmap。

示例

val rtspClientListener = object: RtspClient.RtspClientListener {override fun onRtspConnecting() {}override fun onRtspConnected(sdpInfo: SdpInfo) {}override fun onRtspVideoNalUnitReceived(data: ByteArray, offset: Int, length: Int, timestamp: Long) {// 发送原始H264/H265 NAL单元到解码器}override fun onRtspAudioSampleReceived(data: ByteArray, offset: Int, length: Int, timestamp: Long) {// 发送原始音频到解码器}override fun onRtspDisconnected() {}override fun onRtspFailedUnauthorized() {Log.e(TAG, "RTSP failed unauthorized");}override fun onRtspFailed(message: String?) {Log.e(TAG, "RTSP failed with message '$message'")}
}val uri = Uri.parse("rtsp://192.168.43.23:554/ch01.264?dev=1")
val username = "admin"
val password = ""
val stopped = new AtomicBoolean(false)
val socket: Socket = NetUtils.createSocketAndConnect(uri.host.toString(), port, 5000)val rtspClient = RtspClient.Builder(socket, uri.toString(), stopped, rtspClientListener).requestVideo(true).requestAudio(true).withDebug(false).withUserAgent("RTSP client").withCredentials(username, password)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • DeepSeek 2.5本地部署的实战教程
  • 7--SpringBoot-后端开发、原理详解(面试高频提问点)
  • Web后端开发技术:RESTful 架构详解
  • 如何在GitHub上Clone项目:一步步指南
  • js 深入理解类-class
  • 存储系统概述
  • 移动端如何实现智能语音交互
  • Java免税商品优选商城:Spring Boot实战
  • 【在Linux世界中追寻伟大的One Piece】IP分片和组装的具体过程
  • Linux:syslog文件删掉 不能自动创建
  • Cpp类和对象(中续)(5)
  • 如何将MySQL卸载干净(win11)
  • 论 JAVA 集合框架中 接口与类的关系
  • vue3(整合版)
  • mysql学习教程,从入门到精通,SQL 更新数据(UPDATE 语句)(17)
  • 【翻译】babel对TC39装饰器草案的实现
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • css选择器
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript新鲜事·第5期
  • Java程序员幽默爆笑锦集
  • Java反射-动态类加载和重新加载
  • js递归,无限分级树形折叠菜单
  • Material Design
  • Promise面试题2实现异步串行执行
  • python 装饰器(一)
  • Python中eval与exec的使用及区别
  • React-生命周期杂记
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Service Worker
  • zookeeper系列(七)实战分布式命名服务
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 那些年我们用过的显示性能指标
  • 你不可错过的前端面试题(一)
  • 盘点那些不知名却常用的 Git 操作
  • 思否第一天
  • 原生Ajax
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # Redis 入门到精通(一)数据类型(4)
  • #NOIP 2014# day.1 T2 联合权值
  • $forceUpdate()函数
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (笔试题)分解质因式
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (九)c52学习之旅-定时器
  • (四)Controller接口控制器详解(三)