如何为一个窗口无进程运行ffplay?(How to run ffplay as a window-

2019-09-20 21:10发布

我作为一个后台进程将图像数据提供给我的主UI进程中运行ffplay。 我已经设置“ SDL_VIDEODRIVER = dummy ”抑制在一个SDL窗口被显示的视频ffplay。

问题是,ffplay过程仍然会作为一个应用程序窗口(码头,CMD + TAB项等),即使不显示视频输出窗口。 我怎样才能避免这种情况?

Answer 1:

选项-nodisp为我工作得很好(连同-autoexit )。

经测试,在Ubuntu的18.04,ffmpeg的3.4.6:

ffplay -f lavfi -i "sine=frequency=1000:duration=5" -autoexit -nodisp

来源: [FFmpeg的用户] ffplay音频只



Answer 2:

该码头进入正被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()在其他平台上



文章来源: How to run ffplay as a window-less process?
标签: ffmpeg sdl