Временная ссылка на видеофайл для встраивания в плеер средствами php
Для защиты видео файлов от встраивания/скачивания на другие сайты используют временные ссылки... Для того чтобы отдавать файл на скачивание прописываются заголовки стрима вроде вот такого варианта:
function file_download($file) {
if (file_exists($file)) {
if (ob_get_level()) {
ob_end_clean();
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
return [
'status' => 'success',
'message' => 'Файл успешно отдан'
];
}else {
return [
'status' => 'error',
'message' => 'Файл не найден'
];
}
}
$vrem_ident = $_GET['file'];
//здесь находим какому пути к файлу соответствует временная ссылка
//$file - путь к файлу
file_download($file);
Если вставить как есть, то видео проигрывается, но нельзя перематывать. Делается это вроде заголовком Content-range? Если так, то как его правильно прописать?
Как правильно прописать заголовки, изменить код чтобы можно было вставлять временную ссылку в плеер и тот воспроизводил видео как будто в него вставили путь к реальному файлу?
Как такое организовать, если файлы видео будут не на том сервере на котором данный скрипт(например отдельный сервер для хранения видео или чтобы проксировать видео из Юуба или Вконтакте)? В таком случае просто вставляется ссылка, или возникнут какие-то трудности?