Один из подходов заключается в одновременном размещении ДВУХ разных проигрывателей на странице и предварительной буферизации второго видео во время просмотра первого. Давайте предположим следующую структуру (упрощенный пример):
<video id="video1"></video>
<video id="video2" autoplay style="display:none" onloadstart="this.volume=0.0"></video>
Обратите внимание, что первое видео видно, а второе нет (CSS). Кроме того, второе видео начинает буферизоваться и воспроизводиться, как только страница загружается, но приглушается. Вы увидите преимущества этого «предварительного буфера» через секунду.
Затем вы присоединяете другого слушателя JS к первому видео, которое выполняет следующие шаги:
- Как только воспроизведение первого видео заканчивается, оно скрывает player1
- Вместо этого он показывает player2, ищет положение «0 секунд» и включает его
- Поскольку в браузере уже есть некоторые кэшированные / буферизованные данные, их должно быть минимально или без задержки
PS: Если вы хотите пойти еще дальше, вы можете включить звук и сбросить второе видео за 0,5 секунды до его окончания. Таким образом вы избежите любых возможных задержек или задержек, возникающих в браузере, но вы рискуете перекрыть звук, если оба видео содержат некоторый звук в этом интервале 0,5 секунды.