使用ffmpeg 解码mp4文件的时候出现 Error splitting the input into NAL units.

使用ffmpeg3.2版本 解码mp4文件的时候出现 Error splitting the input into NAL units. 我这里的解决办法,记得使用avcodec_parameters_to_context

stRtVideo->pVideoCodecCtx = avcodec_alloc_context3(stRtVideo->pVideoCodec);
    //stRtVideo->pVideoCodecCtx = avcodec_alloc_context3(NULL);
    if(NULL == stRtVideo->pVideoCodecCtx){
        LOGE("[%s   %d] avcodec_alloc_context3 error \n",__FUNCTION__,__LINE__);
        goto ERR_EXIT;
    }

    if(par){
        if(avcodec_parameters_to_context(stRtVideo->pVideoCodecCtx,par)<0){
            LOGE("[%s   %d]can't copy decoder context \n",__FUNCTION__,__LINE__);
            goto ERR_EXIT;
        }else{
            LOGE("[%s   %d]copy decoder context success\n",__FUNCTION__,__LINE__);
        }
    }

    //打开解码器
    if(avcodec_open2(stRtVideo->pVideoCodecCtx, stRtVideo->pVideoCodec, NULL) < 0){
        LOGE("[%s   %d] avcodec_open2 error \n",__FUNCTION__,__LINE__);
        goto ERR_EXIT;
    }

你可能感兴趣的:(android,开发,ffmpeg)