我正在使用ffmpeg库捕获屏幕(桌面)。当我在调试/发布模式下运行应用程序时,一切正常。当此应用程序以c#窗口服务模式(Windows 10 OS)运行时,出现I / O错误。我用谷歌搜索,但仍然不知道为什么会出现错误。在服务模式下,连接到除桌面捕获以外的某些rtsp链接(相机)没有问题。
AVInputFormat * pAVInputFormat = av_find_input_format("gdigrab");
if (pAVInputFormat != NULL)
{
int err = avformat_open_input(&pFormatCtx, "desktop", pAVInputFormat, NULL);
if(err== 0)
{
err = av_read_frame(&pFormatCtx, &packet);
if (err < 0)
{
char errs[AV_ERROR_MAX_STRING_SIZE];
av_make_error_string(errs, AV_ERROR_MAX_STRING_SIZE, err );
String^ errStr = gcnew String(errs);
WriteLog("Error in function av_read_frame() return = " + errStr);
return -1;
}
}
}