#android #video-streaming
#Android #потоковое видео
Вопрос:
Я много гуглил и вообще не добился успеха.Нет даже единой точки, с которой я мог бы начать. Я использую VideoView для воспроизведения видео с URL, видео воспроизводится успешно, в то же время я хочу записать воспроизводимое в данный момент видео. например: http://ip/streamname/playlist.m3u8
— это URL, и я успешно просматриваю его, но мне нужно записать конкретный поток и сохранить его, чтобы я мог посмотреть его позже. Пожалуйста, предложите мне решение
Комментарии:
1. вы пробовали MediaRecorder Api для записи видео?? это также дает нам возможность записывать видео, установив источник видео.
2. Я пытался, но не работает… хорошо, я попробую еще раз. Но я сомневаюсь, могу ли я установить источник видео в качестве URL-адреса текущего воспроизводимого видео
Ответ №1:
Попробуйте этот код для загрузки вашего видео с вашего URL, и помните одну вещь: сервер должен поддерживать загрузку с определенным смещением в байтах
private final int TIMEOUT_CONNECTION = 5000;//5sec
private final int TIMEOUT_SOCKET = 30000;//30sec
URL url = new URL("Video URL");
// long startTime = System.currentTimeMillis();
// Log.i(TAG, "image download beginning: " imageURL);
//Open a connection to that URL.
URLConnection ucon = url.openConnection();
//this timeout affects how long it takes for the app to realize there's a //connection problem
ucon.setReadTimeout(TIMEOUT_CONNECTION);
ucon.setConnectTimeout(TIMEOUT_SOCKET);
//Define InputStreams to read from the URLConnection.
// uses 3KB download buffer
InputStream is = ucon.getInputStream();
BufferedInputStream inStream = new BufferedInputStream(is, 1024 * 5);
FileOutputStream outStream = new FileOutputStream(file);
byte[] buff = new byte[5 * 1024];
//Read bytes (and store them) until there is nothing more to read(-1)
int len;
while ((len = inStream.read(buff)) != -1)
{
outStream.write(buff,0,len);
}
//clean up
outStream.flush();
outStream.close();
inStream.close();
Log.i(TAG, "download completed in "
((System.currentTimeMillis() - startTime) / 1000)
" sec");5
Комментарии:
1. он загружает файл, но когда я проверил свойства файла, он был равен 0 байтам, когда я нажимаю на этот файл, проигрыватель начинает его воспроизводить. Но я заметил, что файл снова имеет тот же URL потока
2. поддерживал ли ваш сервер загрузку??
3. я не думаю, что wowzo предоставляет поддержку загрузки, хотя wowzo предоставляет модуль nDVR, чтобы конечный пользователь мог быстро перематывать вперед или назад или воспроизводить / приостанавливать видео.
4. Спасибо @yasiriqbal776. Как я могу указать секунды в видео? Например, допустим, я хочу сохранить только 5 секунд в середине видео?
5. @android-user я не понял вашего вопроса? вы хотите узнать время воспроизведения видео?