使用ffmpeg在窗口7上录制屏幕时出现问题。
所以,你们看到鼠标光标记录的是大红点。 我使用PPT默认铅笔,所以,实际上,光标是一个非常小的点。 但是在比赛时它变得如此之大。
我使用的命令:
ffmpeg.exe -y -rtbufsize 500M -f gdigrab -framerate 5 -draw_mouse 1 -i desktop -f dshow -i audio=%s -af "highpass=f=200, lowpass=f=3000" -c:v libx264 -r 5 -preset medium -tune zerolatency -crf 35 -pix_fmt yuv420p -c:a libvo_aacenc -ac 2 -b:a 48k -fs 50M -movflags +faststart
之前有人打过这个吗?
感谢。
韦斯利
答案 0 :(得分:3)
编辑gdigrab.c(493)解决了这个问题:
if (pos.x >= 0 && pos.x <= clip_rect.right - clip_rect.left &&
pos.y >= 0 && pos.y <= clip_rect.bottom - clip_rect.top) {
BITMAP bm;
BOOL bRet = GetObject(info.hbmMask, sizeof(bm), &bm) == sizeof(bm);
if(bRet) {
int cx = bm.bmWidth;
int cy = info.hbmColor ? bm.bmHeight : bm.bmHeight / 2;
if(!DrawIconEx (gdigrab->dest_hdc, pos.x, pos.y, icon, cx, cy, 0, NULL, DI_NORMAL))
CURSOR_ERROR("Couldn't draw icon");
}else{
if (!DrawIcon(gdigrab->dest_hdc, pos.x, pos.y, icon))
CURSOR_ERROR("Couldn't draw icon");
}
}