приватизировать потоковое видео - PullRequest
0 голосов
/ 02 октября 2009

Вы знаете, что на YouTube после загрузки видео вам будет предложено сделать его общедоступным или приватным. публичное существо, что оно доступно любому. private, доступный только вам, первоначальному загрузчику, и вы должны войти в систему, чтобы сделать это тоже. Мне нужно сделать что-то подобное. Я делаю приложение rails, которое использует прогрессивную загрузку QuickTime вместо Flash, поэтому в основном я использую тег embed с src, указывающим на некоторые dns / video.mov. Но я не могу позволить видео быть в открытом доступе. Какие могут быть мои варианты на макушке?

1 Ответ

0 голосов
/ 02 октября 2009

Создание файла cookie сеанса при входе пользователя в систему. Этот файл cookie обычно содержит идентификатор сеанса определенного типа (длинная строка). Прикрепите этот идентификатор к URL фильма в качестве запроса (.../video.mov?ID=2387543462578).

Таким образом, ваш сервер может проверить идентификатор по текущим открытым сеансам. Если идентификатор недействителен, ответьте 403 (запрещено).

[РЕДАКТИРОВАТЬ] Поскольку вы помещаете файл в Rails_root/public/videos, Ruby автоматически обрабатывает загрузку в браузер для вас. Это поведение по умолчанию для любого файла, помещенного в папку public. Что вам нужно, это поместить файлы в другое место и обработать загрузки вручную. Проверьте источники Ruby и найдите обработчик для папки public; это должно дать вам представление о том, как это работает под капотами. Вы должны иметь возможность расширить этот класс дополнительным кодом, чтобы проверить, действительно ли пользователь может загрузить файл.

...