Информация об изменениях

Сообщение Re[3]: Как сделать частично загруженную страницу при стримин от 08.11.2023 12:23

Изменено 08.11.2023 12:25 vsb

Re[3]: Как сделать частично загруженную страницу при стримин
Здравствуйте, Sharov, Вы писали:

vsb>>Ты хочешь чего-то очень странного. Никто не останавливает видео крестиком. Для остановки видео используется кнопка в интерфейсе плеера. Если твой http сервер поддерживает range запросы, то браузер, по крайней мере с обычными форматами видео, не будет загружать всё. Если не хочешь полагаться на браузер — напиши свой плеер, как в ютубе, который грузит чанки сам.


S>Неудачная аналогия, согласен. Нужно, чтобы во время показа видео страница была "в загрузке", а не "загрузилась".


Прямого API для этого я не знаю. В целом страница "загружается", пока либо основной HTML загружается, либо один из стилей, скриптов, картинок загружается (последнее с оговорками про асинхронность и прочее).

Т.е. самый простой вариант это подгрузить "картинку", при запросе которой сервер будет просто ничего не отдавать, но и не закрывать соединение. Тогда в браузере будет показываться статус, что картинка грузится. При нажатии "стоп" браузер вроде разорвет соединение, т.е. сервер это может отследить.

При этом промежуточная прокси может разорвать соединение или может в браузере есть на этот счет какие-то таймауты, я точно не знаю, поэтому в браузере скрипт должен отслеживать, если соединение разорвано не по инициативе пользователя и запрашивать картинку заново.

В общем это всё очень сложная и странная машинерия и я не думаю, что так стоит делать. Но если сильно хочется, то как-то так.

Можно попробовать отдавать картинку в виде какого-нибудь анимированного GIF или PNG, а не видео. Может тогда автоматически получится то, что нужно, не знаю.
Re[3]: Как сделать частично загруженную страницу при стримин
Здравствуйте, Sharov, Вы писали:

vsb>>Ты хочешь чего-то очень странного. Никто не останавливает видео крестиком. Для остановки видео используется кнопка в интерфейсе плеера. Если твой http сервер поддерживает range запросы, то браузер, по крайней мере с обычными форматами видео, не будет загружать всё. Если не хочешь полагаться на браузер — напиши свой плеер, как в ютубе, который грузит чанки сам.


S>Неудачная аналогия, согласен. Нужно, чтобы во время показа видео страница была "в загрузке", а не "загрузилась".


Прямого API для этого я не знаю. В целом страница "загружается", пока либо основной HTML загружается, либо один из стилей, скриптов, картинок загружается (последнее с оговорками про асинхронность и прочее).

Т.е. самый простой вариант это подгрузить "картинку", при запросе которой сервер будет просто ничего не отдавать, но и не закрывать соединение. Тогда в браузере будет показываться статус, что картинка грузится. При нажатии "стоп" браузер вроде разорвет соединение, т.е. сервер это может отследить.

При этом промежуточная прокси может разорвать соединение или может в браузере есть на этот счет какие-то таймауты, я точно не знаю, поэтому в браузере скрипт должен отслеживать, если соединение разорвано не по инициативе пользователя и запрашивать картинку заново.

В общем это всё очень сложная и странная машинерия и я не думаю, что так стоит делать. Но если сильно хочется, то как-то так.