V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
snowflake007
V2EX  ›  Android

Android RTSP 播放拉流怎么取到持续的每帧图像进行分析

  •  
  •   snowflake007 · 329 天前 · 7151 次点击
    这是一个创建于 329 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有成熟的库可以使用,Android 平台 RTSP 播放拉流怎么取到持续的每帧图像进行分析。

    大概使用是接入摄像头的 RTSP 流数据到一个 Android 设备终端后进行人脸识别搜索 监测

    Google Media3 ?VLC ?
    10 条回复    2024-01-22 10:49:37 +08:00
    badguyatu
        1
    badguyatu  
       329 天前
    java 调用 c++解码视频流,Java 可以得到这一帧的 bitmap,就可以分析处理了
    mightybruce
        2
    mightybruce  
       329 天前
    java 用 opencv 的 bindings 就行, 其他的处理都比较麻烦,rtsp 流协议 存的也不是每帧图像全部像素,涉及到很多视频处理。
    luoway
        3
    luoway  
       329 天前
    参考#2 ,视频传输会优化传输数据量。建议从截图方向考虑实现业务逻辑
    giao123
        4
    giao123  
       329 天前
    FFMPEG ,但是安卓版本的已经不再更新了,旧版搞起来很麻烦
    zsxzy
        5
    zsxzy  
       329 天前
    rtsp 的开源 player 不少. .拿到数据后使用 mediacodec 解码, 在回调函数能拿到每帧的 yuv 数据..
    snowflake007
        6
    snowflake007  
    OP
       319 天前
    @mightybruce 谢谢大佬;确实对 RTSP 的协议不太熟悉
    snowflake007
        7
    snowflake007  
    OP
       319 天前
    @luoway 谢谢大佬。截图性能消耗过大
    snowflake007
        8
    snowflake007  
    OP
       319 天前
    @zsxzy 大佬,那个轻量点?主要是对 RTSP 协议和视频编解码不太熟悉
    mightybruce
        9
    mightybruce  
       319 天前   ❤️ 1
    opencv 的 videocapture 已经对各种流协议以及摄像头做了高级封装, 直接在 videocapture 中写 rtsp url 地址就可以读出完整的图像,其他方式我尝试过的有 live555, 它是 c++ 专门处理 rtsp 的库需要你对视频处理有一定理解, ffmpeg 一些直接方式不推荐。
    rtsp 包含 RTSP 控制指令以及 RTP 数据,协议不是直接编解码能解决的
    视频编解码像摄像头很多用了 h265 来保证高压缩率。
    yuv 是色彩空间,图像的格式,我们通常说的色彩空间还有 RGB, BGR, YCbCr 这些。
    snowflake007
        10
    snowflake007  
    OP
       316 天前
    @mightybruce 谢谢大佬,很详细
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1085 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.