This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM368能否进行1024*768分辨率的视频编解码?



大家好,

        请问DM368能否进行1024*768分辨率的视频编解码?如果可以的话帧率可以支持到多少,要在dvsdk开发包下好不好实现,需要修改哪些地方,多谢!!!

  • 你好;

    可以支持1024*768分辨率的编码;

    编码帧率可以达到60帧;

    在dvsdk中里面基本都实现了,你只需要修改采集过来的分辨率就可以了;

  • 可以的,以后我们用dm6446都支持到1600*1200 大约帧率 12-15帧的jpeg编码;

  • 您好,

            请问在dvsdk开发包里如何修改分辨率呢,原始的没有这个档,应该具体在哪些地方做什么样的修改呢,期待您的回复。

  • 你好;

    在demo中的video.c 中需要设置编码动态参数中有一组编码输入数据的分辨率,需要进行设置,编码创建的时候也需要设置编码分辨率的;

    下面几个相关地方需要设置:

    static int  videoEncodeDynamicParams(VIDENC_Handle hEncode,
                                     int width, int height, int bitrate)
    {
        VIDENC_DynamicParams   dynamicParams;
        VIDENC_Status          encStatus;
        XDAS_Int32             status;
        //VIDENC_Handle          hEncode;
    
        dynamicParams.size                = sizeof(VIDENC_DynamicParams);
        dynamicParams.inputHeight         = height;
        dynamicParams.inputWidth          = width;
        dynamicParams.targetBitRate       = bitrate < 0 ? 0 : bitrate;
        dynamicParams.intraFrameInterval  = 300;
        dynamicParams.generateHeader      = XDM_ENCODE_AU;
        dynamicParams.captureWidth        = 0;
        dynamicParams.forceIFrame         = 1;
    
        if (gblGetYFactor() == NTSCSTD) {
            dynamicParams.targetFrameRate = 30000;
            dynamicParams.refFrameRate    = 30000;

     

    /******************************************************************************
     * videoEncodeAlgCreate
     ******************************************************************************/
    static int  videoEncodeAlgCreate(Engine_Handle hEngine,
                                     VIDENC_Handle *hEncodePtr,
                                     VideoEncoder videoEncoder,
                                     int width, int height, int bitrate)
    {
        VIDENC_DynamicParams   dynamicParams;
        VIDENC_Status          encStatus;
        VIDENC_Params          params;
        XDAS_Int32             status;
        char                  *algName;
        VIDENC_Handle          hEncode;
    
        algName = videoEncodeAlgNames[videoEncoder];
    
        params.size                  = sizeof(VIDENC_Params);
        params.encodingPreset        = XDM_DEFAULT;
        params.rateControlPreset     = bitrate < 0 ? IVIDEO_NONE : IVIDEO_LOW_DELAY;
        params.maxHeight             = D1_HEIGHT;
        params.maxWidth              = D1_WIDTH;
        params.maxFrameRate          = gblGetYFactor() == NTSCSTD ? 30000 : 25000;
        params.maxBitRate            = bitrate < 0 ? 0 : bitrate;
        params.inputChromaFormat     = XDM_YUV_422ILE;
        params.dataEndianness        = XDM_BYTE;
        params.maxInterFrameInterval = 0;
        params.inputContentType      = IVIDEO_PROGRESSIVE;

  • 多谢,我们回去试一下。

  • 在demo 运行中,你只需要指点采集编码参数-r就可以,如下;

    如果是手动修改,还需要修改采集capture.c 中的采集参数

     "Options:\n"
          "-s | --speechfile  Speech file to record to\n"
          "-v | --videofile   Video file to record to\n"
          "-r | --resolution  Video resolution ('width'x'height') [720x480]\n"
          "-b | --bitrate     Bit rate to encode video at [variable]\n"
          "-d | --deinterlace Disable removal of interlacing artifacts from the\n"
          "                   captured video frames before encoding [off]\n"
          "-x | --svideo      Use s-video instead of composite video input [off]\n"
          "-l | --linein      Use line in for encoding sound instead of mic [off]\n"
          "-k | --keyboard    Enable keyboard interface [off]\n"
          "-t | --time        Number of seconds to run the demo [infinite]\n"
          "-i | --interface   Launch the demo interface when exiting [off]\n"
          "-h | --help        Print this message\n\n"
          "You must supply at least a video or a speech file or both\n"
          "with appropriate extensions for the file formats.\n\n");