现在可以通过海康的 sdk 获取 PS 流。想知道如何解析出 h264 数据,然后封包推成 rtmp 流。
网上找到的也都是 c 版本的 demo,有点看不懂,我是写 java 的。
别问为啥这样做,问就是 老板要求!!!
1
icemanpro 2020-06-02 09:59:40 +08:00
|
2
cshlxm 2020-06-02 10:03:03 +08:00
不是一般都是 rtsp 流么,是对接 GB28181 平台的 ps 流么,仔细看下协议,还是 h264 的流简单封装一下啊,搞懂封装过程解析出 h264 流再转 rtmp 就没啥难度了。
|
3
wtof 2020-06-02 10:15:46 +08:00
ffmpeg 搞一下?
|
4
buzailianxi 2020-06-02 10:20:48 +08:00
一时半会学不会的,搞个 srs 的搞吧
|
5
jiobanma OP @cshlxm #2 rtsp 流在进行历史回放的时候会报 453 的错误,带宽不足,不能满足需求。GB28181 没有接触过啊,之前做过 rtsp 转 rtmp 的但是因为历史回放的问题无法解决,就换成 sdk 捕获 ps 流数据 通过 javacv 去转封装 rtmp 。但是老板觉得 javacv 体积太大,很多函数都是阻塞的,状态不好控制,所以希望通过获取到的 ps 流转为 ts 然后推成 rtmp,现在不知道该怎么做。
|
6
hardwork 2020-06-02 12:40:43 +08:00 via Android
这种音视频底层封装编解码一般都是 c c++,因为生态摆在那。还是用 c 或 c++去搞吧。或者你自己找找有没有 Java 包干这个的,java 不是号称什么包都有吗。
|
8
1044523901 2020-06-02 15:10:46 +08:00
ffmpeg
|
9
jiobanma OP @1044523901 #8 我是做 java 的,c/c++用 ffmpeg 比较有好一点,java 使用的是一个封装了 ffmpge 的开源库 javacv,但是拉流的时候,ffmpeg 里面很多函数是阻塞的,并且用 ffmpeg 去拉流会做很多操作,领导的意思是,流的信息我们都知道,用 ffmpeg 去拉流,有很多东西我们不好控制,所以就想着跳过拉流,自己去解析流,封包,然后推出去。简而言之,现有的轮子有些状态不好控制,想要自己造个轮子。
|