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

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

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

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

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

P.S. Хранить видео на промежуточном не получится. Т.к. очень большие объемы.
  • Вопрос задан
  • 316 просмотров
Решения вопроса 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 задач
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы