Frage

Nach der Release Notes ersetzt stagefright die Opencore Framework in der Lebkuchen-Release. Es scheint, dass es zahlreiche Diskussionen gegeben, die sagt: Apple HTTP Live Streaming standardmäßig seit Android 2.3 unterstützt wird. Auch der Wikipedia erwähnt dies.
Allerdings, wenn ich versuche, den Teststrom zu laufen von Apple bereitgestellten mit der MediaPlayerDemo_Video.java gebündelt mit API Demos ich die Ausnahmen:

setDataSource('http://devimages.apple.com/iphone/samples/bipbop/gear1/
prog_index.m3u8')
connect to devimages.apple.com:80/iphone/samples/bipbop/gear1/
prog_index.m3u8 @0
INFO/NuCachedSource2(34): ERROR_END_OF_STREAM
error (1, -2147483648)
ERROR/MediaPlayerDemo(667): error: Prepare failed.: status=0x1
java.io.IOException: Prepare failed.: status=0x1
at android.media.MediaPlayer.prepare(Native Method)
at
com.video.stream.MediaPlayerDemo_Video.playVideo(MediaPlayerDemo_Video.java:
125)
at
com.video.stream.MediaPlayerDemo_Video.surfaceCreated(MediaPlayerDemo_Video.java:
181)
  ...
    surfaceChanged called
    Displayed com.video.stream/.MediaPlayerDemo_Video: +1s652ms (total
    +7s427ms)
    GC_EXPLICIT freed 2K, 55% free 2514K/5511K, external 716K/1038K,
    paused 183ms
    GC_EXPLICIT freed 17K, 52% free 2782K/5767K, external 716K/1038K,
    paused 87ms
    GC_EXPLICIT freed 68K, 50% free 2972K/5895K, external 2544K/3109K,
    paused 104ms
    request time failed: java.net.SocketException: Address family not
    supported by protocol 

--- entsprechender Code (MediaPlayerDemo_Video.java):

path = "http://devimages.apple.com/iphone/samples/bipbop/gear1/
prog_index.m3u8";
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

Fragen:
1. Steht Lebkuchen Build wirklich unterstützen Apple HTTP Live Streaming Protokoll?
2. Was oben schief gelaufen ist?

Bitte Hilfe.

War es hilfreich?

Lösung

In Ordnung, ich habe einige Daten gefunden und ich werde diesen Thread aktualisieren, indem Sie meine eigene Frage zu beantworten. Wenn jemand Anregungen oder andere Überlegungen zu bringen Tabelle hat bitte hinzuzufügen.

  1. Stagefrightframework, die mit Honeycomb Build unterstützt HTTP Live Streaming kommt. Die Dokumentation liest die meisten Teile des Entwurfs-Spezifikation , ohne die Teile ausdrücklich zu erwähnen.

  2. Die Video- und Audio sollte von Android unterstützt Medienformaten entsprechen .

  3. Ich konnte mit Inhaltsschutz-Streams verwendet wird AES-128 Verschlüsselung spielen. Obwohl die Leistung des Emulators (leider, ich habe das Gerät nicht haben) war nicht gut. Audio und Video war schrecklich out of sync. HABEN Streaming-Anwendungen auf realen Geräten getestet werden.

  4. Sie können Ihre Daten über https nicht streamen. Auch, um zu erkennen , dass der Strom Konform HTTPLive Standard Sie müssen "http://" Teil der URL mit "httplive://"

  5. ersetzen

Andere Tipps

Lebkuchen unterstützen jedoch einige HLS spielen Ströme mit dem httplive. // Schema Präfix aber die unterstützten Codecs ist sehr begrenzt, und es ist sehr einfach, einen absolut gültigen Strom zu konstruieren, die die Medien Rahmen abstürzt und nicht spielen

haben meine Erfahrungen gezeigt, dass dieser Absturz tritt normalerweise beim Laden oder Dekodieren des ersten Segments, auch für verschlüsselte Inhalte, sondern dass der Schlüssel nicht darauf hindeutet, angefordert bekommt, dass der Rahmen der Schlüssel Linien ignoriert.

Natürlich, für diejenigen, die brauchen nur die sehr neuesten Geräte auf dem Markt zu unterstützen, wird die Unterstützung für HLS in ICS angemessen (wenn auch noch unvollkommene) aber diejenigen von uns, die eine Art von Rückwärtskompatibilität müssen bleiben dezidiert aus in die Kälte, und es scheint die einzige Option für Streaming (im Gegensatz zu dem progressiven Download Gegensatz) ist RTSP, die sich schlecht in Android implimented werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top