道中一尘 2023-12-06 02:08 采纳率: 0%
浏览 9
已结题

ffmpeg.Autogen ,遇到读写内存错误

执行到avfilter_graph_parse_ptr 报错 读写受保护内存
有谁能帮忙看看么?
我词穷了所有敬语称为全不让用,只能用“谁”了~哭死~~

img


public DrawText(AVStream* VideoStream, AVCodecContext* _pCodecContext, Size _destinationSize)
{
    AVFilterGraph* filterGraph = ffmpeg.avfilter_graph_alloc();

    string args = $"video_size={_destinationSize.Width}x{_destinationSize.Height}:pix_fmt={(int)AVPixelFormat.AV_PIX_FMT_RGB24
        }:time_base={VideoStream->time_base.num}/{VideoStream->time_base.den}:pixel_aspect={_pCodecContext->sample_aspect_ratio.num}/{_pCodecContext->sample_aspect_ratio.den}";
   
    AVFilterContext* srcFilterCtx;
    AVFilter* srcFilter = ffmpeg.avfilter_get_by_name("buffer");
    if ((ret = ffmpeg.avfilter_graph_create_filter(&srcFilterCtx, srcFilter, "out_buffer", args, null, filterGraph)) < 0)
    {
        LogManage.WriteLineNewInfo($"[Error creating buffer source]:[{FFmpegHelper.av_strerror(ret)}]", true);
        return;
    }

    AVFilterContext* sinkFilterCtx;
    AVFilter* sinkFilter = ffmpeg.avfilter_get_by_name("buffersink");
    if ((ret = ffmpeg.avfilter_graph_create_filter(&sinkFilterCtx, sinkFilter, "in_buffersink", string.Empty, null, filterGraph)) < 0)
    {
        LogManage.WriteLineNewInfo($"[Error creating buffer sink]:[{FFmpegHelper.av_strerror(ret)}]", true);
        return;
    }


    AVFilterInOut* inputs = ffmpeg.avfilter_inout_alloc();
    inputs->name = ffmpeg.av_strdup("out");
    inputs->filter_ctx = srcFilterCtx;
    inputs->pad_idx = 0;
    //outputs->next = null;

    AVFilterInOut* outputs = ffmpeg.avfilter_inout_alloc();
    outputs->name = ffmpeg.av_strdup("in");
    outputs->filter_ctx = sinkFilterCtx;
    outputs->pad_idx = 0;
    //inputs->next = null;
    //运行到 avfilter_graph_parse_ptr 处报错 内存越界
    if ((ret = ffmpeg.avfilter_graph_parse_ptr(filterGraph, "drawtext=text='%{pts\\:hms}':x=1:y=1:fontsize=12:fontcolor=white:bordercolor=black:borderw=1", &inputs, &outputs, null)) < 0)
    {
        LogManage.WriteLineNewInfo($"[Could not parse filter graph]:[{FFmpegHelper.av_strerror(ret)}]", true);
        return;
    }
  • 写回答

2条回答 默认 最新

  • Null_Link 2023-12-07 14:21
    关注

    这代码的名称和长度 看的头疼.. avfilter_graph_parse_ptr的声明如何定义的,以及说明

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月9日
  • 修改了问题 12月6日
  • 修改了问题 12月6日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?