我作为一个后台进程将图像数据提供给我的主UI进程中运行ffplay。 我已经设置“ SDL_VIDEODRIVER = dummy
”抑制在一个SDL窗口被显示的视频ffplay。
问题是,ffplay过程仍然会作为一个应用程序窗口(码头,CMD + TAB项等),即使不显示视频输出窗口。 我怎样才能避免这种情况?
我作为一个后台进程将图像数据提供给我的主UI进程中运行ffplay。 我已经设置“ SDL_VIDEODRIVER = dummy
”抑制在一个SDL窗口被显示的视频ffplay。
问题是,ffplay过程仍然会作为一个应用程序窗口(码头,CMD + TAB项等),即使不显示视频输出窗口。 我怎样才能避免这种情况?
选项-nodisp
为我工作得很好(连同-autoexit
)。
经测试,在Ubuntu的18.04,ffmpeg的3.4.6:
ffplay -f lavfi -i "sine=frequency=1000:duration=5" -autoexit -nodisp
来源: [FFmpeg的用户] ffplay音频只
该码头进入正被SDLMain.m里面添加需要编译成ffplay
它在Mac上玩。 注释在SDLMain.m以下行后,ffplay运行作为窗口少过程。
//#ifdef SDL_USE_CPS
// {
// CPSProcessSerNum PSN;
// /* Tell the dock about us */
// if (!CPSGetCurrentProcess(&PSN))
// if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
// if (!CPSSetFrontProcess(&PSN))
// [NSApplication sharedApplication];
// }
//#endif /* SDL_USE_CPS */
/* Set up the menubar */
//[NSApp setMainMenu:[[NSMenu alloc] init]];
//setApplicationMenu();
//setupWindowMenu();
编辑这仅影响Mac,因为我们不需要SDLMain.m
包装器int main()
在其他平台上