streaming flv usando ffserver


3

Sto eseguendo Debian per il mio server di casa, che è una macchina che vive sotto la televisione in salotto e memorizza le foto, i video, la musica della famiglia, ecc. Sto usando tutti i soliti servizi per servire questi fino a chiunque se li merita e tutto funziona. Fin qui tutto bene.

Non riesco a convincere i miei figli a usare cose come ftp o persino e-mail, per loro "Internetz" significa un browser web. Firefox di solito. Quindi sto usando apache2 per servire pagine cgi generate dal codice compilato da me scritto in C. E che tutto funziona.

Quindi voglio essere in grado di trasmettere la musica, i film, le registrazioni televisive, ecc. Ai browser Web e, nonostante l'emergere del tag media in HTML5, Flash è ancora l'unica soluzione pratica che funziona davvero.

Sono stato in grado di ottenere un programma cgi per convertire mp3, avi e simili per eseguire il flashing come file flv usando ffmpeg, su richiesta dell'utente, memorizzato in un file temporaneo sotto DOCUMENT_ROOT e il browser li riprodurrà, e funziona. per esempio:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -sameq -ab 32k -ar 22050 -ac 2 -s 320x240 -f flv -y ../tmp/file9ltYxj.flv

Va bene, quindi non c'è conto per il gusto - guarda che sono heavy metal ma questo video è un lavoro geniale! :-) Ma non è l'ideale, per prima cosa occupa spazio creando tutti questi file tmp e per un'altra chiamata ffmpeg per eseguire la conversione, il caricamento della pagina si blocca mentre completa l'attività. Il che va bene per un video musicale di cinque minuti, ma dubito che Firefox aspetterà un film di due ore per convertire usando questo metodo.

Quindi voglio trasmetterli in streaming invece usando ffstream. Sto eseguendo questa riga (come root):

ffserver -d -f /etc/ffserver.conf &

e il cgi esegue questo:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -sameq -ab 32k -ar 22050 -ac 2 -s 320x240 -f flv -y http://localhost:8090/feed1.flv

ed è qui che mi trovo nei guai. La pagina si carica, il flash si incorpora ma non mostra nulla. rapporti ffserver:

Mon Apr 15 09:29:38 2013 New connection: GET /feed1.flv
Mon Apr 15 09:29:38 2013 192.168.0.33 - - [GET] "/feed1.flv HTTP/1.1" 404 149

Ricevo 404, ma prima ne ottenevo 200 prima, non sono sicuro del perché sia ​​cambiato. Ma se 404 o 200, la pagina è la stessa; Caricato, ma nessun flusso video.

Potrei davvero fare con qualcuno per farmi ulteriori domande (non sono sicuro di cosa aggiungere) e speriamo di farmi funzionare con questo, perché non mi sono rimasti molti capelli e mia moglie vuole che dipinga la sala da pranzo.

Qualcuno può avvisare per favore dove potrei andare storto?


Ciao Lee. Sfortunatamente, qualsiasi cosa in un'impostazione domestica è fuori tema per ServerFault ma sarebbe più adatta a SuperUser. È possibile modificare i riferimenti a "home", ripetere la domanda su SuperUser o attendere la migrazione.
tombull89,

Oh scusa. Sono nuovo e non sapevo che ci fosse una differenza. Quando mi è stato insegnato il networking, un server è tutto ciò che serve un client. La mia macchina, secondo quella definizione, rientra in quella categoria. Ma non ho intenzione di discutere - migrami per favore :-)

Risposte:


2

Nel tuo caso FFmpeg deve fornire il file di output come file di flusso, poiché altrimenti il ​​tuo file non è ancora pronto per lo streaming. Questo di solito viene fatto utilizzando il formato FFM:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -ab 32k -ar 22050 -ac 2 -s 320x240 -y http://localhost:8090/feed1.ffm

Quindi nel tuo file server.conf puoi eseguire lo streaming del feed FFM su un FLV:

<Feed feed1.ffm>
    File /feed1.ffm
</Feed>

<Stream feed1.flv>
    Feed feed1.ffm
    ...
</Stream>


Grazie per aver prestato attenzione, maledizione, non l'ho menzionato poiché non era importante per la risposta alla domanda, ma l'ho modificato.
Nick van Tilborg,

Ora che l'hai corretto, +1!
evilsoup,

Grazie, malvagio. A mia difesa, avevo letto da qualche parte che ciò significava "stessa qualità" e non avevo motivo di presumere diversamente. Ho letto il link e capito. Non lo userò più.
Lee,

Nick van Tilborg - grazie anche a me, penso che abbia fatto dei progressi. Adesso sto diventando 200, il che è ovviamente migliore. Sfortunatamente, non vedo ancora nulla sulla pagina. Solo il flash player (OSplayer) "Caricamento" e punti rotanti. Hai idea di dove dovrei guardare dopo?
Lee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.