2011-02-01 11 views
8

Czy istnieje sposób na odtworzenie wideo ze strumienia bajtów w systemie Android? Używam określonego oprogramowania pośredniczącego do komunikacji, więc nie mogę po prostu przekazać łącza http/rtsp do obiektu MediaPlayer.Odtwarzanie wideo w systemie Android ze strumienia bajtów

Zastanawiam się, czy mogę zawinąć strumień za pomocą lokalnego linku http/rtsp, aby odtwarzać strumień zamiast czekać, aż plik zostanie pobrany, aby go odtworzyć.

Moje oprogramowanie pośrednie działa na TCP, więc pomyślałem także, że mogę opakować datagramy rtsp z datagramem tcp i zinterpretować je na kliencie w jakiś sposób, po usunięciu nagłówków TCP.

Jestem naprawdę zaskoczony, że nie mogę po prostu przekazać strumienia bajtów do MediaPlayer. Z góry dzięki.

+0

To jest interesujący temat ... Najlepszym sposobem, jaki mogę wymyślić jest stworzenie plików tymczasowych w katalogu aplikacji, jako sposobu na implementację pewnego rodzaju bufora. – mdelolmo

+4

Nie możesz po prostu przekazać niektórych bajtów do dekodera i sprawić, żeby dekodował obraz ... chyba że jest to strumień MPEG4 ... niż możesz sprawić, żeby coś działało. Czy możesz mi powiedzieć, jaki to strumień wideo? Jeśli jest to h264, jaki jest poziom profilu? Czy masz to SDP? – Cipi

+0

Próbowałem tego z plikami 3gp nagranymi za pomocą telefonu. Najpierw próbowałem skopiować bufor do pliku, gdy uzyskałem minimum (około 2000 KB), a następnie utworzyłem MediaPlayer z tym, ale prepare() ulega awarii podczas wykonywania tej czynności. Nie wiem, jak utworzyć sesję SPD. Prawda jest taka, że ​​nie wiem zbyt wiele na temat dekodowania. Zostaną docenione linki do tutoriali. Dziękujemy za odpowiedź – Pedriyoo

Odpowiedz

1

Niestandardowe przesyłanie strumieniowe w systemie Android nie jest tak łatwe, jak myślałem. Udało mi się to zrobić, ale tylko z bardzo konkretnymi filmami. Filmy MPEG4, które są słabo przeplatane, wydają się być przesyłane strumieniowo. Farest stałam strumieniowego ten film:

http://www.pocketjourney.com/downloads/pj/video/famous.3gp

Jak Cipi odpowiedział mi, większość formatów może nie tylko być pakowane w buforze bajtów i przekazać go do MediaPlayer. Potrzebują niektórych nagłówków, ogonów itp. Nie jestem pewien, który format jest zawarty we wspomnianym pliku, ale myślę, że to MPEG4.

+10

Czy możesz pokazać kod? Próbuję też zrobić to samo. –

+0

@Pedriyoo czy możesz podzielić się tym, jak to zrobiłeś? – AFgone

+0

16 kbps nie może być odtwarzane przez klasę płatnika mediów w systemie Android –