Tôi đang cố gắng xây dựng một hệ thống phát trực tiếp video và âm thanh được ghi lại bằng điện thoại Android. Tôi muốn sử dụng máy ghi phương tiện truyền thông để mã hóa dữ liệu và sau đó gửi nó qua RTP nhưng vấn đề là làm thế nào tôi có thể nhận được dữ liệu được mã hóa trong một bộ đệm.H.264 Truyền trực tuyến theo thời gian thực
5
A
Trả lời
1
Bạn không thể. Ít nhất bạn không thể không có một số hack. Máy ghi phương tiện không hỗ trợ ghi vào bộ đệm.
Bí quyết là tạo ống, trích xuất bộ mô tả đường ống và chuyển nó tới hàm setOutputFile(FileDescriptor fd)
. Có một số vấn đề với cách tiếp cận này, vì MediaRecorder
không viết nội dung phương tiện theo cách định hướng luồng. Nói cách khác, nó dựa trên thực tế là nó có thể điều hướng trở lại thông qua tập tin và viết một số tiêu đề gói sau này.
Thông tin chi tiết về vấn đề này có thể được tìm thấy ở đây: Broadcasting video with Android - without writing to local files
1
tôi thấy hai lựa chọn khác (tôi đã không thử một trong hai):
- Một đặc tả tập tin vào một bộ nhớ đệm: http://www.devdaily.com/java/jwarehouse/android/core/java/android/os/MemoryFile.java.shtml
- Android 4.0 triển khai API đa phương tiện OpenMAX: http://developer.android.com/about/versions/android-4.0-highlights.html
Loại thứ hai có lẽ là lựa chọn tốt nhất của bạn.
Các vấn đề liên quan
- 1. Yêu cầu truyền trực tuyến H.264
- 2. Phát trực tuyến Âm thanh thời gian thực
- 3. Thuật toán trực tuyến Haskell tuyến tính thời gian
- 4. đóng gói tốc độ khung hình H.264 luồng trong luồng truyền tải MPEG2
- 5. codec H.264 giải thích
- 6. H.264 qua RTP/RTSP (iPhone)
- 7. Thực hành tốt nhất H.264/FLV cho HTML
- 8. Android H.264 BaseProfile hỗ trợ cấp
- 9. MongoDb Truyền dữ liệu đã chèn trong thời gian thực (hoặc gần thời gian thực)
- 10. Kích thước tệp H.264 trong 1 giờ video HD
- 11. Tuyến đường AWS 53 Thời gian truyền DNS
- 12. H.264 AVC được hỗ trợ cho điện thoại Android?
- 13. iPad không hiển thị video H.264 với HTML5
- 14. Truyền phát trực tuyến webcam từ Silverlight 4 (Beta)
- 15. Truyền trực tuyến với WCF và MTOM
- 16. Nhiều luồng video H.264 trong một phiên RTP
- 17. RegEx - Xác nhận thời gian ((h) h: mm)
- 18. Mã hóa video theo thời gian thực trong DirectShow
- 19. Tôi làm cách nào để thực hiện mã hóa và giải mã H.264 tăng tốc phần cứng để phát trực tuyến?
- 20. Truyền trực tuyến tệp CSV ở Django
- 21. Twitter Truyền trực tuyến trên GAE
- 22. H.264 trên RTP - Xác định SPS và PPS Frames
- 23. Sự khác nhau giữa video H.264 và video MPEG-4 là gì?
- 24. Bảng điều khiển JavaScript trực tuyến, thời gian thực, được chia sẻ?
- 25. amqp hoặc xmpp cho trò chơi trực tuyến thời gian thực
- 26. RTSP Truyền trực tuyến trên iOS 6 với Xcode 4.6.1
- 27. H.264 chuyển đổi với FFmpeg (từ một dòng RTP)
- 28. Giám sát MySQL theo thời gian thực
- 29. WebService tiền tệ theo thời gian thực
- 30. Cách ánh xạ dữ liệu phát trực tuyến theo thời gian thực bằng AreaChart trong JAVAFX 2 - Đồng thời, Hoạt ảnh, Biểu đồ