您当前的位置: 首页 >  服务器

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

搭建极简GB28181 网守和网关服务器,建立AI推理和3d服务场景,然后开源代码(一)

qianbo_insist 发布时间:2022-06-25 07:55:34 ,浏览量:0

1 目的

    这里说的开源并非使用开源现有的系统,而是自己写个系统去开源。

    为何要搭建极简GB服务,我们在公司里公司先后使用了nodejs ,go ,c# ,c++ 等等搭建了不同类型的GB服务,这个使用很多都可以搭建起来,也不像很多人说的那样,一定要tcp 才能通,udp 一样可以通,但是GB服务容易,难道网关就不能非常简单的搭建起来,满足我们的简单需求?

    首先是为了视频分析,使用GB28181 接入视频以后,后接AI服务来满足简单需求 在这里插入图片描述

2、分析ps流

最简单的分析ps流方法是使用ffmpeg直接解析出流,流媒体服务器自己做,做了一个基本的流媒体服务器,开源在gitee,目前是第一版,需要读者自己优化,地址在下方 https://gitee.com/guanzhi0319/mediaserver 以上建立服务器是一种选择,另外在网关里面我们再可以有更简单的方式 分析ps流方法

struct buffer_data {
    uint8_t* ptr;
    size_t size;
};
static int read_packet(void* opaque, uint8_t* buf, int buf_size)
{
    struct buffer_data* bd = (struct buffer_data*)opaque;
    buf_size = FFMIN(buf_size, bd->size);

    if (!buf_size)
        return AVERROR_EOF;
    printf("ptr:%p size:%zu\n", bd->ptr, bd->size);

    memcpy(buf, bd->ptr, buf_size);
    bd->ptr += buf_size;
    bd->size -= buf_size;
    return buf_size;
}
int main(int argc, char* argv[])
{
    AVFormatContext* fmt_ctx = NULL;
    AVIOContext* avio_ctx = NULL;
    uint8_t* buffer = NULL, * avio_ctx_buffer = NULL;
    size_t buffer_size, avio_ctx_buffer_size = 4096;
    char* input_filename = NULL;
    int ret = 0;
    struct buffer_data bd = { 0 };

    input_filename =(char*)"D:/ps file/ps0.264";

    /* slurp file content into buffer */
    ret = av_file_map(input_filename, &buffer, &buffer_size, 0, NULL);
    if (ret pb = avio_ctx;

    ret = avformat_open_input(&fmt_ctx, NULL, NULL, NULL);
    if (ret codecpar->format);
        }
    }
    if (video_stream_index == -1) {
        fprintf(stderr, "no video stream\n");
        return -1;
    }
    if (audio_stream_index == -1) {
        fprintf(stderr, "no audio stream\n");
    }
    int cnt = 0;
    AVPacket pkt;
    while (1) {
        if (++cnt > 100) break;
        ret = av_read_frame(format_ctx, &pkt);
        if (ret             
关注
打赏
1663161521
查看更多评论
0.0399s