2013-08-01 40 views
5

Tôi đã thử setDataSource() trong lớp MediaExtractor nhưng không hoạt động với đường dẫn RTSP. Tôi có thể sử dụng cùng một đường dẫn với MediaPlayer lớp và nó hoạt động nhưng nó là rất quan trọng đối với tôi để sử dụng MediaCodec lớp thay thế. Tôi nghĩ rằng Android không có bất kỳ API RTSP nào tôi có thể sử dụng và cũng không thể tìm thấy bất kỳ thư viện RTSP nào cho Android.Làm thế nào để sử dụng MediaCodec để giải mã dữ liệu từ máy chủ RTSP?

Có cách tương đối dễ dàng để cho luồng video từ máy chủ RTSP vào lớp MediaCodec không?

Trả lời

4

Không có cách nào dễ dàng. Tôi đã kết thúc bằng cách sử dụng dự án này:

https://code.google.com/p/android-rtsp-client/

cho giao thức RTSP (làm việc sau khi một số bản sửa lỗi và sửa đổi).

Tôi cần tự triển khai giao thức RTP và RTCP (một số phiên bản đơn giản hóa đủ trong trường hợp của tôi).

Tôi cũng cần tạo mã để trích xuất các đơn vị NAL từ gói RTP. Tôi đã phải đọc đầu tiên:

http://www.ietf.org/rfc/rfc3984.txt

để tìm ra cách để làm điều đó.

+0

Bạn có thể cung cấp một số thông tin chi tiết về cách bạn lấy luồng RTSP từ dự án Android ở trên và đưa nó vào bộ giải mã 'MediaCodec' không? Tôi ở ngoài yếu tố của tôi ở đây, và đây là một phần của ứng dụng tôi cần phát triển cho chủ nhân của tôi. Bất cứ sự giúp đỡ nào cũng thật sự tuyệt vời! – rayryeng

+0

Fwiw, RFC 3984 đã được thay thế bằng RFC 6184 - http://tools.ietf.org/html/rfc6184. –

Các vấn đề liên quan