2011-12-12 16 views
11

Mi sono appena reso conto che Apple richiedeva HTTP Live Streaming per visualizzare i video nelle app per iPhone. Non ne ero a conoscenza prima ... Ora sto cercando di capire cosa comporta questo, quindi posso decidere se voglio fare il lavoro e rendere i video disponibili in 3G o limitare la riproduzione di video agli utenti che sono connessi al wi-fi .Come implementare il server HTTP Live Streaming su Unix?

Ho letto il numero overview fornito da Apple e ora capisco che il mio server deve segmentare e indicizzare i miei file multimediali. Capisco anche che non devo ospitare il contenuto per poterlo riprodurre in streaming (posso puntare a un video ospitato da qualche altra parte, giusto?).

Quello che non mi è chiaro a questo punto è quello di implementare sul mio server (Ubuntu Hardy) per fare l'attuale segmentazione e l'indicizzazione al volo (ancora una volta, io non ospitare il video che voglio servire).

Ho trovato un link che spiega come installare FFmpeg e X264, ma non so se questa è la soluzione migliore (dal momento che ho un server Ubuntu, non posso usare gli strumenti di Apple Live Streaming, è corretto ?). Inoltre, non capisco a che punto il mio server sa che un video deve essere convertito e avvia il lavoro ...

Qualsiasi feedback che potrebbe aiutarmi a capire esattamente cosa fare sul lato server per essere in grado di trasmettere i video sulla mia app per iPhone in 3G sarebbero molto apprezzati! (Oh, e proprio questo fa alcuna differenza, la mia app back-end è in Rails)

+0

suggerisco FMLE e red5 (su rtmp) risponderò più tardi se nessuno lo ha fatto – malletjo

+0

Grazie per la risposta. Una cosa che volevo chiarire, sono interessata a video che sono stati registrati, non spettacoli dal vivo. – alex

+0

Devi praticamente ospitare il contenuto per poterlo inviare in streaming dal tuo server. Cosa vedi come differenza tra l'hosting e il servizio? La risposta accettata non ha nulla a che fare con la tua domanda, quindi non so perché l'hai accettata. – vipw

risposta

8

Se si desidera per lo streaming di contenuti in diretta dalla webcam: FMLE (flash media Live Encoder)

Se si desidera eseguire lo streaming contenuti statici (film): ffmpeg & xuggle

red5:

È media server potrebbe essere red5 (open-source e gratuito) o FMS o Wowza. Ma ho usato solo red5, non so degli altri. Puoi trovare red5 here.

Il server può essere ovunque ma è necessario aprire alcune porte (1935 per rtmp almeno), 5080 per "pannello di amministrazione", è possibile visualizzare 9999 nell'elenco. (Controlla il documento) Red5 è un media server in java, quindi avrai bisogno di java jdk> = 1.6.

Red5 1.0 RC può essere trovato here. Puoi trovare una versione per windows, osx o linux. Ho usato la versione di tarball. Estrailo ed esegui "red5.sh". Dovresti essere in grado di accedere all'amministratore allo http://localhost:5080/ e dovresti anche vedere un video visualizzato. In caso contrario, qualcosa di sbagliato e non si può andare oltre finché non funziona.

Stream con ffmpeg:

Potete trovare xuggle here e si possono trovare ulteriori informazioni su questo here

ffmpeg -i your_file.flv -re -acodec copy -vcodec copy -f flv rtmp://localhost_or_yourred5serverip/live/livestream 

Tenere presente che, se si desidera per lo streaming sul web solo flv e mp4 può essere riprodotto nel flash player (credo). Una volta in streaming, dovresti poterlo vedere nel "pannello di amministrazione" here. Collegati al tuo server (rtmp: // localhost/live /) e vai alla scheda Visualizza e metti "livestream". Potresti usare mplayer rtmp: // localhost/live/livestream per vedere anche il tuo video.

flusso in un flash player:

È possibile utilizzare Flowplayer (con il plugin rtmp) oppure jwplayer.

+0

ed ecco una domanda successiva: http://stackoverflow.com/questions/8497541/installing-faad-library-for-ffmpeg-through-homebrew-on-mac-os-x-lion in caso tu possa aiutare ancora! Grazie. – alex

+0

Questo potrebbe aiutarti: http://jungels.net/articles/ffmpeg-howto.html – malletjo

0

Il modo più semplice per eseguire lo streaming di HLS è utilizzare qualcosa come Wowza o FMIS (nessuno dei quali è economico). Wowza prenderà input (streaming live o contenuto VOD memorizzato e eseguirà la segmentazione al volo

+0

Wowza ha una prova gratuita, vale la pena provare – onmyway133

12

Esistono diverse tecnologie concorrenti, ma oggi se si desidera che qualsiasi file sia compatibile per lo streaming su dispositivi Apple (iPhone, iPad, ecc.) HLS è anche la strada da percorrere. Tra l'altro è supportato dalla maggior parte dei browser e Android quindi non è un brutto posto per iniziare.Nota tuttavia non è adatto per lo streaming di contenuti live nonostante il nome.

A meno che non si voglia live video, NON hai davvero bisogno di red5 o wowza o fms o qualcosa del genere. HLS è fondamentalmente un insieme di brevi segmenti video (ad esempio 5 minuti ciascuno) codificati con diversi bitrate e una playlist m3u che dai al tuo flash o lettore basato su HTML5 nel browser. È gentile a voi decidere il segme lunghezza o come lo si codifica.

questo è il miglior articolo che ho visto su come raccogliere le risoluzioni, bitrate, dimensioni del segmento, ecc: http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx

Da lì è solo per esempio creare una struttura di directory, ad esempio,

 
/data/video/video_id/original.mp4 
/data/video/video_id/quality1/chunk1.mp4 
/data/video/video_id/quality1/chunk2.mp4 
/data/video/video_id/quality2/chunk1.mp4 
etc.. 

allora avete bisogno di generare una playlist M3U per tutti i pezzi e le qualità e tocca al giocatore stesso per implementare la commutazione tra le qualità e la riproduzione del file successivo (che la maggior parte dei giocatori moderni hanno già fatto).

Consiglio vivamente di effettuare il check-out: https://developer.apple.com/resources/http-streaming/ - Apple fornisce una serie di strumenti gratuiti per preparare i video e le playlist per HTTP Live Streaming.

+0

Grazie Roman, un link eccellente (Adaptive Streaming in the Field - di Jan Ozer) http: //www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx –

Problemi correlati