如何将ffplay作为无窗口进程运行?

时间:2012-08-06 15:25:01

标签: ffmpeg sdl

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

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

2 个答案:

答案 0 :(得分:1)

选项-nodisp对我来说很好(与-autoexit一起使用)。

我已经使用gnome在ubuntu 16中进行了测试。

来源:[FFmpeg-user] ffplay for audio only

答案 1 :(得分:0)

SDLMain.m正在将needs to be compiled添加到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()包装