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

从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)
    

http://www.kler.cn/a/310484.html

相关文章:

  • 常见error集合
  • Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别
  • XML Schema 字符串数据类型
  • MFC图形函数学习07——画扇形函数
  • 基于Python的膳食健康系统
  • Sam Altman:年底将有重磅更新,但不是GPT-5!
  • 探索Java中的设计模式:原则与实例
  • ubuntu24系统普通用户免密切换到root用户
  • 整流器制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
  • 【Delphi】知道控件名称(字符串),访问控件
  • 数据结构与算法-18算法专向(hash)
  • 浅显易懂的Git教程
  • c基本知识
  • Windows10电脑右下角时间显示到秒
  • Golang | Leetcode Golang题解之第414题第三大的数
  • C++(学习)2024.9.18
  • Zabbix企业分布式监控(Zabbix Enterprise Distributed Monitoring)
  • Electron 图标修改
  • 深度学习 之 常见损失函数简介:名称、作用及用法
  • mysql 8.0 日期维度表生成(可运行)
  • CSS传统布局方法(补充)——WEB开发系列37
  • 【路径规划】WDM网络中RWA问题的教育网络规划工具(基于MILP和启发式)
  • 图说GPT网络结构(参数量与计算量估计)
  • 何时空仓库
  • 计算机毕业设计 乡村生活垃圾管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • C++《类和对象》(下)