MediaProc.c 2.4 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);

        //6、修改部分参数
        int value = 8;
        Camera_param(JZ_FLAGCODE_SET, CAMERA_PSEUDO_COLOR, &value);
        value = 1;
        Camera_param(JZ_FLAGCODE_SET, CAMERA_PIXEL_PSEUDO_COLOR_MODE, &value);
    }
    
    //如果是150S相机 150T相机
    if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
    {
        //1、启动视频流缓冲区模块
        VideoMgmt_init_buffer(&VideoMgmt_FirstVideo_index);

        //2、相机初始化
        JZsdk_H150ST_CameraInit(FIRST_WIDTH, FIRST_HEIGHT, FIRST_FRAME_NUM);

        //3、启用推流模块
        VideoMgmt_VideoStreamFlow_Init(FIRST_FRAME_NUM, &VideoMgmt_FirstVideo_index, VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST);
   
        VideoMgmt_VideoStreamFlowIndex(VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST); //默认推送光学摄像头
    }
    
    return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}