SORU
18 Ocak 2013, Cuma


Canlı yayını Wi-Fi üzerinden başka bir android telefondan video

Şimdi gün boyunca internet WiFi bağlantısı üzerinden başka bir android telefon için bir android telefondan video streaming özelliği uygulamak için nasıl araştırdım ama işe yarar bir şey bulmak için görünmüyor olabilir. Örnek kod, stackoverflow, google, android bloglar ama hiçbir şey için android geliştiricileri baktım. Bulabildiğim tüm telefon masaüstü veya aktarımı için masaüstü-telefon çözümleri, ama benim uygulama bana verebileceğin hiçbir şey bir tür vardır.

Bir robot bir arduino ADK kullanarak kontrol etmek istiyorum, 2 telefon, robot üzerine monte edilecek ve robotun video akışı alacak başka bir tane kullanıyorum. Yayın saat ve izleme zamanı arasında en küçük bir gecikme elde etmek için çalışıyorum çünkü bu söz benim.

Ben yazarken 2 apps, bir ana uygulama için kontrol robot(el telefonu) kontrol edecek köle app almak ve akışı, ve ikinci köle uygulaması olan will run robot sıkıntısı çeken telefon, kontrolü motorlar/aktör/Akış için Ana Uygulama. Üçüncü parti uygulamalar ne yazık ki ben kullanamıyorum. 2 uygulamalarım içine video akışı kodu entegre etmek istiyorum.

Bu seçenekleri elde etmek için ne var? Ben asla, çok iyi hem de Java yapıyorum videostreaming zor ve Android geliştirme ile çalıştı, çünkü aynı zamanda çok zor. Nasıl kodlamak/akışı şifresini çözmek için nasıl bağlantı yapmalıyım, ben yerine UDP ve TCP/IP ile çalışmak gerekir ? Gerçekten, örnek kod ile her yerden başlatmak için bilmiyorum. Bu elde edilebilir diye düşünüyorum. Ben sadece işe yarar bir şey doğru yönde bana başlamak için bulamıyorum.

spydroid ama benim için çok bir masaüstü hiçbir sorun kullanarak rast geldim.

CEVAP
21 Ocak 2013, PAZARTESİ


Eğer kayıt ve oynatma uygulaması işlevsellik ihtiyacınız varsa, off-the-raf akışı uygulaması ve player kullanarak makul bir seçimdir.

Lazım olursa onlara app, ancak, sen-ecek var bak içine MediaRecorder API (sunucu/kamera uygulaması) MediaPlayer (istemci/çalar uygulaması).

Sunucu için hızlı örnek kod:

// this is your network socket
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
mCamera = getCameraInstance();
mMediaRecorder = new MediaRecorder();
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
// this is the unofficially supported MPEG2TS format, suitable for streaming (Android 3.0 )
mMediaRecorder.setOutputFormat(8);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
mMediaRecorder.prepare();
mMediaRecorder.start();

Biraz zor oyuncu tarafında, bu deneyebilirsiniz:

// this is your network socket, connected to the server
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(pfd.getFileDescriptor());
mMediaPlayer.prepare();
mMediaPlayer.start();

Ne yazık ki * eğilimindedir için böyle değil, bu yüzden size bir kaç seçenek var: ya (a) save data soket dosya ve (sonra bir bit veri) oyun * dosya, veya (b) küçük bir http proxy, yerel olarak çalışır ve kabul * GET isteği, yanıt ile HTTP başlıklarını ve sonra Kopyala verilerden uzak sunucuya. (A) bir dosya yolu ile * oluşturmak veya url dosya için, (b) bir http url proxy işaret ver.

Ayrıca Bkz:

Stream live video from phone to phone using socket fd

MediaPlayer stutters at start of mp3 playback

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006