ฉันได้เห็นข้อมูลมากมายเกี่ยวกับวิธีการสตรีมวิดีโอจากเซิร์ฟเวอร์ไปยังอุปกรณ์ Android แต่ไม่ได้เกี่ยวกับวิธีอื่น Ala Qik ใครช่วยชี้ฉันในทิศทางที่ถูกต้องที่นี่หรือให้คำแนะนำเกี่ยวกับวิธีการนี้
ฉันได้เห็นข้อมูลมากมายเกี่ยวกับวิธีการสตรีมวิดีโอจากเซิร์ฟเวอร์ไปยังอุปกรณ์ Android แต่ไม่ได้เกี่ยวกับวิธีอื่น Ala Qik ใครช่วยชี้ฉันในทิศทางที่ถูกต้องที่นี่หรือให้คำแนะนำเกี่ยวกับวิธีการนี้
คำตอบ:
ฉันได้โฮสต์โครงการโอเพนซอร์ซเพื่อเปิดใช้งานโทรศัพท์ Android กับกล้อง IP:
http://code.google.com/p/ipcamera-for-android
ข้อมูลวิดีโอดิบถูกดึงมาจาก LocalSocket และตรวจสอบ MDAT MOOV ของ MP4 ก่อนที่จะสตรีม วิดีโอสดบรรจุในรูปแบบ FLV และสามารถเล่นผ่าน Flash Video Player พร้อมบิลด์ในเว็บเซิร์ฟเวอร์ :)
ndk-build
ใส่เพียงแค่การทำงาน สำหรับข้อมูลเพิ่มเติมโปรดอ่านเอกสาร NDK
ใช้เวลาสักพัก แต่ในที่สุดฉันก็จัดการทำแอพที่ทำอย่างนั้นได้ ลองดูหน้ารหัส Google หากคุณสนใจ: http://code.google.com/p/spydroid-ipcamera/ ฉันเพิ่มความคิดเห็นจำนวนมากในรหัสของฉัน (ส่วนใหญ่ดูที่ CameraStreamer.java) ดังนั้นควรเป็น สวยอธิบายตนเอง ส่วนที่ยากคือการเข้าใจ RFC 3984 และใช้อัลกอริธึมที่เหมาะสมสำหรับกระบวนการสร้างแพ็กเก็ต (อัลกอริทึมนี้เปลี่ยนกระแส mpeg4 / h.264 ที่ผลิตโดย MediaRecorder เป็นกระแส rtp ที่ดีตาม rfc)
บาย
ฉันกำลังมองหาสิ่งนี้เช่นกันและในขณะที่ฉันไม่มีวิธีแก้ปัญหาที่ดีสำหรับคุณฉันก็สามารถขุดรหัสวิดีโอของ SIPDroid ได้:
http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java
ฉันได้สร้าง SDK โอเพนซอร์สที่เรียกว่าKickflipเพื่อทำให้การสตรีมวิดีโอจาก Android เป็นประสบการณ์ที่ไม่เจ็บปวด
SDK แสดงให้เห็นถึงการใช้MediaCodec API ของ Android 4.3 เพื่อส่งข้อมูลโดยตรงไปยัง FFmpeg สำหรับRTMP (พร้อม librtmp) หรือHLSสตรีมมิ่ง H.264 / AAC นอกจากนี้ยังแสดงผล OpenGL แบบเรียลไทม์ (การเอียง, คีย์สี, จางหาย) และการบันทึกพื้นหลัง
นี่คือบทความที่สมบูรณ์เกี่ยวกับการสตรีมวิดีโอกล้อง android ไปยังหน้าเว็บ
Android สตรีมมิ่งกล้องวิดีโอสดไปยังหน้าเว็บ
ฉันสามารถส่งวิดีโอกล้องถ่ายทอดสดจากมือถือไปยังเซิร์ฟเวอร์ของฉันได้โดยใช้ลิงก์นี้เพื่อ ดูลิงก์
อ้างถึงลิงค์ข้างต้นมีแอปพลิเคชันตัวอย่างในลิงค์นั้น เพียงคุณต้องตั้งค่า URL บริการของคุณใน RecordActivity.class
ตัวอย่างเช่น: ffmpeg_link = "rtmp: // yourserveripaddress: 1935 / live / venkat";
เราสามารถส่งวิดีโอประเภท H263 และ H264 โดยใช้ลิงก์นั้น
นี่เป็นคำตอบที่แทบจะไม่สมบูรณ์ แต่ webRTC อาจเป็นสิ่งที่คุณต้องการ นี่คือตัวอย่างย่อ ๆ ของ webRTC ที่ใช้งานจริง: http://www.webrtc.org/reference-apps
หากคุณต้องการรหัสเฉพาะ Android มันมีอยู่! http://www.webrtc.org/native-code/android
ตรวจสอบห้องสมุดYasea
Yasea เป็นไคลเอนต์สตรีมมิ่ง Android มันเข้ารหัสข้อมูล YUV และ PCM จากกล้องและไมโครโฟนไปที่ H.264 / AAC encapsulate ใน FLV และส่งผ่าน RTMP
ลักษณะเฉพาะ:
Mux (บริษัท ของฉัน) มีแอพพลิเคชั่นโอเพนซอร์สที่ส่งกระแสข้อมูล RTMP ไปยังเซิร์ฟเวอร์รวมถึงการตั้งค่ากล้องและการโต้ตอบกับผู้ใช้ มันถูกสร้างขึ้นเพื่อสตรีมไปยังสตรีมมิ่ง API แบบสดของ Mux แต่สามารถสตรีมไปยังจุดเข้า RTMP ใด ๆ ได้อย่างง่ายดาย
ขึ้นอยู่กับงบประมาณของคุณคุณสามารถใช้กล้อง Raspberry Pi ที่สามารถส่งภาพไปยังเซิร์ฟเวอร์ ฉันเพิ่มที่นี่สองบทเรียนที่คุณสามารถหารายละเอียดเพิ่มเติม:
บทช่วยสอนนี้แสดงวิธีใช้กล้อง Raspberry Piและแสดงภาพบนอุปกรณ์ Android
นี่คือบทช่วยสอนที่สองที่คุณสามารถค้นหาชุดการสอนเกี่ยวกับการสตรีมวิดีโอแบบเรียลไทม์ระหว่างกล้องและอุปกรณ์ Android