Порционная выдача файла, стриминг без загрузки (видео)?

Есть задача: скрыть конечный урл файла, в нашем случае видео. То есть урл на видео -> сервер меняющий урл на свой -> конечный пользователь.

У сервера, который меняет урл, можно ли просто отдавать его либо порционно, либо просто стримить файл в видеоплеер без его загрузки? Насколько вообще разумен такой подход?

Что-то вроде:
<?
header("Content-Type: video/mp4");
echo file_get_contents('ссылка_до_видео');
?>

Однако, здесь мы скачиваем в файл в оперативку. А хотелось бы порционно отдавать. Без полной загрузки файла. То есть сделать поток.

P.S. Хранить видео на промежуточном не получится. Т.к. очень большие объемы.
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
В google достаточно много примеров, но PHP предоставляет API для работы с потоками readfile.

Подсказка
Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в разделе Поддерживаемые протоколы и обертки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AlexndrNovikov
Solution Architect in Spiral Scout
Этим лучше заниматься не на уровне PHP, а на уровне Nginx:

https://github.com/arut/nginx-rtmp-module

Nginx RTMP это по сути одно из стандартных решений для Video on demand задач
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы