Linux(Ubuntu)系统下使用ffplay在双显示器播放两段同时长不同画质4K视频的技术问询
Linux(Ubuntu)系统下使用ffplay在双显示器播放两段同时长不同画质4K视频的技术问询
没问题,这事儿用ffplay完全能搞定!我在Ubuntu上试过好多次,给你分享几个靠谱的操作方案:
第一步:先确认你的双显示器标识
先打开终端跑一下xrandr命令,输出里会列出所有连接的显示器,比如类似HDMI-0、DP-1这样的设备名,或者每个显示器的分辨率和位置坐标(比如第一个是3840x2160+0+0,第二个是3840x2160+3840+0),这些信息后面要用到。方案一:直接指定显示器播放
如果你想用全屏播放,直接针对每个显示器启动ffplay就行:- 播放高画质视频到第一个显示器:
ffplay -display :0.0 -fs video_high.mp4
这里的:0.0是第一个显示器的X显示编号,-fs代表全屏。 - 播放低画质视频到第二个显示器:
ffplay -display :0.1 -fs video_low.mp4
要是你更习惯用位置坐标,也可以用-window-position参数,比如第二个显示器在第一个右边,就写:ffplay -window-position 3840 0 -fs video_low.mp4
- 播放高画质视频到第一个显示器:
方案二:用脚本同步启动两个播放进程
因为两个视频时长一致,用脚本同时启动能保证播放同步性,避免手动打开有延迟:
新建一个脚本文件,比如play_dual_videos.sh,内容如下:#!/bin/bash # 后台启动第一个视频的ffplay ffplay -display :0.0 -fs video_high.mp4 & # 后台启动第二个视频的ffplay ffplay -display :0.1 -fs video_low.mp4 & # 等待两个进程结束 wait保存后给脚本加执行权限:
chmod +x play_dual_videos.sh,然后直接运行./play_dual_videos.sh就行。几个要注意的细节
- 确保你的显卡驱动是装好的!Ubuntu上如果用的是NVIDIA或AMD显卡,建议装闭源驱动,不然双4K播放可能会卡顿。
- 如果全屏模式出问题(比如窗口跑到别的显示器),可以去掉
-fs,换成-window-size 3840x2160强制指定窗口大小,再配合-window-position定位。 - 要是追求极致同步,可以给两个ffplay命令加上
-sync ext参数,让它们同步到外部时钟,不过对于同时长的视频,脚本同时启动基本就够用了。
备注:内容来源于stack exchange,提问作者user1884969
相关产品推荐
相关产品推荐

