2024. április 25., csütörtök

Gyorskeresés

raspberryPi és az anomália

Írta: |

[ ÚJ BEJEGYZÉS ]

Jelenleg egy raspberry Pi-n futtatható weben keresztül vezérelhető rádión dolgozok és furcsa jelenségbe ütközöm mindig. A problémám, hogy szépen php-ban megvan írva a kód ami elindítja a programot (omxplayer) egy fifo-n keresztül. Ez eddig szép és jó de ha újraindítom a rasPi-t akkor nem indul el az omxplayer csak akkor ha egy másik php file-ba írt indítót is lefuttatom. Onnantól minden működik elég azt a php-t lefuttatnom amelyikkel elindítom az omxplayert és szépen megy hibátlanul. A nagy gond itt, hogy a php a szerver válaszára vár és nem tudom hogy oldjam meg, hogy ne kelljen egy második php file a futtatáshoz vagy valahogy az indító kód is lefusson.

Lejátszó kódja:

<?php
$listen = $_POST["url"];
shell_exec("omxplayer -o local " .$listen. " < /var/www/html/fifo");
?>

indító kódja:

<?php
shell_exec("echo . > /var/www/html/fifo");
?>

Valakinek van valami ötlete ezzel kapcsolatban? :DDD

Hozzászólások

(#1) Skyne


Skyne
csendes tag

ha lejátszó kódjába az omx player indítása elé teszed az echo-t?

valahogy így:

<?php
$listen = $_POST["url"];
shell_exec("echo . > /var/www/html/fifo");
shell_exec("omxplayer -o local " .$listen. " < /var/www/html/fifo");
?>

elvileg nem árt ha többször is lefut.

Másik megoldás hogy egy startup scriptet írsz ami a linux indításakor/loginkor lefuttatja a
echo . > /var/www/html/fifo
parancsot

Star Trek Online: Terran Rebellion (leader), House of K'Reaper (leader)

(#2) balint1337 válasza Skyne (#1) üzenetére


balint1337
újonc

ha felcserélem akkor még annyira se áll velem szóba :s
vagy azon gondolkozok, hogyan oldhatnám meg hogy kb. 2 mp-vel később nyissan meg az indító php-t csak nem tudom mivel oldjam ezt meg.

(#3) Skyne válasza balint1337 (#2) üzenetére


Skyne
csendes tag

navárj, nem teljesen értelek, szóval először lefuttaod a player php-t aztán a launcher php-t és csak így működik?

Tehát amit én írtam példát az elsőben, ahhoz képest pont fordítva? akkor cseréld meg a két exec sort :D

Illetve, a player php-t most is autostartolod, de a launcher-t nem? Ha beteszed azt is a daemon scriptbe a másik után mit történik?

[ Szerkesztve ]

Star Trek Online: Terran Rebellion (leader), House of K'Reaper (leader)

(#4) balint1337 válasza Skyne (#3) üzenetére


balint1337
újonc

először lefuttatom shell_exec("omxplayer -o local " .$listen. " < /var/www/html/fifo"); majd utána egy másik php-ban shell_exec("echo . > /var/www/html/fifo"); a fifo azért kell mert így lehet a lejátszót piszkálgatni a daemon scriptet meg nem vágom :F

(#5) Skyne válasza balint1337 (#4) üzenetére


Skyne
csendes tag

Próbáld meg így egyetlen fájban:

<?php
$listen = $_POST["url"];
shell_exec("omxplayer -o local " .$listen. " < /var/www/html/fifo");
shell_exec("echo . > /var/www/html/fifo");
?>

Update:
közben leesett mi történik (kicsit lassú vagyok most)
elindítod az omxplayer-t de konkrétan nem létezik a file amit a bemenetére irányítasz, ezt a hibát orvosolod az echo . paranccsal.

Erre alternatív megoldás hogy mielőtt elindítod az omx-et létrehozod a filet pl.: touch /var/www/html/fifo

[ Szerkesztve ]

Star Trek Online: Terran Rebellion (leader), House of K'Reaper (leader)

(#6) balint1337 válasza Skyne (#5) üzenetére


balint1337
újonc

a file fixen ott van a helyén mivel nem a tmp-ben van 777 jogosultságai vannak csak valahogy beleakad a fifo-ba és amiatt nem nagyon akar tovább menni.
Ha kiiktatom a fifo-t akkor elsőre elindul csak akkor nem tudom vezérelni:/

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.