СПОСОБ И СИСТЕМА ДЛЯ ОТОБРАЖЕНИЯ ВИДЕОКОНТЕНТА Российский патент 2024 года по МПК H04N21/2387 H04N21/84 G11B20/10 

Описание патента на изобретение RU2824370C1

Область техники, к которой относится изобретение

[01] Настоящая технология в целом относится к видеодисплею и, в частности, к способу переключения между различными видами видеоконтента, отображаемого в режиме онлайн на веб-странице.

Уровень техники

[02] Когда пользователь просматривает в режиме онлайн видеоматериал, такой как видеоклип или фильм (здесь называется основным видеоматериалом), например, на платформе видеохостинга, в социальной сети или на любом другом веб-ресурсе, предоставляющем онлайн-видеоуслуги, для него может выводиться вспомогательное видеосообщение в том же видеокадре, что и основной видеоматериал. Известны некоторые подходы к отображению таких вспомогательных видеосообщений. Например, вспомогательное видеосообщение может отображаться в ответ на заранее заданное инициирующее событие, в частности, в заранее заданный момент времени в ходе отображения основного видеоматериала.

[03] Обычно отображение основного видеоматериала может включать в себя обнаружение браузерным приложением, выполняемым в электронном устройстве пользователя, видеотега в исходном HTML-коде веб-страницы, определение в нем источника основного видеоматериала и инициирование загрузки из него закодированных видеоданных, связанных с основным видеоматериалом (здесь это также называется буферизацией). Кроме того, браузерное приложение может инициировать декодирование связанным с ним видеоплеером (таким как встроенный видеоплеер) загруженных таким образом видеоданных и затем с использованием интерфейса программирования приложений (API, Application Programing Interface) инициировать отображение соответствующей части основного видеоматериала.

[04] При отображении основного видеоматериала браузерное приложение в ответ на инициирующее событие может инициировать, например, связанным с ним приложением видеоменеджера, следующие действия: приостановку отображения основного видеоматериала и прерывание загрузки закодированных видеоданных, связанных со следующими частями основного видеоматериала, для отображения тем же видеоплеером вспомогательного видеосообщения. После завершения отображения вспомогательного видеосообщения браузерное приложение может восстанавливать соединение с источником основного видеоматериала с целью возобновления загрузки закодированных видеоданных, связанных со следующими частями основного видеоматериала, для его отображения с момента приостановки.

[05] Такой подход к отображению вспомогательного видеосообщения может негативно влиять на восприятие конечным пользователем просматриваемого основного видеоматериала. В частности, восстановление соединения и загрузка достаточного количества закодированных видеоданных для возобновления отображения основного видеоматериала может приводить к задержке (например, длительностью несколько секунд), заметной пользователю.

[06] Для решения описанной выше технической проблемы в уровне технике предложены некоторые подходы.

[07] В патенте US8874469B2 «Glitch free dynamic video ad insertion» (Microsoft Technology Licensing LLC, выдан 28 октября 2014 г.) описаны способы динамической безразрывной вставки вспомогательного контента через второй видеоконвейер в основной контент, воспроизводимый через первый видеоконвейер.

Раскрытие изобретения

[08] Следовательно, требуются системы и способы, исключающие, уменьшающие или преодолевающие ограничения известных технологий.

[09] Разработчики настоящей технологии установили, что задержка, обусловленная переключением между вспомогательным видеосообщением и основным видеоматериалом, может быть уменьшена до уровня, незаметного конечному пользователю, если они отображаются отдельными видеоплеерами. В частности, разработчики разработали способы временного назначения отдельного видеоплеера для видеотега исходного HTML-кода веб-страницы, которую конечный пользователь просматривает в текущий момент времени, с целью просмотра основного видеоматериала.

[010] Тогда при инициировании отображения вспомогательного видеосообщения инициируется выполнение браузером следующих действий: «отключение» первого видеоплеера, отображающего основной видеоматериал, от видеотега исходного HTML-кода веб-страницы и «подключение» к нему второго видеоплеера, воспроизводящего вспомогательное видеосообщение. При этом во время отображения вторым видеоплеером вспомогательного видеосообщения продолжается буферизация основного видеоматериала, благодаря чему возможно возобновление отображения основного видеоматериала без заметной паузы после переключения со вспомогательного видеосообщения.

[011] Таким образом, данные способы и системы позволяют улучшать восприятие конечными пользователями при просмотре в режиме онлайн видеоматериалов, содержащих, например, коммерческие вставки.

[012] Кроме того, благодаря использованию отдельных видеоплееров, обеспечивающих непрерывную буферизацию основного видеоматериала, данные способы и системы позволяют безразрывно переключаться между отображением основного видеоматериала и отображением вспомогательного видеосообщения без затрат дополнительных вычислительных ресурсов на повторную инициализацию основного видеоматериала после завершения вспомогательного видеосообщения.

[013] В частности, в соответствии с первым аспектом настоящей технологии реализован способ переключения воспроизведения между первым видеоконтентом и вторым видеоконтентом. Способ выполняется электронным устройством, выполняющим браузерное приложение. Способ включает в себя: получение цифрового документа, представляющего веб-страницу и содержащего видеотег, указывающий на первый источник видеоконтента; установление первого соединения между первым видеоплеером и видеотегом с использованием API; воспроизведение первым видеоплеером первого видеоконтента из первого источника видеоконтента; в ответ на инициирующее событие - приостановку воспроизведения первым видеоплеером первого видеоконтента в текущий момент времени первого видеоконтента, установление второго соединения между вторым видеоплеером и видеотегом с использованием API, при этом второй видеоплеер отличается от первого видеоплеера, и воспроизведение вторым видеоплеером второго видеоконтента; в ответ на завершение воспроизведения второго видеоконтента - повторное установление первого соединения между первым видеоплеером и видеотегом с использованием API и возобновление воспроизведения первого видеоконтента первым видеоплеером с текущего момента времени первого видеоконтента.

[014] В некоторых вариантах осуществления способа возобновление выполняется без заметной пользователю паузы.

[015] В некоторых вариантах осуществления способа он включает в себя парсинг цифрового документа для обнаружения видеотега.

[016] В некоторых вариантах осуществления способа он дополнительно включает в себя загрузку первого закодированного видеоконтента из первого источника видеоконтента и декодирование первым видеоплеером первого закодированного видеоконтента в первый видеоконтент.

[017] В некоторых вариантах осуществления способа инициирующее событие соответствует получению браузерным приложением команды на инициирование воспроизведения второго видеоконтента.

[018] В некоторых вариантах осуществления способа команда встроена в первый видеоконтент.

[019] В некоторых вариантах осуществления способа он дополнительно включает в себя продолжение загрузки и декодирования первого закодированного видеоконтента во время воспроизведения второго видеоконтента.

[020] В некоторых вариантах осуществления способа для браузерного приложения предусмотрена память браузера, а способ дополнительно включает в себя сохранение первого видеоконтента в памяти браузера во время воспроизведения второго видеоконтента.

[021] В некоторых вариантах осуществления способа перед установлением второго соединения между вторым видеоплеером и видеотегом способ дополнительно включает в себя изменение видеотега для указания на второй источник видеоконтента, связанный со вторым видеоконтентом.

[022] В некоторых вариантах осуществления способа API представляет собой единый API для установления первого соединения и второго соединения.

[023] В некоторых вариантах осуществления способа API обеспечивается операционной системой, выполняемой в электронном устройстве.

[024] Согласно второму аспекту настоящей технологии реализовано электронное устройство для переключения воспроизведения между первым видеоконтентом и вторым видеоконтентом на веб-странице браузерного приложения электронного устройства. Электронное устройство содержит процессор и машиночитаемый физический носитель информации, хранящий команды. Процессор при выполнении команд способен: получать цифровой документ, представляющий веб-страницу и содержащий видеотег, указывающий на первый источник видеоконтента; устанавливать первое соединение между первым видеоплеером и видеотегом с использованием API; инициировать воспроизведение первым видеоплеером первого видеоконтента из первого источника видеоконтента; в ответ на инициирующее событие инициировать приостановку воспроизведения первым видеоплеером первого видеоконтента в текущий момент времени первого видеоконтента, устанавливать второе соединение между вторым видеоплеером и видеотегом с использованием API, при этом второй видеоплеер отличается от первого видеоплеера, и инициировать воспроизведение вторым видеоплеером второго видеоконтента; в ответ на завершение воспроизведения второго видеоконтента повторно устанавливать первое соединение между первым видеоплеером и видеотегом с использованием API и возобновлять воспроизведение первого видеоконтента первым видеоплеером с текущего момента времени первого видеоконтента.

[025] В некоторых вариантах осуществления электронного устройства процессор способен возобновлять воспроизведение первого видеоконтента без заметной пользователю паузы.

[026] В некоторых вариантах осуществления электронного устройства процессор способен выполнять парсинг цифрового документа для обнаружения видеотега.

[027] В некоторых вариантах осуществления электронного устройства процессор дополнительно способен загружать первый закодированный видеоконтент из первого источника видеоконтента и декодировать первый закодированный видеоконтент в первый видеоконтент с использованием первого видеоплеера.

[028] В некоторых вариантах осуществления электронного устройства инициирующее событие соответствует получению браузерным приложением команды на инициирование воспроизведения второго видеоконтента.

[029] В некоторых вариантах осуществления электронного устройства процессор дополнительно способен продолжать загрузку и декодирование первого закодированного видеоконтента во время воспроизведения второго видеоконтента.

[030] В некоторых вариантах осуществления электронного устройства для браузерного приложения предусмотрена память браузера, а процессор дополнительно способен сохранять первый видеоконтент в памяти браузера во время воспроизведения второго видеоконтента.

[031] В некоторых вариантах осуществления электронного устройства для установления второго соединения между вторым видеоплеером и видеотегом процессор способен изменять видеотег для указания на второй источник видеоконтента, связанный со вторым видеоконтентом.

[032] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Соответствующие аппаратные средства могут быть реализованы в виде одного физического компьютера или одной компьютерной системы, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или запускать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».

[033] контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств, тем не менее, это не обязательно для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя блоки управления, персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в данном контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает, что оно не может функционировать в качестве сервера для других электронных устройств.

[034] В контексте настоящего описания выражение «информация» означает информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя визуальные материалы (например, карты), аудиовизуальные материалы (например, изображения, фильмы, звукозаписи, презентации и т.д.), данные (например, данные о местоположении, метеорологические данные, данные о дорожном движении, числовые данные и т.д.), текст (например, мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.

[035] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.

[036] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом.

[037] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.

[038] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.

Краткое описание чертежей

[039] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.

[040] На фиг. 1 приведена схема примера компьютерной системы, предназначенной для реализации некоторых не имеющих ограничительного характера вариантов настоящей технологии.

[041] На фиг. 2 приведена схема сетевой вычислительной среды, содержащей компьютерную систему, представленную на фиг. 1, и пригодной для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.

[042] На фиг. 3 приведена схема графического интерфейса пользователя (GUI, Graphical User Interface) браузерного приложения, выполняемого в электронном устройстве из сетевой вычислительной среды, представленной на фиг. 2, и обеспечивающего визуальное представление веб-страницы, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[043] На фиг. 4 приведена временная диаграмма процесса отображения на веб-странице браузерного приложения электронным устройством из сетевой вычислительной среды, представленной на фиг. 2, различного видеоконтента с использованием одного видеоплеера согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[044] На фиг. 5 приведена схема процесса отображения на веб-странице браузерного приложения электронным устройством из сетевой вычислительной среды, представленной на фиг. 2, различного видеоконтента с использованием отдельных видеоплееров согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[045] На фиг. 6 приведена временная диаграмма процесса, представленного на фиг. 5, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[046] На фиг. 7 приведена блок-схема способа переключения воспроизведения между различным видеоконтентом на веб-странице браузерного приложения электронным устройством из сетевой вычислительной среды, представленной на фиг. 2, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

Осуществление изобретения

[047] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Должно быть понятно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.

[048] Чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.

[049] некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие изменения в пределах объема настоящей технологии. Кроме того, если в некоторых случаях изменения не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.

[050] писание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть понятно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.

[051] ункции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.

[052] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.

[053] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.

Компьютерная система

[054] На фиг. 1 представлена компьютерная система 100, пригодная для использования в некоторых вариантах осуществления настоящей технологии. Компьютерная система 100 содержит различные аппаратные элементы, включая один или несколько одно- или многоядерных процессоров, обобщенно представленных процессором 110, графический процессор 111 (GPU, Graphics Processing Unit), твердотельный накопитель 120, ОЗУ 130, интерфейс 140 дисплея и интерфейс 150 ввода-вывода.

[055] Связь между различными элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.

[056] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может также называться экраном (например, экран (отдельно не обозначен) электронного устройства 210, представленного на фиг. 2). В представленных на фиг. 1 вариантах осуществления изобретения сенсорный экран 190 содержит сенсорные средства 194 (например, чувствительные к нажатию ячейки, встроенные в слой дисплея и позволяющие фиксировать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорных средств ввода-вывода, который обеспечивает связь с дисплейным интерфейсом 140 и/или с одной или несколькими внутренними и/или внешними шинами 160. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии интерфейс 150 ввода-вывода может быть соединен с клавиатурой (отдельно не показана), мышью (отдельно не показана) или сенсорной площадкой (отдельно не показана), обеспечивающими взаимодействие пользователя с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.

[057] Следует отметить, что в некоторых не имеющих ограничительного характера вариантах осуществления изобретения некоторые элементы компьютерной системы 100 могут отсутствовать. Например, клавиатура и мышь (отдельно не показаны) могут отсутствовать, в частности, если компьютерная система 100 реализована в виде малогабаритного электронного устройства, такого как смартфон (но не ограничиваясь этим).

[058] Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в ОЗУ 130 и исполнения процессором 110 и/или процессором 111 GPU. Программные команды могут, например, входить в состав библиотеки или приложения.

Сетевая вычислительная среда

[059] На фиг. 2 представлена сетевая вычислительная среда 200, пригодная для использования в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии. Сетевая вычислительная среда 200 содержит электронное устройство 210, соединенное через сеть 240 связи с сервером 250. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 210 может быть связано с пользователем 230.

[060] В таких не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 210 может представлять собой любые компьютерные аппаратные средства, способные выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые не имеющие ограничительного характера примеры электронного устройства 210 могут включать в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты. Электронное устройство 210 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1.

[061] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 250 может быть реализован в виде традиционного компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 250 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 250 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 250 могут быть распределены между несколькими серверами.

[062] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, сервер 250 может содержать веб-ресурс 255. В общем случае веб-ресурс 255 может содержать и таким образом обеспечивать доступ к информации различных видов, такой как тексты, изображения, аудиоматериалы и видеоматериалы, размещенные на по меньшей мере одной веб-странице (такой как веб-страница 302, представленная на фиг. 3), которая может быть идентифицирована в сети 240 связи, например, с использованием соответствующего универсального указателя ресурсов (URL, Universal Resource Locator), связанного с этой по меньшей мере одной страницей. В качестве примеров веб-ресурса 255 можно привести веб-сайт, такой как коммерческий веб-сайт, предназначенный для рекламы конкретных товаров, социальную сеть (например, такую как Facebook.com™), онлайн-видеосервис (например, Kinopoisk.ru™) и т.д.

[063] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии пользователь 230 с использованием электронного устройства 210 может запрашивать доступ к веб-странице 302, например, путем отправки соответствующего URL-адреса в адресной строке (не показана на фиг. 2) браузерного приложения 215, выполняемого в электронном устройстве 210. В ответ сервер 250 может предоставлять электронному устройству 210 доступ к веб-странице 302 веб-ресурса 255 путем отправки соответствующего представляющего ее цифрового документа электронному устройству 210 для отображения пользователю 230.

[064] В контексте настоящего описания браузерное приложение 215 представляет собой программное приложение, выполняемое в электронном устройстве, таком как электронное устройство 210, и способное обеспечивать доступ к ресурсам узлов сети, например, сети 240 связи, в ответ на получение их сетевых адресов в данной сети. В конкретном не имеющем ограничительного характера примере браузерное приложение 215 может быть реализовано в виде браузерного приложения Yandex.Browser™, предоставляемого компанией ООО Яндекс, ул. Льва Толстого, 16, Москва, 119021, Россия.

[065] Кроме того, соответствующий цифровой документ, представляющий веб-страницу 302, может содержать исполняемый исходный код, например, созданный на языке гипертекстовой разметки (HTML, HyperText Markup Language). Таким образом, после получения цифрового документа возможно инициирование исполнения браузерным приложением 215 электронного устройства 210 исполняемого исходного кода, связанного с веб-страницей 302, и формирование таким образом ее визуального представления для отображения пользователю 230. Следует отметить, что исполняемый исходный код веб-страницы 302 может содержать части, созданные на других языках программирования. Например, исполняемый исходный код, в числе прочего, может содержать части, созданные на языке программирования JavaScript, позволяющем динамически изменять некоторые элементы веб-страницы 302, определенной на языке HTML, как более подробно описано ниже.

[066] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии веб-ресурс 255 может обеспечивать доступ к первому видеоконтенту 252, такому как видеоклип, видеофильм, потоковое видео и т.д., а веб-страница 302 может отображать его в режиме онлайн.

[067] На фиг. 3 представлен графический интерфейс пользователя браузерного приложения 215, обеспечивающий визуальное представление веб-страницы 302, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии. Как показано на фиг. 3, веб-страница 302 может, например, содержать область 304 видеодисплея (такую как видеокадр) для отображения различного видеоконтента, такого как первый видеоконтент 252.

[068] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для активации отображения первого видеоконтента 252 в области видеодисплея веб-страницы 302 исполняемый исходный код, связанный с веб-страницей 302, может содержать особую выделенную часть, отвечающую за представление видеоконтента. Например, в HTML-коде такая часть представляет собой видеотег, содержащий атрибуты, задающие соответствующие параметры отображения видеоконтента, такого как первый видеоконтент 252.

[069] Например, первый атрибут (такой как атрибут src) может задавать первый источник видеоконтента для подлежащего отображению первого видеоконтента 252, в частности, в виде URL-адреса, указывающего путь к нему в сети 240 связи.

[070] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый видеоконтент 252 может быть размещен на том же сервере, что и веб-ресурс 255, т.е. на сервере 250. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии первый источник видеоконтента может представлять собой сторонний сервер и/или базу данных (не показано на фиг. 2), соединенную с сетью 240 связи и способную предоставлять видеоконтент для веб-ресурса 255.

[071] Второй атрибут видеотега может задавать режим воспроизведения первого видеоконтента 252. Например, второй атрибут, такой как атрибут autoplay в HTML-коде, может содержать значение, указывающее на команду, инициирующую автоматическое воспроизведение первого видеоконтента 252 при загрузке веб-страницы 302 в браузерном приложении 215. Третий атрибут, такой как play (воспроизведение), pause (пауза), next (следующий), previous (предыдущий) и т.п., может задавать наличие элементов управления при отображении первого видеоконтента 252 в области 304 видеодисплея. Например, видеотег из исполняемого исходного кода, связанного с веб-страницей 302 и разработанного на языке HTML, может выглядеть следующим образом:

[072] Следует отметить, что без выхода за границы настоящей технологии также возможны и другие атрибуты, задающие другие параметры отображения первого видеоконтента 252, включая, например, размеры области 304 видеодисплея или указывающие на отображение изображения для предварительного просмотра до отображения первого видеоконтента 252.

[073] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для инициирования отображения первого видеоконтента 252, указанного в видеотеге исполняемого исходного кода веб-страницы 302, браузерное приложение 215 может содержать видеоплеер, такой как первый видеоплеер 502, представленный на фиг. 5 (или осуществлять доступ к нему иным образом). В контексте настоящего описания первый видеоплеер 502 представляет собой программное приложение, способное отображать цифровой медиаконтент, например, аудио- и видеоматериалы в различных форматах, таких как MP3, MP4, WebM, Ogg и т.д. Кроме того, поскольку видеоконтент, пригодный к передаче через сеть 240 связи, такой как первый видеоконтент 252, может быть закодированным, например, сжатым для более эффективной его передачи, то первый видеоплеер 502 также может декодировать полученные первые закодированные видеоданные, связанные с первым видеоконтентом 252, и восстанавливать таким образом его первоначальное качество для отображения пользователю 230.

[074] На реализацию первого видеоплеера 502, связанного с браузерным приложением 215, не накладывается каких-либо ограничений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый видеоплеер 502 может быть встроенным в браузерное приложение 215, например, представлять собой расширение программы браузерного приложения 215 с описанными выше функциональными возможностями. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии первый видеоплеер 502 может быть предоставлен соответствующей инфраструктурой обработки мультимедиа операционной системы, выполняемой в электронном устройстве 210, и встроен в браузерное приложение 215 с использованием соответствующих программных библиотек. Например, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, где операционная система электронного устройства 210 представляет собой операционную систему Windows™, первый видеоплеер 502 может обеспечиваться инфраструктурой обработки мультимедиа Windows Media Foundation™. В другом примере, где операционная система электронного устройства 210 представляет собой операционную систему iOS™, первый видеоплеер 502 может обеспечиваться инфраструктурой обработки мультимедиа AVFoundations™. В еще одном примере, где операционная система электронного устройства 210 представляет собой операционную систему Android™, первый видеоплеер 502 может обеспечиваться инфраструктурой обработки мультимедиа MediaPlayer™.

[075] Кроме того, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, браузерное приложение 215 может обмениваться данными с первым видеоплеером 502 с использованием API. В общем случае API (или набор API, таких как API 506, представленный на фиг. 5) представляет собой программный посредник, обеспечивающий связь между двумя приложениями, такими как браузерное приложение 215 и первый видеоплеер 502. Например, как описано ниже, с использованием API 506 первого видеоплеера 502 браузерное приложение 215 может устанавливать соединение между видеотегом, связанным с веб-страницей 302, и первым видеоплеером 502, чтобы инициировать получение первым видеоплеером 502 закодированных данных, связанных с первым видеоконтентом 252, и последующее их декодирование для отображения видеоконтента. Кроме того, с использованием API 506 браузерное приложение 215 может управлять отображением первого видеоконтента 252, например, путем приостановки и возобновления его воспроизведения в конкретные моменты времени.

[076] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии API 506, используемый для соединения первого видеоплеера 502 с браузерным приложением 215, может быть предоставлен стороной, предоставляющей первый видеоплеер 506. Например, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, где первый видеоплеер 502 предоставлен соответствующей инфраструктурой обработки мультимедиа операционной системы, выполняемой в электронном устройстве 210, операционная система также может обеспечивать API 506, который здесь может называться стандартным API. В другом примере, где первый видеоплеер 502 встроен в браузерное приложение 215, API 506 может быть предоставлен в виде части первого видеоплеера 502.

[077] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии API 506 может представлять собой единый API, используемый браузерным приложением 215 для инициирования отображения видеоконтента с помощью первого видеоплеера 502. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии браузерное приложение 215 может использовать различные API для отображения различного видеоконтента, например, полученного из различных источников.

[078] некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии оператор сервера 250, на котором размещен веб-ресурс 255, может разрешать интеграцию дополнительного видеоконтента в видеоконтент, к которому сервер 250 предоставляет доступ, такой как первый видеоконтент 252. С этой целью, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, с сетью 240 связи также связан второй сервер 260, обеспечивающий доступ ко второму видеоконтенту 262, подлежащему отображению в области 304 видеодисплея на веб-странице 302 путем прерывания отображения первого видеоконтента 252. В общем случае второй сервер 260 может предоставлять доступ к различному видеоконтенту, на длительность, характер и формат которого не накладывается каких-либо ограничений. Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии второй сервер 260 может быть реализован по существу подобно серверу 250 и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии второй видеоконтент 262 может быть предоставлен сервером, предоставляющим первый видеоконтент 252, т.е. сервером 250, без выхода за границы настоящей технологии.

[079] Кроме того, для хранения видеоконтента второй сервер 260 может быть связан с базой 264 данных видеоконтента. Несмотря на то, что представленная на фиг. 2 база 264 данных видеоконтента связана со вторым сервером 260 с использованием прямой линии связи, в альтернативных вариантах осуществления изобретения база 264 данных видеоконтента может быть связана со вторым сервером 260 через сеть 240 связи. Кроме того, несмотря на то, что в представленных на фиг. 2 вариантах осуществления изобретения база 264 данных видеоконтента реализована в виде одного элемента, также возможна ее распределенная реализация без выхода за границы настоящей технологии.

[080] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии веб-страница 302 может отображаться в режиме онлайн с первым видеоконтентом 252 и со вторым видеоконтентом 262 в области 304 видеодисплея. Например, в некоторый момент времени отображение первого видеоконтента 252 может быть приостановлено и может быть инициировано выполняемое браузерным приложением 215 переключение с отображения первого видеоконтента 252 на отображение второго видеоконтента 262. Иными словами, процессор 110 может инициировать добавление браузерным приложением 215 отображения второго видеоконтента 262 в этот момент времени отображения первого видеоконтента 252 путем его приостановки, как описано ниже.

[081] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, второй видеоконтент 262 может представлять собой коммерческий видеоконтент, например, предназначенный для рекламы некоторых объектов, включая различные товары и/или услуги. Таким образом, второй видеоконтент 262 мог быть отправлен второму серверу 260 соответствующим рекламодателем для добавления в другой видеоконтент. Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, чтобы выбирать второй видеоконтент 262 из базы 264 данных видеоконтента для добавления в первый видеоконтент 252 и определять другие параметры его отображения в первом видеоконтенте 252, такие как момент времени его отображения во время отображения видеоконтента 252, второй сервер 260 может выполнять приложение 265 видеоменеджера.

[082] В общем случае в данном контексте приложение 265 видеоменеджера представляет собой программное приложение, способное определять, какой дополнительный видеоконтент, предоставленный вторым сервером 260, например, второй видеоконтент 262, может отображаться при прерывании видеоконтента, доступного с веб-ресурса 255, такого как первый видеоконтент 252. В качестве не имеющих ограничительного характера примеров приложения 265 видеоменеджера можно привести приложение видеоменеджера Google Ads™, приложение видеоменеджера Yandex.Direct™ и т.п.

[083] На способ выбора приложением 265 видеоменеджера второго видеоконтента 262 из базы 264 данных видеоконтента для отображения при прерывании первого видеоконтента 252 не накладывается каких-либо ограничений. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 265 видеоменеджера может выбирать второй видеоконтент 262 в качестве связанного с первым видеоконтентом 252, в частности, на основе элементов, для рекламы которых предназначен второй видеоконтент 262. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 265 видеоменеджера может быть реализовано так, чтобы второй видеоконтент 262 был нацелен на аудиторию, заранее определенную как заинтересованную в просмотре первого видеоконтента 252 на основе конкретных параметров, связанных с пользователями или их электронными устройствами. В качестве примера таких параметров можно привести зависящие от пользователя параметры, включая, в числе прочего, социально-экономические параметры пользователей, такие как их возраст, вид деятельности, средний доход, история просмотра и поиска и т.п. Тем не менее, не зависящие от пользователя параметры, например, такие как текущее географическое местоположение электронного устройства 210, установленная в нем операционная система или его производитель, также могут учитываться при добавлении второго видеоконтента 262 в первый видеоконтент 252 для сочетания их отображения.

[084] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 265 видеоменеджера может выбирать второй видеоконтент 262, подлежащий воспроизведению в сочетании с первым видеоконтентом 252, на основе конкретных целей, преследуемых соответствующим рекламодателем, связанным со вторым видеоконтентом 262. В качестве примеров таких целей можно привести максимизацию трафика веб-ресурса соответствующего рекламодателя, повышение общественной осведомленности о рекламируемых объектах, максимизация объема продаж рекламируемых объектов и т.п.

[085] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, выбрав второй видеоконтент 262, подлежащий добавлению в первый видеоконтент 252, приложение 265 видеоменеджера может инициировать прерывание браузерным приложением 215 отображения первого видеоконтента 252, например, путем перевода его в состояние паузы, для отображения второго видеоконтента 262. В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии браузерное приложение 215 может приостанавливать отображение первого видеоконтента 252 в ответ на инициирующее событие. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии инициирующее событие может включать в себя получение в некоторый момент времени воспроизведения первого видеоконтента 252 от приложения 265 видеоменеджера команд для браузерного приложения 215 на загрузку и отображение второго видеоконтента 262. В этих вариантах осуществления изобретения момент времени может быть заранее задан, например, может соответствовать 25% от общей продолжительности первого видеоконтента 252 или может быть связан с текущей частью первого видеоконтента 252. Тем не менее, в других не имеющих ограничительного характера вариантах осуществления настоящей технологии момент времени может быть определен оператором второго сервера 260.

[086] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 265 видеоменеджера может заранее выбирать второй видеоконтент 262 для его отображения при прерывании первого видеоконтента 252 в заданный момент времени на различных электронных устройствах (не показаны), запрашивающих доступ к веб-странице 302 веб-ресурса 255. С этой целью приложение 265 видеоменеджера может передавать команды на загрузку и отображение второго видеоконтента 262 серверу 250 до отображения первого видеоконтента 252 на электронном устройстве 210. Таким образом, сервер 250 может внедрять команды от приложения 265 видеоменеджера в первый видеоконтент 252 и инициировать их автоматическое выполнение при отображении первого видеоконтента 252 на электронном устройстве 210.

[087] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии инициирующее событие, инициирующее загрузку и отображение браузерным приложением 215 второго видеоконтента 262, может включать в себя запуск отображения первого видеоконтента 252 после приостановки, возобновление пользователем 230 отображения первого видеоконтента 252, обновление веб-страницы 302 в браузерном приложении 215 и т.п., но не ограничиваясь этим.

[088] На фиг. 4 представлена первая временная диаграмма 400 инициирования браузерным приложением 215 отображения первого видеоконтента 252 и второго видеоконтента 262 в области 304 видеодисплея веб-страницы 302 с использованием первого видеоплеера 502 согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[089] Как описано выше, для загрузки веб-страницы 302 браузерное приложение 215 может получать соответствующий цифровой документ, представляющий веб-страницу 302, и исполнять содержащийся на ней исполняемый исходный код. Таким образом, обнаружив в исполняемом исходном коде видеотег, указывающий на первый источник видеоконтента, связанный с первым видеоконтентом 252, браузерное приложение 215 может инициировать инициализацию первого видеоконтента 252 в течение периода 402 инициализации. Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, в течение периода 402 инициализации браузерное приложение 215 может (1) выделять, например, на твердотельном накопителе 120 и/или в ОЗУ 130 электронного устройства 210, область памяти браузера для буферизации первых закодированных видеоданных первого видеоконтента 252, (2) инициировать загрузку первых закодированных видеоданных из первого источника видеоконтента, такого как сервер 250, в область памяти браузера, (3) формировать и инициировать отображение на веб-странице 302 области 304 видеодисплея, содержащей элементы интерфейса, такие как элементы управления, как описано выше, (4) с использованием API 506 устанавливать соединение между видеотегом и первым видеоплеером 502 для подачи ему первых закодированных видеоданных для их декодирования, (5) получать от первого видеоплеера 502 декодированные таким образом видеоданные, указывающие на часть 404 первого видеоконтента 252, и (6) инициировать отображение части 404 первого видеоконтента 252 в области 304 видеодисплея.

[090] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, в ответ на инициирующее событие, как описано выше, браузерное приложение 215 может (1) прерывать отображение первого видеоконтента 252 путем его приостановки, (2) выполнять парсинг исполняемого исходного кода, связанного с веб-страницей 302, для обнаружения соответствующего видеотега, (3) инициировать изменение видеотега для назначения его атрибуту src адреса источника второго видеоконтента 262, такого как URL-адрес соответствующего каталога на втором сервере 260, и (4) инициировать загрузку со второго сервера 260 вторых закодированных видеоданных, связанных со вторым видеоконтентом 262, а затем инициировать их отображение с использованием первого видеоплеера 502 в области 304 видеодисплея, как описано выше применительно к первому видеоконтенту 252. Предполагается, что браузерное приложение 215 может инициировать отображение второго видеоконтента 262 по истечении соответствующего периода инициализации (указание на который опущено на фиг. 4 для упрощения чертежа), подобного периоду 402 инициализации, связанному с первым видеоконтентом 252.

[091] Кроме того, как описано выше, браузерное приложение 215 может инициировать изменение видеотега, например, путем использования соответствующего элемента JavaScript, такого как HTMLVideoElement, способного изменять атрибуты видеотега, связанного с веб-страницей 302. Например, как описано выше, элемент HTMLVideoElement может изменять атрибут src исполняемого исходного кода, связанного с веб-страницей 302, для указания источника видеоконтента, подлежащего отображению на ней.

[092] После инициирования браузерным приложением 215 такого изменения видеотега обработка первого видеоконтента 252 для дальнейшего его отображения прерывается. В частности, после изменения значения атрибута src браузерное приложение 215 может прерывать соединение с первым видеоплеером 502 и очищать область памяти браузера, в которой хранятся уже загруженные первые закодированные видеоданные для отображения другой части 406 первого видеоконтента 252.

[093] Соответственно, для возобновления воспроизведения первого видеоконтента 252, такого как другая его часть 406, после завершения отображения второго видеоконтента 262 браузерное приложение 215 может снова выполнять инициализацию первого видеоконтента 252, начиная с момента времени, когда его отображение было приостановлено для воспроизведения второго видеоконтента 262, т.е. в конце части 404 (см. фиг. 4). Предполагается, что для этого может потребоваться другой период 403 инициализации, как описано выше, до того, как другая часть 406 первого видеоконтента 252 будет готова для воспроизведения.

[094] Таким образом, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, другой период 403 инициализации может восприниматься пользователем 230 как заметная пауза, вызванная переключением с отображения второго видеоконтента 262 обратно на первый видеоконтент 252, что может негативно повлиять на общее восприятие пользователем 230, просматривающим первый видеоконтент 252 и взаимодействующим с веб-ресурсом 255.

[095] Поэтому разработчики настоящей технологии разработали способы и системы, обеспечивающие безразрывное переключение между отображением второго видеоконтента 262 и отображением первого видеоконтента 252. В частности, разработчики установили, что пауза, обусловленная переключением видеоконтента, может быть минимизирована (или даже уменьшена до нуля), если во время отображения второго видеоконтента 262 браузерное приложение 215 продолжает загрузку первых закодированных видеоданных первого видеоконтента 252 и не прерывает соединение с первым видеоплеером 502 для последующего его отображения.

[096] иже со ссылкой на фиг. 5 и 6 описана возможная реализация способов, обеспечивающих безразрывное переключение воспроизведения между вторым видеоконтентом 262 и первым видеоконтентом 252, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.

Сеть связи

[097] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи представляет собой сеть Интернет. В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи может быть реализована в виде любой подходящей локальной сети (LAN, Local Area Network), глобальной сети (WAN, Wide Area Network), частной сети связи и т.п. Очевидно, что варианты осуществления сети связи приведены лишь в иллюстративных целях. Реализация соответствующих линий связи (отдельно не обозначены) между электронным устройством 210, сервером 250 и вторым сервером 260 с одной стороны и сетью 240 связи с другой стороны зависит, среди прочего, от реализации электронного устройства 210, сервера 250 и второго сервера 260. Лишь в качестве не имеющего ограничительного характера примера, в тех вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано в виде устройства беспроводной связи, такого как смартфон, линия связи может быть реализована в виде беспроводной линии связи. Примеры беспроводных линий связи включают в себя канал сети связи 3G, канал сети связи 4G и т.д. В сети 240 связи также может использоваться беспроводное соединение с сервером 250 и с каждым устройством из множества других электронных устройств.

Безразрывное переключение между воспроизведением различного видеоконтента

[098] На фиг. 5 представлена схема процесса отображения браузерным приложением 215 первого видеоконтента 252 и второго видеоконтента 262 на веб-странице 302 согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[099] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, для отображения первого видеоконтента 252 и второго видеоконтента 262 браузерное приложение 215 может содержать два отдельных видеоплеера (или иметь доступ к ним иным образом). Таким образом, в этих вариантах осуществления изобретения браузерное приложение 215 может дополнительно содержать второй видеоплеер 504, предназначенный для отображения второго видеоконтента 262 (или иметь доступ к нему иным образом). Предполагается, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии второй видеоплеер 504 может быть реализован подобно первому видеоплееру 502, как описано выше со ссылкой на фиг. 2 и 3. Например, первый видеоплеер 502 и второй видеоплеер 504 могут представлять собой различные экземпляры одного видеоплеера.

[0100] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии первый видеоплеер 502 и второй видеоплеер 504 могут быть реализованы в виде экземпляров различных видеоплееров, например, предоставленных различными инфраструктурами обработки мультимедиа, как описано выше, без выхода за границы настоящей технологии.

[0101] Таким образом, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, имея доступ к веб-ресурсу 255 и получив соответствующий цифровой документ, представляющий веб-страницу 302, электронное устройство 210 может инициировать выполнение браузерным приложением 215 исполняемого исходного кода, связанного с веб-страницей 302, формируя таким образом ее визуальное представление и инициируя отображение первым видеоплеером 502 первого видеоконтента 252 в области 304 видеодисплея, как описано выше.

[0102] Кроме того, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, браузерное приложение 215 в ответ на получение инициирующего события может (1) приостанавливать воспроизведение с использованием первого видеоплеера 502 первого видеоконтента 252, (2) выполнять парсинг исполняемого исходного кода, связанного с веб-страницей 302, для обнаружения на ней видеотега, (3) вызывать элемент HTMLVideoElement для инициирования изменения видеотега путем назначения его атрибуту src URL-адреса соответствующего каталога на втором сервере 260, предоставляющем доступ ко второму видеоконтенту 262, (4) с использованием API 506 устанавливать отдельное соединение между видеотегом и вторым видеоплеером 504 и (5) инициировать отображение второго видеоконтента 262 вторым видеоплеером 504.

[0103] Соответственно, путем отображения второго видеоконтента 262 вторым видеоплеером 504 с использованием отдельного соединения браузерное приложение 215 может поддерживать соединение с первым видеоплеером 502, благодаря чему браузерное приложение 215 может продолжать инициализацию первого видеоконтента 252, т.е. загружать в область памяти браузера первые закодированные видеоданные для их последующего декодирования и отображения, в то время как второй видеоконтент 262 отображается вторым видеоплеером 504. Кроме того, при этом возможно возобновление отображения первого видеоконтента 252 после завершения отображения второго видеоконтента 262 без заметной пользователю 230 паузы.

[0104] В частности, на фиг. 6 представлена вторая временная диаграмма 600 инициирования браузерным приложением 215 отображения первого видеоконтента 252 и второго видеоконтента 262 в области 304 видеодисплея с использованием первого видеоплеера 502 и второго видеоплеера 504, соответственно, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.

[0105] Предполагается, что после периода 402 инициализации и отображения части 404 первого видеоконтента 252, как описано выше, браузерное приложение 215 может инициализировать и инициировать отображение второго видеоконтента 262. Тем не менее, в отличие от описанного выше со ссылкой на фиг. 4 случая, когда используется только первый видеоплеер 502, благодаря использованию второго видеоплеера 504 браузерное приложение 215 может инициировать отображение второго видеоконтента 262 без потери соединения с первым видеоплеером 502, что позволяет продолжать буферизацию в области памяти браузера первых закодированных видеоданных, связанных с первым видеоконтентом 252, в течение промежуточного периода 602 буферизации, соответствующего продолжительности отображения второго видеоконтента 262. В результате после завершения воспроизведения второго видеоконтента 262 браузерное приложение 215 может возобновлять отображение первого видеоконтента 252, т.е. начинать отображение его части 406 без задержки, связанной с другим периодом 403 инициализации, как описано выше.

[0106] Например, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, реализация браузерным приложением 215 такого безразрывного переключения между первым видеоконтентом 252 и вторым видеоконтентом 262 с использованием двух видеоплееров может быть проиллюстрирована следующей конфигурацией элемента HTMLVideoElement из исполняемого исходного кода, связанного с веб-страницей 302:

var video = document.querySelector("video");

video.src = ‘первый источник видеоконтента’;

video.play();

video.DetachPlayer();

video.src = ‘второй источник видеоконтента’;

video.play();

video.ReattachPlayer();

video.play();

[0107] Согласно представленной выше части исполняемого исходного кода, в ответ на инициирующее событие браузерное приложение 215 с использованием функции video.DetachPlayer() может приостанавливать отображение первого видеоконтента 252 и отсоединять первый видеоплеер 502 от видеотега, связанного с веб-страницей 302 так, чтобы начать отображение второго видеоконтента 262 вторым видеоплеером 504, в то время как буферизация в области памяти браузера первых закодированных видеоданных, связанных с первым видеоконтентом 252, продолжается. После завершения воспроизведения второго видеоконтента 262 браузерное приложение 215 с использованием функции video.ReattachPlayer() может с помощью API 506 повторно подсоединять первый видеоплеер 502 к видеотегу для декодирования буферизованных первых закодированных видеоданных и возобновления таким образом отображения первого видеоконтента 252.

[0108] Соответственно, с использованием выделенных видеоплееров браузерное приложение 215 электронного устройства 210 может минимизировать или даже устранять задержки, обусловленные переключением между отображением второго видеоконтента 262 и отображением первого видеоконтента 252, что позволяет улучшать пользовательское восприятие пользователя 230, просматривающего видеоконтент в режиме онлайн.

Способ

[0109] редставленные выше архитектура и примеры позволяют выполнять способ переключения воспроизведения между двумя различными вариантами видеоконтента, такими как первый видеоконтент 252 и второй видеоконтент 262, как описано выше. На фиг. 7 представлена блок-схема способа 700 согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Способ 700 может выполняться процессором 110 электронного устройства 210. Как описано выше, электронное устройство 210 способно выполнять браузерное приложение 215, с использованием которого процессор 110 может выполнять способ 700.

Шаг 702: получение цифрового документа, представляющего веб-страницу и содержащего видеотег, указывающий на первый источник видеоконтента.

[0110] Способ 700 начинается с шага 702, на котором процессор 110 способен инициировать получение браузерным приложением 215 соответствующего цифрового документа, представляющего веб-страницу, такую как веб-страница 302 веб-ресурса 255, представленную на фиг. 3. Соответствующий цифровой документ может содержать исполняемый исходный код (например, разработанный на языке HTML, как описано выше), при исполнении которого браузерное приложение 215 может формировать визуальное представление веб-страницы 302.

[0111] Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии возможно инициирование получения браузерным приложением 215 соответствующего цифрового документа с сервера 250, содержащего веб-ресурс 255, в ответ на отправку пользователем 230 соответствующего URL-адреса веб-страницы 302 в адресной строке (отдельно не обозначена) браузерного приложения 215.

[0112] Кроме того, веб-ресурс 255 может содержать конкретный видеоконтент, такой как первый видеоконтент 252, для его отображения в области 304 видеодисплея веб-страницы 302. В связи с этим, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, исполняемый исходный код, связанный с веб-страницей 302, может содержать видеотег, указывающий с помощью атрибута src на веб-ресурс 255 как на первый источник видеоконтента для первого видеоконтента 252. Например, видеотег из исполняемого исходного кода, связанного с веб-страницей 302 и разработанного на языке HTML, может выглядеть следующим образом:

[0113] Затем способ 700 продолжается на шаге 704.

Шаг 704: установление первого соединения между первым видеоплеером и видеотегом с использованием API и воспроизведение первым видеоплеером первого видеоконтента из первого источника видеоконтента.

[0114] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, на шаге 704 процессор 110 может инициировать отображение браузерным приложением 215 первого видеоконтента 252 в области 304 видеодисплея веб-страницы 302. Например, если конфигурация видеотега веб-страницы соответствует представленному выше примеру, то возможно инициирование автоматического воспроизведения браузерным приложением 215 первого видеоконтента 252 после загрузки веб-страницы 302. В другом примере возможно инициирование воспроизведения браузерным приложением 215 первого видеоконтента 252 в ответ на пользовательский ввод от пользователя 230, такой как активация соответствующего элемента управления (Play (воспроизведение) и т.п. (отдельно не обозначен на фиг. 3) в области 304 видеодисплея веб-страницы 302.

[0115] Кроме того, для отображения первого видеоконтента 252 браузерное приложение 215 может устанавливать соединение с видеоплеером, таким как первый видеоплеер 502, как описано выше со ссылкой на фиг. 3 и 5. С этой целью браузерное приложение 215 может обращаться к API, такому как API 506, описанный выше.

[0116] Как отмечено выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии API 506 может быть предоставлен объектом, предоставляющим первый видеоплеер 502. Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии API 506 может представлять собой единый API, используемый браузерным приложением 215 для инициирования отображения видеоконтента с помощью первого видеоплеера 502. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии браузерное приложение 215 может использовать различные API для отображения различного видеоконтента, например, полученного из различных источников.

[0117] В итоге, как подробно описано выше со ссылкой на фиг. 4 и 6, обнаружив в соответствующем цифровом документе, связанном с веб-страницей 302, видеотег, указывающий на первый источник видеоконтента, браузерное приложение 215 может инициировать инициализацию первого видеоконтента 252 в течение периода 402 инициализации. Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, в течение периода 402 инициализации браузерное приложение 215 может (1) выделять, например, на твердотельном накопителе 120 и/или в ОЗУ 130 электронного устройства 210 область памяти браузера для буферизации первых закодированных видеоданных первого видеоконтента 252, (2) инициировать загрузку первых закодированных видеоданных в область памяти браузера из первого источника видеоконтента, т.е. с сервера 250, (3) формировать и инициировать отображение на веб-странице 302 области 304 видеодисплея, содержащей элементы интерфейса, (4) с использованием API 506 устанавливать соединение между видеотегом и первым видеоплеером 502 для подачи ему первых закодированных видеоданных для их декодирования, (5) получать от первого видеоплеера 502 декодированные таким образом видеоданные, указывающие на часть 404 первого видеоконтента 252, и (6) инициировать отображение части 404 первого видеоконтента 252 в области 304 видеодисплея.

[0118] Затем способ 700 переходит к шагу 706.

Шаг 706: приостановка воспроизведения первым видеоплеером первого видеоконтента в текущий момент времени первого видеоконтента после инициирующего события, установление второго соединения между вторым видеоплеером и видеотегом с использованием API, при этом второй видеоплеер отличается от первого видеоплеера, и воспроизведение вторым видеоплеером второго видеоконтента.

[0119] На шаге 706 процессор 110 может получать от второго сервера 260 указание на инициирующее событие и в ответ инициировать отображение второго видеоконтента 262, предоставленного вторым сервером 260, в области 304 видеодисплея 304 веб-страницы 302, как описано выше.

[0120] Как отмечено выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии инициирующее событие может, в числе прочего, включать в себя запуск отображения первого видеоконтента 252, возобновление пользователем 230 после приостановки отображения первого видеоконтента 252, обновление веб-страницы 302 в браузерном приложении 215 и т.п.

[0121] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, как описано со ссылкой на фиг. 6, процессор 110 может получать от приложения 265 видеоменеджера, выполняемого на втором сервере 260, команды, инициирующие выполнение браузерным приложением 215 следующих действий: (1) приостановка отображения с использованием первого видеоплеера 502 первого видеоконтента 252, например, после воспроизведения его части 404; (2) парсинг исполняемого исходного кода, связанного с веб-страницей 302, для обнаружения на ней видеотега; (3) изменение видеотега для указания на второй источник видеоконтента, связанный со вторым видеоконтентом 262, и отсоединение таким образом первого видеоплеера 502 от видеотега; (4) установление с использованием API 506 отдельного соединения между видеотегом и вторым видеоплеером 504; и (5) инициирование отображения второго видеоконтента 262 вторым видеоплеером 504.

[0122] Второй видеоплеер 504 может отличаться от первого видеоплеера 502, тем не менее, они могут быть реализованы схожим образом. Например, первый видеоплеер 502 и второй видеоплеер 504 могут представлять собой различные экземпляры одного видеоплеера. В другом примере первый видеоплеер 502 и второй видеоплеер 504 могут быть реализованы в виде экземпляров различных видеоплееров, например, предоставленных различными инфраструктурами обработки мультимедиа, как описано выше, без выхода за границы настоящей технологии.

[0123] Как описано выше, процессор 110 может инициировать изменение видеотега путем вызова элемента JavaScript HTMLVideoElement из исполняемого исходного кода, связанного с веб-страницей 302. В частности, с использованием элемента HTMLVideoElement процессор 110 может назначать атрибуту src видеотега URL-адрес соответствующего каталога на втором сервере 260, предоставляющем доступ ко второму видеоконтенту 262. При этом браузерное приложение может отсоединять первый видеоплеер 502 от видеотега и подсоединять к нему второй видеоплеер 504.

[0124] ким образом, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, браузерное приложение 215 может устанавливать отдельные соединения между видеотегом с одной стороны и первым видеоплеером 502 и вторым видеоплеером 504 с другой стороны для отображения первого видеоконтента 252 и второго видеоконтента 262, соответственно. В результате, как описано выше со ссылкой на фиг. 6, браузерное приложение 215 может инициировать отображение второго видеоконтента 262 с использованием второго видеоплеера 504 в течение промежуточного периода 602 буферизации и в то же время продолжать буферизацию первых закодированных видеоданных, связанных с первым видеоконтентом 252, в области памяти браузера.

[0125] атем способ 700 переходит к шагу 708.

Шаг 708: повторное установление первого соединения между первым видеоплеером и видеотегом с использованием API и возобновление воспроизведения первого видеоконтента первым видеоплеером с текущего момента времени первого видеоконтента после завершения воспроизведения второго видеоконтента.

[0126] а шаге 708 после завершения отображения второго видеоконтента 262 процессор 110 может инициировать повторное установление браузерным приложением 215 соединения между первым видеоплеером 502 и видеотегом для возобновления отображения в области 304 видеодисплея веб-страницы 302 первого видеоконтента 252, т.е. для начала отображения другой его части 406, буферизованной во время отображения второго видеоконтента 262 в течение промежуточного периода 602 буферизации, как описано выше со ссылкой на фиг. 6.

[0127] Таким образом, в отличие от традиционного подхода к переключению видеоконтента, описанного выше со ссылкой на фиг. 4, способ 700 позволяет возобновлять отображение первого видеоконтента 252 без другого периода 403 инициализации. В частности, благодаря использованию отдельных видеоплееров для отображения первого видеоконтента 252 и второго видеоконтента 262, браузерное приложение 215 может продолжать буферизацию первых закодированных видеоданных, связанных с первым видеоконтентом 252, из первого источника видеоконтента во время отображения второго видеоконтента 262 вторым видеоплеером 504. Это позволяет минимизировать или даже устранять паузы, обусловленные переключением между отображением второго видеоконтента 262 и первого видеоконтента 252, в результате чего восприятие пользователем 230, просматривающим видеоконтент в интерактивном режиме, улучшается.

[0128] На этом выполнение способа 700 завершается.

[0129] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.

[0130] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без выхода за границы настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.

Похожие патенты RU2824370C1

название год авторы номер документа
СПОСОБ И СИСТЕМА ДЛЯ УПРАВЛЕНИЯ ОТОБРАЖЕНИЕМ ПОЛЯ ВЕБ-СТРАНИЦЫ 2024
  • Лисицын Сергей Олегович
  • Смирнова Ольга Юрьевна
  • Иванов Роман Кириллович
RU2823451C1
Способ и система для управления поля веб-страницы 2022
  • Лисицын Сергей Олегович
  • Смирнова Ольга Юрьевна
  • Иванов Роман Кириллович
RU2816297C2
СПОСОБ И СИСТЕМА УПРАВЛЕНИЯ ОТОБРАЖЕНИЕМ ВЕБ-СТРАНИЦЫ 2022
  • Комиссаров Александр Владимирович
  • Байбик Сергей Вячеславович
RU2813299C2
Способ и сервер для представления пользователю интересующих точек на карте 2020
  • Корнев Дмитрий Васильевич
  • Горишний Юрий Павлович
  • Синицин Филипп Геннадьевич
RU2793286C2
Способ и система для формирования карточки объекта 2018
  • Акулов Ярослав Викторович
RU2739554C1
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ СЛЕДУЮЩЕГО СОСТОЯНИЯ БЛОКА РЕКОМЕНДАЦИИ ДЛЯ ОТОБРАЖЕНИЯ В ВЕБ-БРАУЗЕРЕ 2018
  • Борисов Максим Олегович
  • Голиков Алексей Владимирович
RU2746848C1
Способ и система для селективного представления блока рекомендаций в браузерном приложении 2018
  • Борисов Максим Олегович
  • Голиков Алексей Владимирович
RU2739520C1
СПОСОБ И СИСТЕМА ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ ПРОГНОЗИРОВАНАНИЮ ОЦЕНКИ ВИДИМОСТИ 2022
  • Стебелев Максим Ильич
  • Ворожцов Артем Викторович
  • Калинин Павел Владимирович
RU2814079C1
Способ и система для формирования рекомендаций цифрового контента 2018
  • Ламбурт Виктор Григорьевич
  • Ушанов Дмитрий Валерьевич
  • Иванычев Сергей Дмитриевич
RU2731335C2
СПОСОБ И СИСТЕМА ДЛЯ КЛАСТЕРИЗАЦИИ ДОКУМЕНТОВ 2019
  • Шаграев Алексей Галимович
RU2757592C1

Иллюстрации к изобретению RU 2 824 370 C1

Реферат патента 2024 года СПОСОБ И СИСТЕМА ДЛЯ ОТОБРАЖЕНИЯ ВИДЕОКОНТЕНТА

Изобретение относится к способу переключения между различными видами видеоконтента, отображаемого в режиме онлайн на веб-странице. Техническим результатом является улучшение восприятия конечными пользователями при просмотре в режиме онлайн видеоматериалов, содержащих, например, коммерческие вставки. Предложен способ и электронное устройство для переключения воспроизведения между первым видеоконтентом и вторым видеоконтентом на веб-странице браузерного приложения электронного устройства. Способ включает: получение цифрового документа, представляющего веб-страницу, содержащую видеотег, указывающий на первый источник; установление первого соединения между первым видеоплеером и видеотегом; воспроизведение первым видеоплеером первого видеоконтента из первого источника; в ответ на инициирующее событие - приостановку воспроизведения первого видеоконтента, установление второго соединения между вторым видеоплеером и видеотегом и воспроизведение вторым видеоплеером второго видеоконтента; в ответ на завершение воспроизведения второго видеоконтента - повторное установление первого соединения и возобновление воспроизведения первого видеоконтента первым видеоплеером. 2 н. и 15 з.п. ф-лы, 7 ил.

Формула изобретения RU 2 824 370 C1

1. Способ переключения воспроизведения между первым видеоконтентом и вторым видеоконтентом, реализуемый устройством воспроизведения, выполняющим браузерное приложение, и включающий в себя:

- получение цифрового документа, представляющего веб-страницу и содержащего видеотег, указывающий на первый источник видеоконтента;

- установление первого соединения между первым видеоплеером и видеотегом с использованием интерфейса программирования приложений (API);

- воспроизведение первым видеоплеером первого видеоконтента из первого источника видеоконтента;

- в ответ на инициирующее событие, соответствующее получению браузерным приложением команды, встроенной в первый видеоконтент, на инициирование воспроизведения второго видеоконтента:

- приостановку воспроизведения первым видеоплеером первого видеоконтента в текущий момент времени первого видеоконтента;

- установление второго соединения между вторым видеоплеером и видеотегом с использованием API, при этом второй видеоплеер отличается от первого видеоплеера; и

- воспроизведение вторым видеоплеером второго видеоконтента;

- в ответ на завершение воспроизведения второго видеоконтента:

- повторное установление первого соединения между первым видеоплеером и видеотегом с использованием API; и

- возобновление воспроизведения первого видеоконтента первым видеоплеером с текущего момента времени первого видеоконтента.

2. Способ по п. 1, отличающийся тем, что возобновление выполняется без заметной пользователю паузы.

3. Способ по п. 1, отличающийся тем, что он включает в себя парсинг цифрового документа для обнаружения видеотега.

4. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя:

- загрузку первого закодированного видеоконтента из первого источника видеоконтента; и

- декодирование первым видеоплеером первого закодированного видеоконтента в первый видеоконтент.

5. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя продолжение загрузки и декодирования первого закодированного видеоконтента во время воспроизведения второго видеоконтента.

6. Способ по п. 1, отличающийся тем, что для браузерного приложения предусмотрена память браузера, а способ дополнительно включает в себя сохранение первого видеоконтента в памяти браузера во время воспроизведения второго видеоконтента.

7. Способ по п. 1, отличающийся тем, что перед установлением второго соединения между вторым видеоплеером и видеотегом способ дополнительно включает в себя изменение видеотега для указания на второй источник видеоконтента, связанный со вторым видеоконтентом.

8. Способ по п. 1, отличающийся тем, что API представляет собой единый API для установления первого соединения и второго соединения.

9. Способ по п. 1, отличающийся тем, что API обеспечивается операционной системой, выполняемой в электронном устройстве.

10. Устройство воспроизведения для переключения воспроизведения между первым видеоконтентом и вторым видеоконтентом на веб-странице браузерного приложения электронного устройства, содержащее машиночитаемый физический носитель информации, хранящий команды, и процессор, способный при исполнении команд выполнять следующие действия:

- получение цифрового документа, представляющего веб-страницу и содержащего видеотег, указывающий на первый источник видеоконтента;

- установление первого соединения между первым видеоплеером и видеотегом с использованием API;

- инициирование воспроизведения первым видеоплеером первого видеоконтента из первого источника видеоконтента;

- в ответ на инициирующее событие:

- инициирование приостановки воспроизведения первым видеоплеером первого видеоконтента в текущий момент времени первого видеоконтента;

- установление второго соединения между вторым видеоплеером и видеотегом с использованием API, причём для установления второго соединения между вторым видеоплеером и видеотегом процессор способен изменять видеотег для указания на второй источник видеоконтента, связанный со вторым видеоконтентом, при этом второй видеоплеер отличается от первого видеоплеера; и

- инициирование воспроизведения вторым видеоплеером второго видеоконтента;

- в ответ на завершение воспроизведения второго видеоконтента:

- повторное установление первого соединения между первым видеоплеером и видеотегом с использованием API; и

- возобновление воспроизведения первого видеоконтента первым видеоплеером с текущего момента времени первого видеоконтента.

11. Устройство воспроизведения по п. 10, отличающееся тем, что процессор способен возобновлять воспроизведение первого видеоконтента без заметной пользователю паузы.

12. Устройство воспроизведения по п. 10, отличающееся тем, что процессор способен выполнять парсинг цифрового документа для обнаружения видеотега.

13. Устройство воспроизведения по п. 10, отличающееся тем, что процессор дополнительно способен:

- загружать первый закодированный видеоконтент из первого источника видеоконтента; и

- декодировать первый закодированный видеоконтент в первый видеоконтент с использованием первого видеоплеера.

14. Устройство воспроизведения по п. 10, отличающееся тем, что инициирующее событие соответствует получению браузерным приложением команды на инициирование воспроизведения второго видеоконтента.

15. Устройство воспроизведения по п. 10, отличающееся тем, что процессор дополнительно способен продолжать загрузку и декодирование первого закодированного видеоконтента во время воспроизведения второго видеоконтента.

16. Устройство воспроизведения по п. 10, отличающееся тем, что для браузерного приложения предусмотрена память браузера, а процессор дополнительно способен сохранять первый видеоконтент в памяти браузера во время воспроизведения второго видеоконтента.

17. Устройство воспроизведения по п. 10, отличающееся тем, что процессор способен использовать единый API для установления первого соединения и второго соединения.

Документы, цитированные в отчете о поиске Патент 2024 года RU2824370C1

US 2010275221 A1, 2010.10.28
US 2013276041 A1, 2013.10.17
US 2020007643 A1, 2020.01.02
KR 20180086112 A, 2018.07.30
US 2015074713 A1, 2015.03.12
US 2017142496 A1, 2017.05.18
CN 108810572 A, 2018.11.13
US 2002133247 A1, 2002.09.19
US 2021034227 A1, 2021.02.04
Media Source Extensions™, W3C First Public Working Draft 30 September 2021,

RU 2 824 370 C1

Авторы

Плешивцев Кирилл Николаевич

Аббакумов Сергей Сергеевич

Габдрахманов Рамиль Рашитович

Петряев Константин Юрьевич

Даты

2024-08-07Публикация

2021-12-23Подача