Я пытаюсь реализовать потоковое видео между двумя устройствами с Android (API 9+), подключенными к той же сети WiFi. Первое устройство работает как небольшой сервер http, который записывает видео с камеры с помощью MediaRecorder. Второе устройство пытается получить данные с помощью метода setDataSource из класса MediaPlayer.Потоковое видео в реальном времени для MediaPLayer
mediaPlayer.setDataSource("http://serverIP:port")
Я знаю, что сначала мне нужно отправить правильный заголовок, иначе MediaPlayer не сможет просматривать данные. Это мои вопросы:
- Как должен выглядеть правильный заголовок, отправленный на MediaPlayer?
- Есть ли более простое решение для потоковой передачи видео между устройствами Android с API 9+?
Буду благодарен за все советы.
Edit:
Поскольку мои вопросы были слишком общими, я постараюсь быть более конкретным. На основе этой темы: Live-stream video from one android phone to another over WiFi Я решил создать небольшой http-сервер (используя ServerSocket). Когда второе устройство пытается установить соединение с помощью MediaPlayer я могу отправить на него данные с сервера, используя
socket.getOutputStream().write(buff, 0, readBytes);
Но перед передачей данных, я должен добавить заголовок ответа.
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("HTTP/1.1 206 Partial Content\r\n");
stringBuilder.append("Content-Type: video/mp4\r\n");
stringBuilder.append("Accept-Ranges: bytes\r\n");
stringBuilder.append("Content-Length: XXXX\r\n\r\n");
socket.getOutputStream().write(stringBuilder.toString().getBytes());
Вот моя проблема. Я не знаю, какая информация должна быть добавлена в заголовок, чтобы сообщение было понятным для MediaPlayer. В настоящее время в журналах я вижу следующие сообщения:
I/MediaHTTPConnection: response code = 206
V/MediaPlayer: message received msg=100, ext1=1, ext2=-2147483648
E/MediaPlayer: error (1, -2147483648)
Добро пожаловать на Stack Overflow. Пожалуйста, прочитайте [Как спросить] (http://stackoverflow.com/help/how-to-ask). Трудно ответить на вопрос с несколькими вопросами. Также, пожалуйста, поделитесь тем, что вы пробовали и/или исследовали. – zhon