【问题标题】:LINUX screen command - two video in same screenLINUX屏幕命令-同一屏幕上的两个视频
【发布时间】:2014-02-12 16:18:36
【问题描述】:

我曾经遇到过同样的问题:我需要在同一个屏幕上显示 2 个视频(来自 unix 的命令行)。

我在网上找到了一个教程 (http://t3chadd1ct.wordpress.com/2013/04/19/omxplayer/),它解决了我的问题...使用 "screen command"

[...] 这很容易通过使用屏幕功能解决。这 下面的示例说明了如何创建一个 2×2 矩阵 [...]

screen
> -dmS camera1 sh -c 'omxplayer --win "0 0 960 540" rtsp://ip_address/live; exec bash' screen -dmS camera2 sh -c
> 'omxplayer --win "960 0 1920 540" rtsp://ip_address/live; exec bash'
> screen -dmS camera3 sh -c 'omxplayer --win "0 540 960 1080"
> rtsp://ip_address/live; exec bash' screen -dmS camera4 sh -c
> 'omxplayer --win "960 540 1920 1080" rtsp://ip_address/live; exec
> bash'

我已按照本教程进行操作,但无法正常工作:我的脚本仅执行一个视频(第一个“camera2”):

more tmp01.sh 
#!/bin/sh

#1)this work:
#nohup omxplayer --win "0 0 1440 800" ../Shared/NO_LOGO_1/01.avi &
#nohup omxplayer --win "0 801 1440 900" ../Shared/NO_LOGO_1/02.avi &

#2)doesn't work
screen -dmS camera2 sh -c `omxplayer --win "0 0 200 200" /home/pi/Shared/NO_LOGO
_1/02_a.avi; exec bash`

screen -dmS camera1 sh -c `omxplayer --win "200 200 600 600" /home/pi/Shared/NO_
LOGO_1/01_a.avi; exec bash`

我哪里错了??? 非常感谢!

【问题讨论】:

    标签: unix raspberry-pi gnu-screen


    【解决方案1】:

    您使用了错误的引号。使用 ' 而不是反引号 (`)。按照您使用它的方式,screen 命令在omxplayer 的输出完成之前不会终止(即直到终止。

    screen -dmS camera2 sh -c 'omxplayer --win "0 0 200 200" /home/pi/Shared/NO_LOGO_1/02_a.avi; exec bash'
    

    而不是

    screen -dmS camera2 sh -c `omxplayer --win "0 0 200 200" /home/pi/Shared/NO_LOGO_1/02_a.avi; exec bash`
    

    看到区别了吗?

    【讨论】:

    • 是的!它完美地工作!我失去了几个小时,因为我的覆盆子中没有“屏幕功能”。现在你的命令工作得很好!!!谢谢!
    • 并且可以创建一个像 tmp.sh #!/bin/sh omxplayer --win "0 0 200 200" /home/pi/Shared/NO_LOGO_1/02_a.avi 这样的 .sh,然后像 = screen -dmS camera2 sh tmp.sh screen -dmS camera1 sh -c omxplayer --win "200 200 600 600" /home/pi/Shared/NO_ LOGO_1/01_a.avi; exec bash >>>具有两个屏幕实例的脚本,其中一个使用 sh 脚本
    • 如果您创建这样的脚本,第一个命令 (omxplayer) 将被执行并等待。下一个命令 (screen) 只会在 omxplayer 终止后启动。如果您以相反的方式执行此操作(首先是screen,然后是omxplayer),它将起作用,因为screen 命令总是快速终止;它只是启动一个新的屏幕窗口,并且内部命令以分离的方式运行(因为选项-d)。
    • 顺便说一句,根据你的简历,你还没有接受任何问题的答案。所以我假设你可能不知道这一点:如果一个答案解决了你的问题,你应该接受(使用答案左侧的复选标记)。您可以稍后撤消接受并接受不同的答案,但当然,具有接受答案的问题引起的关注要少得多,因此在接受之前等待是明智的。
    • 非常抱歉!是的,我接受解决方案!它完美地工作! :D 再次感谢您! :D
    猜你喜欢
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多