Я работаю в веб-приложении, которое предоставляет пользователю (html5-совместимые) видео. Я использую videojs, чтобы показать эти видео с «preload» атрибут, установленный в «auto».Предварительная загрузка видео в формате HTML5 открывает соединение
Я знаю, что браузеры обычно загружают часть видео, и это нормально для меня. Проблема заключается в том, что он держит связь открыта с бэкэнд (весна-загрузкой), который отправляющее видео записи в OutputStream
:
while ((read = input.read(buffer)) > 0) {
output.write(buffer, 0, read); // once video is preloaded, it keeps waiting here
output.flush();
}
Через 1 мин, если пользователь не нажал на кнопку воспроизведения, он выбрасывает ClientAbortedException: java.net.SocketTimeoutException
.
Есть ли способ заставить браузер закрыть соединение после завершения предварительной загрузки? (Обратите внимание, что для нашей системы важно как можно скорее закрыть InputStream
, если он не используется).
Мы не используем плейлист, но ваше решение дало мне некоторое представление. Благодарю. – Ivan