LINUX.ORG.RU

flowplayer + php != работает.


0

1

Задача: необходимо прочесть видеопоток из php-файла stream.php вида:

<?php
header("Content-type: video/mp4");
$output_file=readfile("video.mp4");
print $output_file;
?>

и воткнуть этот самый поток в flowplayer, в хтмлку:

<object width="640" height="512" type="application/x-shockwave-flash" data="./flowplayer-3.2.7.swf">
  <param name="movie" value="./flowplayer-3.2.7.swf" />
  <param name="allowfullscreen" value="true" />
  <param name="flashvars" value='config={"clip": {"<?php readfile("stream.php"); ?>", "autoPlay":false, "autoBuffering":true}}' />
</object>

Экранчик серый, т.е. не пашет.

Продолжение по сути ранее поднятой темы, от html5 приходится отказываться, увы.

Навеяно этим мануалом.

★★★★★
Ответ на: комментарий от feinsbot

Такой изврат нужен для .htaccess - запретить доступ к mp4 файлам, чтобы юзер не смог их скачать, а трансляцию делать вот таким хитрожопым методом - вещать в stream.php, на него сделать еще один .htaccess (обращение к нему разрешено только с сервера, остальным запрещено), ну и собсно файл, который к нему будет обращаться и читать поток.

leg0las ★★★★★
() автор топика
Ответ на: комментарий от leg0las

а смысл, если всё равно можно будет скачать из steam.php? Уж легче разрешать доступ к mp4 только с сервера, результат тот же

feinsbot
()
Ответ на: комментарий от leg0las

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

thesame ★★★★
()
Ответ на: комментарий от thesame

«clip»: «stream.php» не прокатывает - отображается только плеер, без файла. с «url» тоже игрался...

leg0las ★★★★★
() автор топика
Ответ на: комментарий от feinsbot

на stream.php накладывается .htacess (он в отдельной директории лежит), и юзер не сможет к нему обратится, он получет 403.

leg0las ★★★★★
() автор топика
Ответ на: комментарий от leg0las

Твоя схема не будет работать, ибо плеер выполняется на клиенте, а не на сервере, и грузит видео по тому же http

feinsbot
()
Ответ на: комментарий от leg0las

в том, что ты надеешься с помощью readfile каким-то чудом передать клип в плеер

thesame ★★★★
()

б****ь, кто-то может сказать, как _правильно_ скормить stream.php в «clip»? Всего-то навсего.

leg0las ★★★★★
() автор топика

Метод крайне через одно место, который нагрузит сервер очень быстро.

Задача у тебя какая? Отдать клиенту ссылку на файл, при этом данная ссылка должна работать только с одного IP, одного session_id и N секунд? И избежать скачивания оригинального файла по прямой ссылке?

Если так, то почитай про NGINX и X-Accel-Redirect и контролируемое скачивание.

resurtm ★★★
()
Ответ на: комментарий от leg0las

б****ь, кто-то может сказать, как _правильно_ скормить stream.php в «clip»? Всего-то навсего.

Ты прямо сейчас выстрелил себе в ногу гранатометом таким способом. :)

resurtm ★★★
()
Ответ на: комментарий от leg0las

разрешить клиенту получать stream.php и просто передать «clip»: «stream.php»

thesame ★★★★
()

Кладёшь исходный mp4-файл, тянешь тем же wget, смотришь какие http-заголовки передал.

Кладёшь твой скрипт, тянешь тем же wget, смотришь какие http-заголовки передал.

Сравниваешь, добавляешь недостающие.

Я бы на месте плейера с тобой только за отсутствие заголовка Content-length не общался бы.

r_asian ★☆☆
()
Ответ на: комментарий от leg0las

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

Ты не понимаешь. Плеер - это тоже юзер, флеш исполняется на его машине. Если юзер не может скачать, то и плеер не может.

Ты можешь делать временные ссылки через nginx и компанию, но это тоже относительно нестрашно обходится.

Если ты реально не хочешь, чтобы юзер мог вытащить что-то, то единственное, что относительно подходит - RTMP. Из него тоже, впрочем, вытягивается что надо, но это уже относительно сложно.

Но всё это изврат, так как кому надо - постараются и скачают. Если тебе нужно просто не дать скачать «легко», то лучше разберись с nginx.

anonymous
()
Ответ на: комментарий от resurtm

Я понимаю, метод не очень удачный, но что имеется, с тем и работаем. Переделывать на nginx - сервак нагруженый, особо не разгонишься. htaccess`ов щас вообще нигде нет. пытаюсь хоть как-то завести эту связку на том, что есть.

leg0las ★★★★★
() автор топика
Ответ на: комментарий от leg0las

Переделывать на nginx - сервак нагруженый

Поставь рядом с апачем тот же lighttpd, который будет нужен только для файлов. Там есть mod_secdownload. Что-то аналогичное есть и для nginx.

anonymous
()

1) Если скрипт заработает, от скачивания видео это не защитит (плагин для фф который перехватит сам поток, а не ссылку на него - и до свиданья, наверняка такие есть).

2) Если на сервер зайдут несколько человек, то он умрет с out of memory. Ну разве что у тебя ролики на 1-2 мегабайта, тогда может еще сойдет на первое время.

3) В общем-то, даже RTMP тоже можно скачать (гуглится по «RTMP download»)

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.