MediaProc.c 2.1 KB
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>

#include "JZsdkLib.h"
#include "version_choose.h"
#include "BaseConfig.h"

#include "./VideoMgmt/VideoMgmt.h"
#include "./StreamProc/StreamProc.h"
#include "./MediaParm.h"
#include "./Camera/Camera.h"


static int Kt_irc_flag = JZ_FLAGCODE_ON;

//视频流模块初始化
T_JZsdkReturnCode MediaProc_Init()
{
    //如果是昆腾相机  红外+光学 则红外为1号,光学为2号
    if (Kt_irc_flag == JZ_FLAGCODE_ON)
    {
        //1、启动视频流缓冲区模块
        VideoMgmt_init_buffer(&VideoMgmt_FirstVideo_index);
        VideoMgmt_init_buffer(&VideoMgmt_FirstRaw_index);

        VideoMgmt_init_buffer(&VideoMgmt_SecondVideo_index);
        VideoMgmt_init_buffer(&VideoMgmt_SecondRaw_index);

        //2、初始化编解码处理模块
        JZsdk_Kt_IrcMMP_Init(FIRST_WIDTH ,FIRST_HEIGHT, 25, 5 ,SECOND_WIDTH ,SECOND_HEIGHT, 30, 15);

        //3、相机初始化
        JZsdk_Kt_Irc_Camera_Init();

        //4、启用推流模块
        VideoMgmt_VideoStreamFlow_Init(25, &VideoMgmt_FirstVideo_index, VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST);
        VideoMgmt_VideoStreamFlow_Init(30, &VideoMgmt_SecondVideo_index, VIDEOMGMT_STREAMING_FLOW_INDEX_SECOND);

        //转码模块
        VideoStreamTransCode_Init();

        //5、打开默认选项
        VideoMgmt_VideoStreamFlowIndex(VIDEOMGMT_STREAMING_FLOW_INDEX_SECOND); //默认推送光学摄像头
        JZsdk_Kt_Irc_ShutterSwitch(JZ_FLAGCODE_ON);
    }
    
    //如果是150S相机 150T相机
    if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
    {
        // //1、启动视频流缓冲区模块
        // VideoMgmt_init_buffer(&VideoMgmt_FirstVideo_index);
        // VideoMgmt_init_buffer(&VideoMgmt_FirstRaw_index);

        // //3、相机初始化
        // JZsdk_Kt_Irc_Camera_Init();

        // //4、启用推流模块
        // VideoMgmt_VideoStreamFlow_Init(25, &VideoMgmt_FirstVideo_index, VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST);

    }
    

    return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}