2014-10-12 29 views
5

Android'de bir rtsp akışı yürütmek istiyorum ve son olarak gecikme süresi benim için büyük sorun olduğundan, android API'nin MediaPlayer, Videoview vb kullanamayacağı sonucuna vardım . < 500 ms'lik bir gecikmeye ihtiyacım var. Şimdi bir android rtsp istemcisi oluşturmak için Gstreamer veya ffmpeg kullanmayı planlıyorum . Sadece kaç Gstreamer veya ffmpeg istemci gecikme < 500ms sağlamak mümkün olacak Android'de rtsp istemcisi oluşturmak için Gstreamer veya ffmpeg'i kullanma

  1. şüpheler var. Okumak çok düşük gecikme elde etmek için tweak edebilirsiniz bazı parametreleri vardır. Sadece numaralı telefonu onaylayın. Çok iyi ağ bant genişliğim var. Çerçeve boyutu genellikle 1920X1080'dir.

  2. Gstreamer okunduğumdan bir tanesi ffmpeg'in üzerinde bir seviye oluşturuyor ve ffmpeg kodeklerini çalışmak için kullanıyor. Android istemcisi oluşturmak için hangisinin daha kolay çalıştığını bilmek istiyorum. Gstreamer üzerinde çalışıyor veya doğrudan ffmpeg üzerinde çalışıyor.

  3. Gstreamer android istemcisini kullanırsam, verileri akışı için Gstreamer sunucusunu kullanmam gerekir mi? Şu anda ben Ffmpeg hakkında konuşamıyor verileri

+0

Sorumu düşürmek için bir nedeniniz var mı? –

+0

rtsp player ile büyük başarılarınız var mı? Performansı elde etmek için uğraşıyorum (akışta 1 saniyeden daha az) bilgi paylaşabilirsiniz – user2934930

+0

@ user2934930 Ni Bunu başaramadım. GStreamer insanlar bana, GStreamer'in android bağlantı noktasında bir hata olduğunu ve 720P'de akışa ulaşamayacağımı söyledi. 720P'de yayın yapabiliyor musunuz? Gecikme de 2 saniyeden fazla –

cevap

6

akışı Live555 RTSP sunucusu kullanılarak, fakat Gstreamer için am:

1) Evet, bir RTSP gibi Gstreamer ile 500ms çok daha düşük gecikmeleri alabilirsiniz istemcisi. Rtspsrc üzerindeki gecikme özelliğine bakın (ör. Playbin kullanırsanız, kurulum kaynağı sinyali ile erişebilirsiniz). Varsayılan olarak bu, 2000 milisaniyedir (bu güvenli bir varsayılan değerdir) ancak ağınız yeterince hızlı ise, bunu çok daha düşük yapabilirsiniz.

2) Bu, her iki API ile ilgili deneyiminize bağlıdır. Kendim için bir GStreamer uygulaması çok daha kolay olurdu ve internette birkaç tane bulabilirsiniz: https://coaxion.net/blog/2014/08/gstreamer-playback-api/ http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials (android öğreticiler) Herhangi bir standart uyumluluğunu RTSP sunucusu kullanabilirsiniz

3), hem çalışması gerekir. GStreamer'ın çok basit ama güçlü bir API'si var ve Android'e ulaşmak için GStreamer ikili dosyalarına dahil edildiniz: http://gstreamer.freedesktop.org/data/pkg/android/1.4.3/