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

有大佬懂视频流 PS 流解析 h264 数据的过程吗

  •  
  •   jiobanma ·
    banmajio · 2020-06-02 09:41:04 +08:00 · 3112 次点击
    这是一个创建于 1642 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在可以通过海康的 sdk 获取 PS 流。想知道如何解析出 h264 数据,然后封包推成 rtmp 流。

    网上找到的也都是 c 版本的 demo,有点看不懂,我是写 java 的。

    别问为啥这样做,问就是 老板要求!!!

    9 条回复    2020-06-02 15:27:24 +08:00
    icemanpro
        1
    icemanpro  
       2020-06-02 09:59:40 +08:00
    cshlxm
        2
    cshlxm  
       2020-06-02 10:03:03 +08:00
    不是一般都是 rtsp 流么,是对接 GB28181 平台的 ps 流么,仔细看下协议,还是 h264 的流简单封装一下啊,搞懂封装过程解析出 h264 流再转 rtmp 就没啥难度了。
    wtof
        3
    wtof  
       2020-06-02 10:15:46 +08:00
    ffmpeg 搞一下?
    buzailianxi
        4
    buzailianxi  
       2020-06-02 10:20:48 +08:00
    一时半会学不会的,搞个 srs 的搞吧
    jiobanma
        5
    jiobanma  
    OP
       2020-06-02 10:31:36 +08:00
    @cshlxm #2 rtsp 流在进行历史回放的时候会报 453 的错误,带宽不足,不能满足需求。GB28181 没有接触过啊,之前做过 rtsp 转 rtmp 的但是因为历史回放的问题无法解决,就换成 sdk 捕获 ps 流数据 通过 javacv 去转封装 rtmp 。但是老板觉得 javacv 体积太大,很多函数都是阻塞的,状态不好控制,所以希望通过获取到的 ps 流转为 ts 然后推成 rtmp,现在不知道该怎么做。
    hardwork
        6
    hardwork  
       2020-06-02 12:40:43 +08:00 via Android
    这种音视频底层封装编解码一般都是 c c++,因为生态摆在那。还是用 c 或 c++去搞吧。或者你自己找找有没有 Java 包干这个的,java 不是号称什么包都有吗。
    Latin
        7
    Latin  
       2020-06-02 15:00:00 +08:00
    @jiobanma ts 可以直接 ffmpeg 去推了,直接调用命令行
    1044523901
        8
    1044523901  
       2020-06-02 15:10:46 +08:00
    ffmpeg
    jiobanma
        9
    jiobanma  
    OP
       2020-06-02 15:27:24 +08:00
    @1044523901 #8 我是做 java 的,c/c++用 ffmpeg 比较有好一点,java 使用的是一个封装了 ffmpge 的开源库 javacv,但是拉流的时候,ffmpeg 里面很多函数是阻塞的,并且用 ffmpeg 去拉流会做很多操作,领导的意思是,流的信息我们都知道,用 ffmpeg 去拉流,有很多东西我们不好控制,所以就想着跳过拉流,自己去解析流,封包,然后推出去。简而言之,现有的轮子有些状态不好控制,想要自己造个轮子。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:30 · PVG 04:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.