Как настроить время окончания видео YouTube?

Я пытаюсь выяснить, как я могу указать время окончания встроенного видео YouTube. Я знаю, что я могу настроить время начала, добавив & start = 30, но я не видел ничего, связанного с конечным временем.

Мне нужно сделать это для создания веб-приложения, которое я создаю, поэтому, если YouTube не предоставил способ, как я могу это сделать в любом случае?

Я просмотрел документацию безрезультатно. Спасибо!

Ответ 1

Я только выяснил, что следующие работы:

http://www.youtube.com/v/[video_id]?start=[start_at_second]&end=[end_at_second]&version=3

Номер версии кажется важным.

Примечание: время должно быть целым числом секунд (например, 119, а не 1m59s).

Начиная с 2017 года, youtube.com/v/... больше не работает. Это обновленный формат:

https://www.youtube.com/embed/[video_id]?start=[start_at_second]&end=[end_at_second]

Ответ 2

Я попробовал метод @mystic11 (fooobar.com/questions/43720/...) и перенаправлен. Вот пример рабочего URL:

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3

Если параметр version=3 опущен, видео запускается в нужном месте, но до конца доходит до конца. Из документации для параметра end, который я предполагаю version=3, запрашивает использование AS3-плеера. См:

end (поддерживаемые игроки: AS3, HTML5)

Дополнительные эксперименты

автозапуск

Выполняется автовоспроизведение обрезанной части видео:

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1

Циклическое

Добавление цикла в соответствии с документация, к сожалению, запускает вторую и последующие итерации в начале видео:  http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&loop=1&playlist=WA8sLsM3McU

Чтобы сделать это правильно, вам, вероятно, нужно установить enablejsapi=1 и использовать javascript API.

FYI, вышеописанное видео зациклировано: http://www.infinitelooper.com/?v=WA8sLsM3McU&p=n#/15;19

Удалить брендинг и связанные с ним видео

Чтобы избавиться от логотипа Youtube и списка видеороликов, которые нужно щелкнуть в конце воспроизведения видео, которое вы хотите просмотреть, добавьте эти параметры (&modestBranding=1&rel=0):

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1&modestBranding=1&rel=0

Удалите информацию о загрузчике с помощью showinfo=0:

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1&modestBranding=1&rel=0&showinfo=0

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

Ответ 3

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

ИЛИ: используя API-интерфейс Youtube Javascript, вы можете сделать что-то вроде этого:

function onPlayerStateChange(evt) {
    if (evt.data == YT.PlayerState.PLAYING && !done) {
        setTimeout(stopVideo, 6000);
        done = true;
    }
}

Блог API Youtube