2016-07-07 17 views
1

Ich habe eine Frage, wie diese Dinge verbunden sind und was sie genau tun.FFmpeg, videootoolbox und avplayer in iOS

FYI, ich habe ein paar Erfahrungen über Video-Player und Codierung und Decodierung.

In meinem Job verarbeite ich udp Streaming vom Server und nimm es mit ffmpeg und decodiert es und zeichne es mit openGL. Und auch mit ffmpeg für den Videoplayer.

Diese Fragen sind ...

1. Nur ffmpeg kann UDP-Streaming-decodiert (codiert mit ffmpeg vom Server) oder nicht?

Ich habe einige nützliche Informationen über videootoolbox gefunden, die Streaming mit Hardwarebeschleunigung in iOS decodieren kann. also könnte ich auch das streamen vom server mit der videooolbox decodieren?

2. Wenn es möglich ist, mit videootool zu dekodieren (ich meine, wenn die Videotoolbox der Ersatz für ffmpeg sein könnte), was ist der Quellcode der Videonummer in ffmpeg? warum ist es da?

In meinem Decoder mache ich AVCodecContext aus dem Streaming und es hat Hwaccel und Hwaccel_context Feld, die beide Null setzen. Ich dachte, dass diese Video-Toolbox eine Art API ist, die ffmpeg helfen kann, hwaccel von iOS zu verwenden. Aber es sieht nicht wahr für jetzt ...

3. Wenn Video-Toolbox Streaming decodieren kann, dekodiert dies auch für H264 in lokalen? oder nur Streaming möglich?

AVPlayer ist ein gutes Tool, um ein Video abzuspielen, aber wenn videootoolbox diesen AVPlayer dann ersetzen könnte, was ist der Vorteil? oder unmöglich?

4. FFmpeg verwendet nur CPU für die Decodierung (Software-Decoder) oder Hwaccel auch?

Wenn ich ein Video mit ffmpeg player, CPU-Auslastung über 100% und bedeutet dies, dass ffmpeg nur Software-Decoder verwendet? oder gibt es eine Möglichkeit, hwaccel zu verwenden?

Bitte verstehen Sie mein schlechtes Englisch und jede Antwort würde geschätzt werden.

Danke.

+1

auf Hardware && ffmpeg, siehe https://trac.ffmpeg.org/wiki/HWAccelIntro –

Antwort

1

1. Nur ffmpeg kann UDP-Streaming dekodieren (mit ffmpeg vom Server codiert) oder nicht?

Ich glaube nicht, seit videotoolbox kann das auch tun.

2. Wenn es möglich ist, mit videootool zu dekodieren (ich meine, wenn die Videotoolbox der Ersatz für ffmpeg sein könnte), was ist der Quellcode der Videonummer in ffmpeg? warum ist es da?

Es gibt eine Lösung, die ffmpeg verwenden könnten die Daten von tcp socket und übertragen sie auf videotoolbox zu lesen.

Diese Lösung vermeidet die hohe CPU-Auslastung, wenn nur ffmpeg mit und vermeidet auch einige Fehler von nur vdeotoolbox wie Verzögerungen unter Verwendung von Daten aus der Fassung zu lesen.

3. Wenn Video-Toolbox Streaming decodieren kann, dekodiert dies auch für H264 in lokalen? oder nur Streaming möglich?

videotoolbox könnte für lokale und Streaming spielen. (korrigieren Sie mich, wenn ich falsch liege)

4. FFmpeg verwendet nur CPU für die Decodierung (Software-Decoder) oder Hwaccel auch?

Ja, ffmpeg nutzt CPU nur die software codec ist während videotoolboxhardware codec ist.

Verwandte Themen