Ich wollte also eine Echtzeit-Live-Streaming-Anwendung erstellen. Im Wesentlichen würde die Anwendung den Mikrofon-Feed von einer Xcode-Anwendung an eine Website senden, wo sie in Echtzeit betrachtet werden kann. Ist FFMPEG die beste Lösung dafür? Wie würde ich das machen? Wenn das zu weit gefasst ist, wie verwende ich dann das FFMPEG-Framework in einer OS X objective-c-Anwendung?Verwenden von FFMPEG in einer OS X-Anwendung
Antwort
direkt an Ihre Fragen zu beantworten:
(1) Ist FFmpeg die beste Lösung für dieses?
Kommt drauf an. Wenn Sie eine Live-Streaming-Umgebung einrichten, werden Sie wahrscheinlich über FFMPEG, VLC und gstreamer stolpern. Dies sind die Optionen, mit denen Sie einfach Video/Audio streamen können. Daher kann ja FFMPEG als Teil der Lösung verwendet werden. Bitte sehen Sie sich die folgende Frage an: DIY Video Streaming Server
(2) Wie würde ich dabei vorgehen?
Ihre Anforderung besteht darin, eine Live-Streaming-Anwendung zu erstellen, die den Mikrofoneingang ins Internet sendet. Dazu gehören die folgenden Schritte:
(0) Ihre Xcode-Anwendung muss eine Methode zum Starten dieses Prozesses bereitstellen. Sie müssen nicht unbedingt ein Framework integrieren, um dies zu erreichen.
(1) Streaming/Restreaming
Verwenden FFMPEG oder VLC dem Gerät greifen und sie lokal stream:
ffmpeg -i audioDevice -acodec libfaac -ar 44100 -ab 48k -f rtp rtp://host:port
(2) Segmentieren für HTTP-Live-Streaming *
Verwenden a Segmentierer wie zum Beispiel: mediastreamsegmenter (Apple), livehttp (VLC) oder segment (FFMPEG), um Ihren Stream für die Webzustellung vorzubereiten:
vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{acodec=libfaac,ab=48}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}'
* Sie könnten auch einfach VLC verwenden, um Ihr Audiogerät mit qtsound (siehe question) und bereiten Sie es für das Streaming mit Livehttp.
(3) HTML 5 Lieferung
Veröffentlichen Sie Ihren Strom
<audio>
<source src="YOUR_PATH/playlist.m3u8" />
</audio>
(3) Wenn das zu breit ist, dann, wie verwende ich das FFMPEG Rahmen in einem OS X Objective-c-Anwendung ?
entweder eine externe Wrapper Framework verwenden FFMPEG Funktionalität für den Zugriff auf und die Tutorials wenden Sie sich an diesen Rahmen zu arbeiten, oder Sie können auch diesen Ansatz durch NSTask
mit Ihrem Befehlszeilenargumente in Objective-C wickeln und einfach diese Aufgaben ab Ihre Anwendung - wie in dieser question.
Eine andere Möglichkeit wäre, VLCKit zu verwenden, die VLC-Funktionalität in einem Framework für Objective-C (VLCKit wiki) bietet.Wenn ich mich jedoch mit Streaming-Herausforderungen beschäftige, arbeite ich lieber mit den eigentlichen Befehlen, anstatt eine andere Ebene des Frameworks dazwischen zu schieben, der einige Optionen fehlen könnte.
Ich hoffe, dies weist Sie in die richtigen Richtungen. Es gibt mehrere Möglichkeiten, dies zu lösen. Es ist eine breite Frage, daher dieser breite Ansatz, um Ihre Frage zu beantworten.
- 1. Android ffmpeg Bibliothek verwenden
- 2. Verwenden von FFMPEG und url_fopen Beispiel
- 3. FFMPEG-Bibliothek in PPAPI verwenden: Naclports mit FFmpeg
- 4. Verstehen und Verwenden von ffmpeg Einstellungen
- 5. Wie man ffmpeg für Matplotlib in Mac OS x
- 6. Verwenden von ffmpeg für Stream-Verschlüsselung von srtp in Windows
- 7. ffmpeg - Verwenden Sie Filter in Android
- 8. HTTP Live Streaming, FFMPEG & FFSERVER und iPhone OS 3
- 9. Wie installiert man ffmpeg-php Mac OS X Leopard
- 10. Ausführen von ffmpeg aus Python
- 11. ffmpeg 2.8.x Kreuzkompilierung Fehler auf Mac OS X 10.10
- 12. Numerierung von Miniaturansichten in ffmpeg
- 13. Verwenden von virtualenv auf Mac OS X
- 14. Was macht "Kopieren" in einer ffmpeg-Befehlszeile?
- 15. Kann ich einfach die Bibliotheken von FFmpeg in einer Android App verwenden?
- 16. Verwenden von Netzwerkdiensten bei getrennter Verbindung in Mac OS X
- 17. Verwenden von symbolischen Links in OS X-Anwendung Bundles
- 18. FFmpeg Screencast Aufzeichnung: Welche Codecs zu verwenden?
- 19. Fehler beim Hinzufügen von Posterbild zu einer Audiodatei in ffmpeg
- 20. Verwenden von FFMPEG: Wie wird eine Szenenänderungserkennung durchgeführt? mit Timecode?
- 21. Verwenden von ffmpeg mit Flash Media Server und HDS
- 22. FFMpeg jni in Android?
- 23. Build ffmpeg in ijkplayer
- 24. Wie ffmpeg von der Kommandozeile in Android
- 25. Verwenden von Daten in einem Mac OS Shell-Skript
- 26. Audio-Mapping in ffmpeg
- 27. Verwenden eines OS-Pfads in Tkinter PhotoImage
- 28. Fehler FFMPEG mit Videos aus einer Liste von Bildern erstellen
- 29. Erstellen einer Pipe zwischen C# und Ffmpeg
- 30. Kompilieren von ffmpeg und Verwendung von Gas-Preprocessor auf Tiger?
Führen Sie eine Suche mit '[objective-c] ffmpeg.' –
Hallo El Tomate! Danke für die Antwort! Ich habe mir den Wrapper hier angesehen: https://github.com/OpenWatch/FFmpegWrapper, aber ich bin mir nicht sicher, wie man ihn mit Xcode ... – Sokco
verwendet und wie würde ich Live-Audio mit diesem FFmpeg-Wrapper streamen? Es scheint nicht so, als könnte ich normale FFmpeg-Befehle verwenden – Sokco