gpt4 book ai didi

c++ - 断言 desc 在 src/libswscale/swscale_internal.h :668 失败

转载 作者:行者123 更新时间:2023-12-04 23:25:40 27 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题。我正在使用 FFMPEG gdigrab设备来捕获桌面。这就是我所做的

...
options = NULL;
av_dict_set(&options, "framerate", "30", NULL);
av_dict_set(&options, "offset_x", QString::number(geometry.x() + 10).toLatin1().data(), NULL);
av_dict_set(&options, "offset_y", QString::number(geometry.y() + 10).toLatin1().data(), NULL);
av_dict_set(&options, "video_size", QString(QString::number(geometry.width() - 20) + "x" + QString::number(geometry.height() - 20)).toLatin1().data(), NULL);
av_dict_set(&options, "show_region", "1", NULL);

AVInputFormat* inputFormat = av_find_input_format("gdigrab");
avformat_open_input(&inputFormatContext, "desktop", inputFormat, &options);
...
AVPacket* packet = (AVPacket*)av_malloc(sizeof(AVPacket));
av_init_packet(packet);

AVFrame* frame = av_frame_alloc();
AVFrame* outFrame = av_frame_alloc();

int nbytes = av_image_get_buffer_size(outCodecContext->pix_fmt,
outCodecContext->width,
outCodecContext->height,
32);

uint8_t* outBuffer = (uint8_t*)av_malloc(nbytes);

avpicture_fill((AVPicture*)outFrame, outBuffer,
AV_PIX_FMT_YUV420P,
outCodecContext->width, outCodecContext->height);

SwsContext* swsContext = sws_getContext(inputCodecContext->width,
inputCodecContext->height,
inputCodecContext->pix_fmt,
outCodecContext->width,
outCodecContext->height,
outCodecContext->pix_fmt,
SWS_BICUBIC, NULL, NULL, NULL);
...

据我所知,应用程序在 sws_getContext(... 之后立即崩溃

它与 Windows 错误消息一起崩溃
this application has requested the runtime to terminate it in an unusual way

所以我什至无法调试问题出在哪里。

控制台中还有一条消息
Assertion desc failed at src/libswscale/swscale_internal.h:668

奇怪的是 - 我什至没有 swscale_internal.h文件

如果我需要提供其他信息以获得帮助,请告诉我。

最佳答案

FFmpeg 的最新版本中该断言表明 outCodecContext->pix_fmt未正确设置。还有avpicture_fill已弃用,请使用 av_image_fill_arrays反而。如果您使用旧版本的 FFmpeg,您可能会忽略弃用。但我建议使用最新的 FFmpeg。希望有帮助。

关于c++ - 断言 desc 在 src/libswscale/swscale_internal.h :668 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050600/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com