Ретрансляция и прямое воспроизведение видео

Документ актуален для InstantVideo любой версии

Воспроизведение видео на сайте

Ретрансляция — это процесс воспроизведения в вашем плеере видео файла провайдера путем одновременного его скачивания на сервер и отдачи клиенту в браузер при помощи php.

Зачем это нужно?

Большинство провайдеров видео не отдают прямую ссылку на файл. Почему? Смысл очевиден: пользователи должны смотреть видео только в плеере провайдера.

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

Чтобы добиться воспроизведения необходимо тут же отдавать файл уже вашему клиенту, скачивая сервером.

Внимание! Для работы ретрансляции необходимо отсутствие лимитов - max_execution_time и max_input_time и значение memory_limit должно быть больше обычного, от 256 Мб, впрочем значение этого параметра зависит от размеров файлов, которые вы планируете ретранслировать. Так же обращаем ваше внимание на то, что ретрансляция создает дополнительную нагрузку на сервер в плане трафика — по сути проксирование трафика.

Прямое воспроизведение — процесс воспроизведения в вашем плеере видео файла провайдера с сервера последнего.

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

В этом главное отличие этих двух способов воспроизведения.

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

Следует понимать, что за роликами, воспроизводимые таким образом нужно "приглядывать", и в случае возникновения проблем при воспроизведении просто отключить ретрансляцию/прямое воспроизведение. Воспроизведение будет доступно в родных плеерах провайдера, однако пользователей вы не потеряете и спокойно дождетесь выпуска обновления InstantVideo с учетом нового алгоритма.

Но, стоит отметить, что мы не гарантируем пожизненное воспроизведение роликов указанными технологиями. Провайдер может сделать/поменять технологию таким образом, что выяснить алгоритм формирования ссылки будет не возможно.

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

Скачивание роликов у провайдеров, поддерживающих описываемые технологии

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

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

После успешного скачивания тип провайдера у записи ролика сменится на localhost, дальнейшее воспроизведение будет проходить уже с вашего сервера.