AndroidScreenCaster เป็นโซลูชันการส่งภาพหน้าจอสดสำหรับอุปกรณ์ Android พร้อมการเข้ารหัส H.264 และ WebM ที่มีประสิทธิภาพผ่าน TCP และ UDP สัมผัสประสบการณ์การสตรีมเวลาแฝงต่ำไปยังเบราว์เซอร์หรือเซิร์ฟเวอร์ของคุณสำหรับเกมมือถือ การนำเสนอ หรือแอปพลิเคชันอื่น ๆ ที่จำเป็นต้องมีการสะท้อนหน้าจอแบบเรียลไทม์
ในฐานะหัวหน้าทีมการทดสอบอัตโนมัติ เราจำเป็นต้องจำลองหน้าจอ Android ที่ใช้งานจริงไปยังเว็บเบราว์เซอร์เพื่อทดสอบการทำงานของเกมบนมือถือ แนวทางแรกของเราที่ใช้ MJPEG นั้นไม่มีประสิทธิภาพ ช้า และสร้างไฟล์ขนาดใหญ่ วิธีที่สองโดยใช้ตัวแปลงสัญญาณ H.264 และ VP8 ประสบความสำเร็จ แต่ไม่มีตัวอย่างโค้ดที่พร้อมใช้งาน
โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อช่วยคุณประหยัดเวลาและให้ความเข้าใจที่ชัดเจนเกี่ยวกับการแคสต์หน้าจอสดบน Android ด้วยการเข้ารหัสสื่อที่มีประสิทธิภาพและมีเวลาแฝงต่ำ
รันคำสั่งต่อไปนี้เพื่อเริ่ม FFplay:
ffplay -framerate 60 -i tcp:// < your server ip here > :49152 ? listen
ffplay -framerate 60 -i tcp://<your server ip here>:49152?listen
ffplay -i tcp://<your server ip here>:49152?listen
ffplay -framerate 60 -i udp://@:49152
ffplay -i udp://@:49152
ffmpeg -i udp://@:49152 -framerate 60 -codec:v libx264 -profile:v baseline -preset medium -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -an -threads 0 output.mp4
ffmpeg -i output.mp4 -vf "setpts=(1/2)*PTS" fast_output.mp4
ffmpeg -i udp://@:49152 -c:v libvpx -b:v 1M -c:a libvorbis output.webm
โครงการนี้ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT