In iPhone OS 3 hat Apple HTTP Live Streaming eingeführt, die Live-Streaming von Video aus dem Internet ermöglichen sollte. Ich betreibe derzeit eine Webcam, die in meinen Server einspeist, und wird dann von ffmpeg in einen FLV-Stream konvertiert und mit ffserver zurückgestreamt. Kann jemand einen Videostream einrichten, den das iPhone mit ffmpeg und ffserver benutzen kann? Ich sollte in der Lage sein, in fast jedes Format im laufenden Betrieb neu zu kodieren.HTTP Live Streaming, FFMPEG & FFSERVER und iPhone OS 3
Antwort
Sie müssen eine Kopie von ffmpeg mit einer Version> = e109a29d6ddb02b2dd58c6c385ebec27f2d23b58 (git) oder 18793 (svn) erstellen. Stellen Sie sicher, dass Sie beim Erstellen auch das --enable-libx264-Flag angeben. Sobald Sie das und laufen haben, können Sie in etwa Folgendes zu tun:
ffmpeg -i <input video> -acodec libmp3lame -ac 1 -vcodec libx264 -s 320x240 \
-level 30 -f mpegts - | \
segmenter - 10 test test.m3u8 http://example.com/path/to/your/files/
d Bringen Sie eine Eingabedatei oder streamen in ffmpeg und Rohr mit einem H.264-Video mit MP3-Audio in Apples segmenter. Der Segmentierer spuckt segmentierte Videodateien und M3U-Wiedergabelisten aus, die auf die segmentierten Dateien zeigen. Sie würden die segmentierten Dateien und Wiedergabelisten über einen Webserver wie Apache bereitstellen.
Offensichtlich möchten Sie die ffmpeg und segmenter Optionen wesentlich optimieren, um die gewünschten Ergebnisse zu erhalten.
Für diejenigen, die interessiert sind, habe ich einen Open-Source-Segmentierer mit einem Skript gebündelt, mit dem Sie ffmpeg dazu verwenden können, siehe mein segmented streaming on the iphone-Projekt. Es kann Multi-Bitrate-Segmente für die Eingabestreams erstellen und überträgt die Stream-Segmente über scp, ftp und sogar bis zu aws s3 an ein konfigurierbares Ziel.
Was ist falsch an der Verwendung von QuickTime zum Konvertieren von Filmen in das "iPhone" -Format? Sie tun einfach Datei> Exportieren> iPhone Format ... Fehle ich etwas?
mediafilesegmenter -t 10 -f folderName/ nameOfInputFile.m4v
(Anmerkung: der Ordnername/Ordner muss vorhanden sein)
Zeigen Sie dann Ihr iPhone auf eine Website
Nach dem iPhone-Format zu konvertieren, ich habe es mit mediafilesegmenter (gefunden bei Apple Developer Connection, Http Live Streaming Tools) zerhacken mit
<video src='folderName/prog_index.m3u8' height=45 width=70
controls='on'>Your browser does not support the video tag</video>
Dies ist ein ganz altes Thema, aber HLS-Unterstützung, eine scheinbar neue Funktion von FFmpeg könnte jemand nützlich sein.
Ein Beispiel wäre die Verwendung wie folgt:
ffmpeg -i <input_file> -c:v libx264 -preset slow -map 0 -an -flags -global_header -f hls -hls_time <segment_length> <m3u8_file>
Wenn Sie Live-Streaming tun möchte, wäre dies ein weiteres Beispiel:
ffmpeg -i <input_stream> -c:v libx264 -preset ultrafast -map 0 -an -flags -global_header -f hls -hls_time <segment_length> -hls_list_size <playlist_entries> -hls_wrap <wrap> <m3u8_file>
Das -hls_list_size
Argument begrenzt die Anzahl der Dateien in Die Wiedergabeliste und das Argument -hls-wrap
begrenzen die Anzahl der Dateien insgesamt und werden die Dateinamen umbrechen, sobald sie diesen Punkt erreicht haben (zB: test0.ts, test1.ts ... test7.ts, test0.ts, test1.ts ... wenn der Umschlag 8 ist).
Weitere Informationen finden Sie unter the documentation. Bitte beachten Sie, die obigen Beispiele streichen Audio mit der Flagge, wie ich persönlich nie gebraucht habe.
perfekte Antwort ... funktioniert gut –
Sieht gut aus, aber es scheint, dass das Ausgabeformat für HLS falsch ist; Ich bekomme "Missing Plugin", wenn ich die m3u8-Datei mit Safari anschaue? – Jonny
- 1. libx264 schlägt auf HTTP Live Streaming (FFmpeg)
- 2. ffmpeg HTTP Live Streaming alte Segmente entfernen
- 3. Http Live-Streaming für iPad, iPhone und Safari
- 4. MPMoviePlayerController und HTTP Live Streaming
- 5. MPMoviePlayerController und HTTP Live-Streaming
- 6. FFMPEG mp4 von http Live-Streaming m3u8 Datei?
- 7. HTTP-Live-Streaming: Der Linux-Albtraum
- 8. iPhone Live-Video-Streaming Tutorial
- 9. FFmpeg: Live-Streaming mit RSTP C++
- 10. Live-HTTP-Streaming in Android
- 11. Ist Android 2.2 HTTP progressives Streaming = HTTP Live Streaming?
- 12. Software, die Apple http Live-Streaming unterstützt
- 13. Framerate Live Streaming Webm mit Dash und ffmpeg
- 14. Apple-Politik für HTTP Live Streaming-Apps
- 15. HTTP-Live-Streaming-Erkennung auf Handys
- 16. Wie zu ffserver von Android
- 17. Wie minimiert man die Verzögerung in einem Live-Streaming mit ffmpeg
- 18. Konvertieren von Mediendateien für HTTP Live Streaming unter Windows?
- 19. iphone OS 3 Video api
- 20. iPhone Kamera live dämpfen
- 21. Stream OpenGL Framebuffer über HTTP (über FFmpeg)
- 22. Live-Video-Streaming, wie man es auf dem iPhone spielt?
- 23. Facebook-Live-Streaming erstellen
- 24. treadking Live-Streaming mit Python
- 25. Live-Streaming-Lösung
- 26. iPhone/iPad HTTP-Streaming-Bibliothek oder Server
- 27. Rails 3 Streaming Video oder Rails HTTP Streaming
- 28. Varnish (v-4.1.2) HTTP Live Streaming hat Halt
- 29. Wie liest man einen http-Video-Stream mit libavcodec (ffmpeg)
- 30. Live Streaming Video Latenz
Alle Windows-Server-Lösungen? – postalservice14
Wer hat das eigentlich schon mit einem Livestream von einer DV Quelle? Ich habe versucht und bekomme immer Fehler vom Segmentierer ... –
Ich habe festgestellt, dass die FFmpeg-Version SVN-r21627 mit dem Open-Source-Segmentierer http://code.google.com/p/httpsegmenter/ funktioniert. Hat jemand eine Vorstellung davon, was sich seit dieser Version geändert hat? –