我試圖通過瀏覽器打開VLC,使其即時播放Mac OS X上的指定視頻文件如何通過瀏覽器打開VLC與PHP鍵(Mac OS X)
這將運行我的本地服務器上並且只是爲了本地運行 - 因此我已經用我的用戶名和組「staff」(在httpd.conf中定義)運行apache(MAMP)。
是 - 我不知道,VLC擁有HTTP接口 - 但是這不是我所需要的,所以不建議......
我現在的系統工作沒有任何問題,當我通過終端運行:
php /var/www/Movies/index.php
- >這導致VLC開放和視頻開始全屏播放喜歡intented。
當我用瀏覽器運行相同的PHP頁面時,問題就開始了。然後,VLC進程開始,但沒有GUI,視頻文件不會開始播放,VLC進程佔用CPU的幾乎100%。
- Both;終端和瀏覽器開始VLC-過程使用相同的用戶運行(礦)
- 兩者都有「父進程」的bash
- 與終端開始VLC-過程具有空「流程組」(僅進程id值)和瀏覽器開始具有「httpd」+(id-number)
- 通過瀏覽器啓動的VLC進程比終端啓動的對應程序多出1000倍的「Mach系統調用」。
任何人都可以給我任何指示如何讓這個東西工作?
的index.php
# $j is a file path to the videofile and is defined before
exec('/var/www/Movies/vlc.sh "' . $j . '" > /dev/null 2>&1 & echo $!;');
# If I do this in the given PHP-page it tells me that apache is running
# with my username and with the group "staff" like it should be...
exec('whoamI');
vlc.sh
#!/bin/bash
# Activate VLC in 5 seconds to make it the front-most window
(sleep 5; open -a VLC) &
# Open video file
/Applications/VLC.app/Contents/MacOS/VLC --quiet --fullscreen "$1"
我會給一個答案,但我不能產生一個端到端的東西,所以我不知道它會工作。看看'man screencapture'的結尾。我懷疑這是同一個問題(Apache不是登錄窗口的孩子,所以它不能打開它的東西)。 'ps aux | grep「loginwindow」| grep -v grep | awk'{print $ 2}''可能有用。 – Quentin 2010-04-01 13:25:58