2013-08-01 19 views
5

MediaExtractor sınıfında setDataSource() denedim ancak RTSP yolu ile çalışmıyor. MediaPlayer sınıfı ile aynı yolu kullanabilirim ve işe yarıyor ama bunun yerine MediaCodec sınıfını kullanmam benim için çok önemli. Android'in kullanabileceğim herhangi bir RTSP API'sine sahip olmadığını veya Android için herhangi bir RTSP kütüphanesi bulamadığımı düşünüyorum.RTSP sunucusundaki verilerin kodunu çözmek için MediaCodec nasıl kullanılır?

RTSP sunucusundan MediaCodec sınıfına video akışı beslemenin nispeten kolay bir yolu var mı?

cevap

4

Kolay bir yol yok. Bu projeyi kullanarak sona erdi: RTSP protokol için

https://code.google.com/p/android-rtsp-client/

(bazı düzeltmeler ve değişiklikler sonrasında çalıştı).

RTP ve RTCP protokollerini kendim uyguladım (bazı basitleştirilmiş sürümler benim durumumda yeterliydi).

Ayrıca RTP paketlerinden NAL birimleri ayıklamak için bir kod oluşturmanız gerekiyordu. Ben bu ilk okumak zorunda:

http://www.ietf.org/rfc/rfc3984.txt

bunu nasıl anlamaya.

+0

Yukarıdaki Android projesinden RTSP akışını tam olarak nasıl aldığınız konusunda bir fikir verebilir ve onu bir MediaCodec kod çözücüsüne gönderir misiniz? Burada elemanımın biraz dışındayım ve bu, işverenim için geliştirmem gereken uygulamanın bir parçası. Herhangi bir yardım harika olurdu! – rayryeng

+0

Fwiw, RFC 3984, RFC 6184 - http://tools.ietf.org/html/rfc6184 tarafından yerine getirilmiştir. –

İlgili konular