Я использую библиотеку ffmpeg для захвата экрана (рабочий стол). Все работает нормально, когда я запускаю свое приложение в режиме отладки / выпуска. Ошибка ввода-вывода возникает, когда приложение запускается в режиме обслуживания окна c # (ОС win 10). Я погуглил, но все еще не знаю, почему появилась ошибка. В сервисном режиме не возникает проблем при подключении к какой-либо ссылке RTSP (Camera), кроме захвата рабочего стола.
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;
}
}
}