Wie implementieren HTTP-Live-Streaming-server auf Unix?
Merkte ich, dass Apple die erforderlichen HTTP-Live-Streaming, um videos in iPhone-apps. Ich war mir nicht bewusst, bevor... ich versuche jetzt zu verstehen, was diese betrifft, so kann ich entscheiden, ob ich möchte, um die Arbeit zu tun und stellen Sie die videos in 3G-oder limit-video-Wiedergabe für Benutzer, die wi-fi-Verbindung.
Lese ich die übersicht von Apple bereitgestellt wird, und verstehe nun, dass mein server benötigt, um die segment-und index-meine Medien-Dateien. Ich verstehe auch, dass ich nicht haben, den Inhalt zu hosten, um in der Lage sein zu streamen (ich kann auf ein video gehostet woanders, richtig?).
Was mir nicht klar ist an dieser Stelle, was zu implementieren, die auf meinem server (Ubuntu Hardy), um die tatsächliche Segmentierung und der Indizierung on-the-fly (wieder einmal, dass ich nicht als host für die videos, die ich will, um zu dienen).
Fand ich eine link erklären, wie zu installieren FFmpeg und X264, aber ich weiß nicht, ob dies die beste Lösung ist (da habe ich einen Ubuntu-server, ich kann nicht mit der Apple-Live-Streaming-tools, ist es richtig?). Auch verstehe ich nicht, an welcher Stelle mein server weiß, dass ein video konvertiert werden muss, und startet den job...
Jede Rückmeldung, die mir helfen könnte zu verstehen, was genau zu tun ist, auf der server-Seite werden in der Lage, zum streamen von videos auf mein iPhone 3G würde sehr geschätzt werden! (Oh, und nur, es macht keinen Unterschied, meine app-back-end ist in Rails)
InformationsquelleAutor der Frage alex | 2011-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, um live-streamen Sie Inhalte von Ihrem webcam : FMLE ( flash media live encoder )
Wenn Sie möchten, streamen von statischen Inhalten (Film) : ffmpeg & xuggle
red5:
Sie media-server red5 ( open-source und kostenlos) oder FMS oder wowza. Aber ich habe nur red5, ich weiß nicht über die anderen. Finden Sie red5 hier.
Du server können überall sein, aber Sie müssen einige port (1935 für rtmp zumindest ) , 5080 für "admin-panel", man konnte sehen, 9999 in der Liste. ( Überprüfen Sie den doc ) Red5 ist ein media-server in java, so müssen Sie die java jdk >= 1.6.
Red5 1.0 RC gefunden werden kann hier. Finden Sie eine version für windows, osx oder linux. Ich benutzte die tarball-version. Entpacken Sie es und führen Sie "red5.sh". Sie sollten in der Lage sein, um Zugriff auf die admin-bei http://localhost:5080/ und Sie sollten auch sehen, ein video wird angezeigt. Wenn nicht, etwas falsch ist und Sie nicht weiter gehen kann, bis das funktioniert.
Stream mit ffmpeg:
Finden Sie xuggle hier und Sie finden weitere Informationen zu diesem hier
Im Hinterkopf behalten, wenn Sie wollen, zu streamen, auf das web nur flv und mp4 spielen können in flash player ( glaube ich ). Sobald es strömt Sie sollten in der Lage sein, um es zu sehen in der "admin panel" hier. Die Verbindung zu Ihrem server (rtmp://localhost/live/) und gehen Sie auf die Registerkarte "Ansicht" und "livestream". Man könnte mplayer benutzen rtmp://localhost/live/livestream, um zu sehen, Ihr video zu.
stream in einem flash-player:
Können Sie flowplayer (mit dem rtmp-plugin) oder jwplayer.
InformationsquelleAutor der Antwort malletjo
Gibt es mehrere konkurrierende Technologien, aber heute, wenn Sie wollen allen Dateien kompatibel, die für das streaming auf Apple-Geräten (iPhones, iPads, etc) dann HLS ist der Weg zu gehen. Übrigens ist es auch von den meisten Browsern unterstützt und Android nicht so ein schlechter Ort, um zu starten. Hinweis: es ist jedoch nicht geeignet für das streaming von live-Inhalten, trotz des namens.
Es sei denn, Sie wollen live-Videos, die Sie wirklich NICHT brauchen, red5 oder wowza oder fms oder etwas ähnliches. HLS ist im Grunde eine Reihe von kurzen video-Segmente (z.B. 5 Minuten) codiert bei unterschiedlichen bit-raten und eine m3u-Wiedergabeliste, die Sie geben, um Ihren flash-oder HTML5-basierten player in den browser. Es ist eine Art, die bis zu Ihnen zu entscheiden, die Segmentlänge oder wie Sie Sie verschlüsseln.
Dies ist der beste Artikel, den ich gesehen habe, über wie man Auflösungen, Bitraten, segment-Größen etc: http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx
Von dort werden Sie nur zum Beispiel erstellen Sie eine Verzeichnis-Struktur, z.B.
Dann müssen Sie generieren eine m3u-Wiedergabeliste für all die Brocken und Qualitäten und sind es die Spieler selbst umsetzen die Umschaltung zwischen Qualitäten und spielt die nächste Datei (die meisten modernen Spieler, die bereits haben).
Ich auch sehr empfehlen, Check-out: https://developer.apple.com/resources/http-streaming/ - Apple bieten eine Reihe von kostenlosen tools zur Vorbereitung der videos und playlists für HTTP-Live-Streaming.
InformationsquelleAutor der Antwort Roman Gaufman
Der einfachste Weg, um Strom HLS ist mit so etwas wie Wowza oder FMIS (welche nicht Billig sind). Wowza nehmen-Eingang (entweder live streamen oder gespeicherte VOD-Inhalt zu tun und die Segmentierung des on-the-fly.
InformationsquelleAutor der Antwort Ian Beyer