18 мая 2012 г., 22:40 отJohnny5k

Chrome HTML5 Видео перестают работать, если открыто слишком много вкладок - Проблема с памятью?

Я использую jQuery для динамической записи<video> объекты и запуск videojs для их инициации. После воспроизведения видео, иногда, когда я пытаюсь воспроизвести его снова, оно просто не воспроизводится, и с этого момента, даже после обновления страницы, видео не будет воспроизводиться. Каждый раз<video> объект рендерится, но видео просто не воспроизводится. На консоль ничего не написано. Похоже, что нет никаких ошибок. Перезапуск Chrome решает проблему, но только на мгновение. После воспроизведения нескольких видео проблема возвращается снова.

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

Я использую Chrome 19.0.1084.46

Ответы на вопрос(0)

15 окт. 2013 г., 14:42 отPerMafrost

Стю правильно. Но иногда, по моему опыту, Chrome игнорирует preload = & quot; none & quot; атрибут и идет вперед и открывает соединение в любом случае. У меня была большая проблема с этим при разработке сайта, на котором было много небольших видео. Соединения заблокировали остальную часть содержимого (изображения, пользовательские шрифты (а когда пользовательские шрифты задерживаются, текст даже не отображается)) Моим решением было создать собственный предварительный загрузчик, который загружает изображения. Это позволило мне контролировать, по крайней мере, когда загружались изображения (что было самым важным аспектом с точки зрения дизайна).

Это решило проблему с изображениями, не показывающими, но проблема все еще осталась. Поэтому наилучшим решением является настройка поддоменов, указывающих на один и тот же сервер, например: v1.server.com, v2.server.com и т. Д. Это означает, что вам больше не нужно перемещать файлы, и вы получаете преимущество, позволяя браузерам иметь более открытые соединения. Остерегайтесь увеличения времени поиска DNS, хотя.

16 авг. 2014 г., 20:23 отchowey

Eстьизвестная ошибка с хромом. Он не будет воспроизводить одно и то же видео на нескольких вкладках одновременно. Вероятно, это то, с чем вы сталкиваетесь, если вы разработчик и у вас есть страница, открытая одновременно на двух вкладках.

На момент написания этой статьи эта ошибка была известна почти 5 лет назад. Не стесняйтесь посетитьСообщение об ошибке хрома и пометить вопрос. Надеюсь, это повысит приоритет разработчиков Chrome.

Тем временем, обходной путь должен использовать случайный параметр запроса в вашем src видео. Например, вместо<video src="vid.mp4">использовать<video src="vid.mp4?_u=1253412">, Это нарушит механизм кэширования в Chrome и позволит передавать одно и то же видео на две разные вкладки одновременно.

22 июл. 2015 г., 22:36 отmummybot

У меня была похожая, но связанная с этим проблема, которую я могу немного расширить здесь.

У меня было 14 разных небольших видео на странице, но одновременно было доступно только 2. Установка предварительной нагрузки = "нет" не удалось устранить проблему, поэтому я также использовал атрибут data для хранения src и удалил src для всех видео, которые в данный момент не просматриваются.

20 мая 2012 г., 09:57 отStu Thompson

Сколько именноvideo теги у вас есть? На что они похожи? Они включаютpreload='none' атрибут? Все ли исходные видео находятся на сервере?

Я спрашиваю, потому что, если у вас есть более шестиvideo теги на одной странице, указывающие на один и тот же исходный сервер, тогда вы могли испытывать «разрыв соединения»:

Chrome allows only six open connections to a single server (based on DNS name in the URL) the html5 video tag's preload attribute default value is 'auto' Chrome's auto behavior is to preload some data and leave the connection open ready to pull more data for the video

Таким образом, при наличии более шести тегов видео на одной странице, указывающих на один сервер, видео не будет воспроизводиться. Чтобы решить эту конкретную проблему, установитеpreload приписывать'none'

ВАШ ОТВЕТ НА ВОПРОС