17

我将 ffplay 作为后台进程运行,它为我的主 UI 进程提供图像数据。我已设置“ SDL_VIDEODRIVER = dummy”来禁止在 SDL 窗口中显示 ffplay 视频。

问题是即使没有显示视频输出窗口,ffplay 进程仍然显示为应用程序窗口(停靠、CMD+TAB 条目等)。我怎样才能避免这种情况?

4

2 回答 2

18

该选项-nodisp对我来说效果很好(与 一起-autoexit)。

在 Ubuntu 18.04、ffmpeg 3.4.6 中测试:

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

来源:[FFmpeg-user] ffplay 仅用于音频

于 2018-11-14T08:38:45.630 回答
0

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()

于 2012-08-07T10:38:05.107 回答