mplayer 并不支持多个窗口显示同一个视频,我主要是在 windows 下修改,采用 mingw 编译.唯一办法就是修改 mplayer 的源代码,思路主要是修改关于视频显示部分源代码,即 vo 部分 , windows 实现方法如下增加两个 mplayer 的 command 选项,把 另一个窗口的句柄传入 mplayer ,这里要修改 command.c 及 cfg-mplayer.h, 例如,自己加一个参数 -wid2 (原来 -wid 用于传入窗口的 handle ), 再增加一个参数 -adapter2 (即 wid2 窗口 handle 所在的 video adapter 的序号)增加一个全局的 vo_functions_t 类型变量(即增加多一个 vo(video out ) ) 的输出变量 , 在原来 mplayer 原来视频输出基础上,得多输出一次,我是这样修改的(1).先在 vodeo_out.c 中,修改 init_best_video_out 函数 ,多初始化一个 vo(2).修改 video_out.c 中的 config_video_out , 多 config 一次我们自己的 vo(3). 修改你需要的 vo 的源代码,主要是修改 control 函数,实现显示视频, 由于我只用到 directx , 所以我主要是修改 vo_directx.c 即可实现