tôi đang làm việc trên một dự án mà tôi cần phảiAndroid - Tiết kiệm một rtsp (h264) dòng để file mp4
đọc đầu vào H.264 mã hóa dòng từ một IPCamera - Tôi có thể lấy này trong thông qua một địa chỉ rtsp như rtsp: //192.168.1.83: 8001/
hiển thị dòng IPCamera - Đây tôi có thể làm bằng cách sử dụng
final VideoView vv = (VideoView) findViewById(R.id.video_view_h264);
MediaController mc = new MediaController(getApplicationContext());
vv.setVideoURI(video);
vv.setMediaController(mc);
vv.requestFocus();
vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
vv.start();
}
});
- Bây giờ tôi muốn ghi lại dòng này vào một tập tin MP4. Đây là nơi tôi bị kẹt và tôi đang xem xét các tùy chọn sau
a) MediaRecorder - Dựa trên tìm kiếm google của tôi Tôi tin rằng lớp này chỉ có thể nhập từ máy ảnh của thiết bị. Có cách nào để tinh chỉnh này, nơi tôi có thể cung cấp một đầu vào từ rtsp dòng?
b) API MediaCodec - 4.1 trở đi Android đã phát hành API cấp thấp này với MediaExtractor và MediaCodec. Đối với tùy chọn này, tôi nghĩ rằng không thể sử dụng luồng rtsp trong đoạn mã sau
final String STREAM_URL = "rtsp://192.168.1.83:8001/";
MediaExtractor mediaExtractor = new MediaExtractor();
mediaExtractor.setDataSource(STREAM_URL); // I get an exception 04-28 18:30:18.914: E/AndroidRuntime(8140): Caused by: java.io.IOException: Failed to instantiate extractor.
c) Tôi có thể đọc từ url và lưu trữ nó như một tệp hay không. Làm cách nào để chuyển đổi luồng này thành tệp MP4? Bất kỳ đoạn mã nào sẽ thực sự hữu ích.
Tôi cũng đã cố gắng sử dụng FFMPEG nhưng hiệu suất quá kém nên tôi đã bỏ tùy chọn này.
Bất kỳ yếu tố đầu vào nào trên ba tùy chọn trên hoặc bất kỳ tùy chọn bổ sung nào khác mà tôi có thể xem xét sẽ được đánh giá rất nhiều.
Cảm ơn !!
Bạn có muốn hiển thị và ghi vào tệp cùng lúc không? – Ganesh
Có, tôi đang tìm cách hiển thị và ghi lại đồng thời. Tôi có thể quản lý phần hiển thị, nhưng phần ghi âm là nơi tôi bị kẹt. – maxkart
@maxkart Bạn đã tìm thấy giải pháp nào cho vấn đề của mình, tôi có cùng một vấn đề như bạn có Nếu bạn tìm thấy giải pháp nào thì hãy trả lời chi tiết câu hỏi của bạn. Tôi đánh giá cao nếu bạn làm .. Cảm ơn bạn đã nâng cao –