2016-01-16 3 views
6

wie würden Sie einen Stream von icecast2 spielen, die keine Dateierweiterung hatios9/swift2/xcode7 + AVplayer icecast nicht verarbeitet, ohne Erweiterungsdatei Streaming

Beispiel Strom url: http://icecast:8044/channel-123?a=hash

Format: mp4a

der Code scheint auf Dateien mit einer Erweiterung zu arbeiten, aber nicht auf Dateien ohne.

var player = AVPlayer(); 
    let playerItem = AVPlayerItem(URL:NSURL(string:"http://host/file.mp4a")!); 
    player = AVPlayer(playerItem:playerItem) 
    let playerController = AVPlayerViewController() 
    playerController.view.frame = self.view.frame 
    playerController.player = player 
    self.addChildViewController(playerController) 
    self.view.addSubview(playerController.view) 
    player.play() 

EDIT: im Grunde, wenn die Stream-Adresse ohne die Dateierweiterung endet (die Datei auf Server ohne Dateierweiterung wie .mp3 gespeichert ist, .mp4, ..) die AVPlayer wird nichts spielen (http://example.com/file). .. aber wenn der Dateiname die Dateierweiterung enthält funktioniert es richtig (http://example.com/file.mp3)

+0

Hi @MazelTov, suchen Sie noch immer nach einer Antwort auf diese AVPlayer-icecast-Ausgabe? – ncke

+0

Ja, haben Sie eine funktionierende Lösung, ohne die Serverseite zu berühren? –

+0

Ziemlich sicher, dass ich das tue. Arbeite gerade an einem POC, dann schreibe ich es auf. – ncke

Antwort

0

Es scheint, dass Sie Live-Streaming und das Laden von Mediendateien vom Server verwirren.

Wenn wir sprechen über Live-Streaming:

1) Dateierweiterung hat keine Auswirkungen auf AVPlayer Fähigkeit Strom zu spielen (AVPlayer spielt Audio von diesem Link, zum Beispiel: http://icecast.omroep.nl/radio1-bb-aac).

2) Dennoch Dateiformat Angelegenheit ist (für weitere Informationen Check docs here):

Was sind die Besonderheiten der Video- und Audioformate werden unterstützt?

Obwohl die Protokollspezifikation, die Video- und Audioformate nicht schränkt unterstützt der aktuelle Apple Implementierung die folgenden Formate:

Video: H.264 Baseline-Ebene 3.0, Basisniveau 3.1, Main Level 3.1 und Hohe Profilstufe 4.1. Audio: HE-AAC oder AAC-LC bis 48 kHz, Stereo-Audio MP3 (MPEG-1 Audio Layer 3) 8 kHz bis 48 kHz, Stereo Audio AC-3 (für Apple TV, im Pass-Through-Modus) nur)

Wenn Sie Ihren eigenen Server und wollen Fähigkeit, Audio/Video-Streaming zur Verfügung zu stellen, müssen Sie einige Setup-Aktionen wie beschrieben here auszuführen.