我想使用 VLC 在 2 个显示器上同时播放视频。命令行帮助中有关克隆的描述如下:
克隆视频过滤器 (克隆) 将视频复制到多个窗口和/或视频输出模块 --clone-count= 克隆数量 克隆视频的视频窗口数量。 --clone-vout-list= 视频输出模块 您可以为克隆使用特定的视频输出模块。使用逗号分隔的模块列表。
因此,我尝试了以下命令行选项:
vlc.exe --video-splitter=clone --clone-count=2 S:\ExampleVideos\Performance_Test1080p60_ProRes422.mov
这些参数打开了 2 个单独的“Direct3D 输出”窗口。但它们无法 100% 流畅地播放我的视频。经过一番谷歌搜索后,我发现这应该与 OpenGL 配合使用效果更好。
由于 VLC 也支持 OpenGL,因此我尝试了以下选项:
vlc.exe --video-splitter=clone --clone-vout-list=glwin32,glwin32 S:\ExampleVideos\Performance_Test1080p60_ProRes422.mov
和
vlc.exe --video-splitter=clone --clone-count=2 --clone-vout-list=glwin32 S:\ExampleVideos\Performance_Test1080p60_ProRes422.mov
现在 VLC 能够流畅播放我的视频,但一次只能打开 1 个输出窗口。
我怎样才能实现 VLC 打开 2 个克隆的 OpenGL 窗口?
答案1
知道这个问题已经很久了,但我刚刚在 Linux 上遇到了同样的问题。我在源代码中找到了答案 (https://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_splitter/clone.c) 其中 VOUTSEPARATOR 被 #defined 为 ':' 您的第一个猜测很接近,只需在 --clone-vout-list 参数中使用冒号而不是逗号作为列表分隔符。