Portál AbcLinuxu, 9. května 2024 19:50


Dotaz: VLC - update VLM přes Cron

16.10.2008 04:09 DarkLogic | skóre: 8
VLC - update VLM přes Cron
Přečteno: 777×
Odpovědět | Admin
Pomocí VLC a jeho VLM mám nastaveno streamování z DVB-T do LAN.

Nyní bych ale potřeboval nějaký ten TV pořad taky nahrát. Představa je taková, že bude někde na disku soubor, ve kterém bude uvedeno, co se kdy má nahrát. Skriptem spouštěným z Cronu se bude tento soubor pravidelně kontrolovat, nové požadavky se zpracují do "řeči" VLM a...

..a tady je ten problém. Potřebuji updatovat již spuštěné VLM, tzn. potřebuji běžícímu VLC přidat nové příkazy. Ručně přihlášením přes Telnet do VLC bych to uměl, ale jak tento update zautomatizovat? Tzn. jak do již načteného VLM automaticky přidat např. tyto řádky?:

new record broadcast enabled input rtp://@123.123.123.123:1234 output #std{access=file,mux=ts,dst=/home/user/save.mpg}

new start schedule enabled date 2000/1/1-11:00:00 append control record play new end schedule enabled date 2000/1/1-12:00:00 append control record stop
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Ondřej Kuda avatar 16.10.2008 10:47 Ondřej Kuda | skóre: 27 | blog: obcasny_blog
Rozbalit Rozbalit vše Re: VLC - update VLM přes Cron
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja jsem VLC prikazy posilal skriptem skrze netcat na rc/telnet intf. Funguje to pro bezne prehravaci prikazy a mohlo by i pro VLM.
17.10.2008 11:22 DarkLogic | skóre: 8
Rozbalit Rozbalit vše Re: VLC - update VLM přes Cron
Díky za tip, opravdu to funguje. A pro zájemce je níže funkční ukázka, jak na to. Vsechny prikazy si ulozime do pole (jeden radek prikazu = jedna polozka v poli)

# prvni prikaz je heslo pro pristup do VLC pres Telnet

VLC_COMMANDS=( "admin" )

# definujeme prikazy pro VLM

VLC_COMMANDS=( ${VLC_COMMANDS[*]} "new record broadcast enabled input rtp://@123.123.123.123:1234 output #std{access=file,mux=ts,dst=/home/user/save.mpg}" )

VLC_COMMANDS=( ${VLC_COMMANDS[*]} "new start schedule enabled date 2000/1/1-11:00:00 append control record play" )

VLC_COMMANDS=( ${VLC_COMMANDS[*]} "new end schedule enabled date 2000/1/1-12:00:00 append control record stop" )

# na zaver seznamu vsech prikazu pro VLC bude prikaz pro samotne ukonceni spojeni

VLC_COMMANDS=( ${VLC_COMMANDS[*]} "quit"} )

# pripojime se pres telnet do VLC a predame vsechny vyse ziskane prikazy

# VLC nasloucha telnetem na localhostu a to na portu 4212

echo "${VLC_COMMANDS[*]}" | netcat localhost 4212 > /dev/null

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.