2014-02-12 63 views
1

我有同樣的問題:我需要在同一屏幕(從UNIX命令行)中顯示2個視頻。使用「屏幕命令」LINUX屏幕命令 - 同一屏幕中的兩個視頻

網上我找到一個教程(http://t3chadd1ct.wordpress.com/2013/04/19/omxplayer/),是解決我的問題......在

[...]這很容易被利用的解決屏幕功能。下面的 例子說明如何創建一個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` 

我在哪裏錯了? 非常感謝!

回答

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` 

看到區別?

+0

是的!它的功能非常好!我因爲我的樹莓裏沒有「屏幕功能」而丟失了幾個小時,現在你的命令工作得很好!!!謝謝! – UserRaspberry

+0

並且可以創建一個.sh,如 tmp。 sh '#!/ bin/sh omxplayer --win「0 0 200 200」/ home/pi/Shared/NO_LOGO_1/02_a.avi' 以及某些事情如= 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腳本 – UserRaspberry

+0

如果您創建了這樣的腳本,第一個命令('omxplayer')將被執行_並等待。下一個命令('screen')只會在'omxplayer'終止後啓動。如果你用另一種方式(第一個「屏幕」,然後是「omxplayer」),它會工作,因爲'screen'命令總是快速終止;它只是啓動一個新的屏幕窗口,並且內部命令以分離的方式運行(由於選項「-d」)。 – Alfe