Scrivendo .TS file 'on demand' (inotify? ...)
Domanda
Ho un mediaplayer che può leggere solo samba file condivisi. Mi piacerebbe giocare flusso http (dal mio Dreambox per esempio).
La mia idea è quella di condividere una cartella sul mio linux. In tale quota, io metterò un (finto?) File per ogni canale televisivo voglio essere in grado di guardare ( es: channel1.ts, channel2.ts ... ).
Il mediaplayer può solo leggere questi file come si dovrebbe con file regolari. Il mio bisogno: fare qualcosa che "ascoltare" per l'accesso a questi file in modo che quando il mio accesso mediaplayer esso, spara un mencoder -oac copiare -ovc copy -o channel1.ts http:. //path.to.the.broadcast.ts
Ho provato ad utilizzare inotify su un file vuoto. Spara il pozzo mencoder MA MediaPlayer ferma prima codifica inizio (perché il file è vuoto e raggiunge la fine prima che cominci). Forse, dovrà compilare 5s di video in modo da tamponare la lettura?
Potrebbe essere piacevole da usare una "FIFO" => ho provato, le attese MediaPlayer, quando faccio il mencoder, FIFO inizia a crescere, il mediaplayer gioca esso! Yeahh !!! ... MA inotify sembra non reagire su una FIFO ... quindi non posso licenziare mencoder automaticamente.
Ogni suggerimenti benvenuti.
punti di base:
- Il lettore multimediale può legge solo i file regolari
- del file deve essere in una cartella condivisa di samba
- Record deve essere "licenziato" on demand (quando mediaplater tenta di accedervi)
- Potrebbe essere bello da guardare per "inattività", al fine di arrestare la registrazione / svuotamento del buffer di file
Non è facile per formalizzare questa domanda. Sono un po 'deluso e mi even't Non so che tipo di ricerca che potrei googelise per questo.
Spero alcuni guru qui troverà qualcosa per fare il trucco
Saluti.
Soluzione
Si potrebbe desiderare di guardare le tecniche di Hierarchical Storage Management e on-access scanner antivirus utilizzare, in quanto hanno bisogno di fare un'interruzione simile prima che il normale accesso.
es. Utilizzare Talpa di intercettare le operazioni di apertura nella directory selezionata, e sostituire il file in quel punto.