Предлагаю дать возможность пользователям самостоятельно выбирать сервис по доставке контента. На странице остаётся только информация о контенте (Название композиции, фильма, книги).
Сайт с информацией и контент разделены или не связаны прямо. Ответственность за законность контента перекладывается на поставщика который его предоставляет (сайт на котором расположен файл). Поскольку сервисов много уже сейчас (Различные видеохостинги, аудиохостинги, библиотеки и т. д.) пользователю не составит проблемы переключиться с одного на другой(подключить другой скрипт) в случае блокировки контента.
На странице находится такое содержимое.
Сервис(пользовательский скрипт) подключенный пользователем читает это содержимое и меняет на конкретные источники.
Причем это могут быть даже локальные файлы.
И не надо заново загружать файл из интернета из-за того что проигрывается эта композиция на веб сайте.
Для пользователя происходит все незаметно. Он просто нажимает на кнопку play и файл воспроизводится. И не важно при этом откуда.
На сайте Вконтакте удаляется музыка. При этом в плейлисте пользователя остается строчка с названием композиции. Простой скрипт может используя эту информацию найти этот же трек на Яндекс.Музыке(где он легально) и воспроизвести не требуя от пользователя дополнительных действий.
Также можно организовать и веб-радио. Радиостанции достаточно передать только название композиции и позицию в ней на данный момент а сервис(пользовательский скрипт) поставляет саму композицию. При этом забота о лицензии на трек перекладывается на поставщика.
Я уже экспериментировал при помощи пользовательского скрипта с воспроизведением Вконтакте треков играющих на эфирных и интернет радио. Получается коряво, некоторые треки не находит из-за неправильных названий или их отсутствия но работает.
Демка
Сайт с информацией и контент разделены или не связаны прямо. Ответственность за законность контента перекладывается на поставщика который его предоставляет (сайт на котором расположен файл). Поскольку сервисов много уже сейчас (Различные видеохостинги, аудиохостинги, библиотеки и т. д.) пользователю не составит проблемы переключиться с одного на другой(подключить другой скрипт) в случае блокировки контента.
Пример:
На странице находится такое содержимое.
<audio>
Vivaldi Summer mvt 1 Allegro non molto - John Harrison violin
</audio>
Сервис(пользовательский скрипт) подключенный пользователем читает это содержимое и меняет на конкретные источники.
<audio>
<source src="http://upload.wikimedia.org/wikipedia/commons/1/19/04_-_Vivaldi_Summer_mvt_1_Allegro_non_molto_-_John_Harrison_violin.ogg">
</audio>
Причем это могут быть даже локальные файлы.
<audio>
<source src="file:///d:/music/04_-_Vivaldi_Summer_mvt_1_Allegro_non_molto_-_John_Harrison_violin.ogg">
</audio>
И не надо заново загружать файл из интернета из-за того что проигрывается эта композиция на веб сайте.
Для пользователя происходит все незаметно. Он просто нажимает на кнопку play и файл воспроизводится. И не важно при этом откуда.
Пример пользы такого подхода уже сейчас:
На сайте Вконтакте удаляется музыка. При этом в плейлисте пользователя остается строчка с названием композиции. Простой скрипт может используя эту информацию найти этот же трек на Яндекс.Музыке(где он легально) и воспроизвести не требуя от пользователя дополнительных действий.
Веб-радио.
Также можно организовать и веб-радио. Радиостанции достаточно передать только название композиции и позицию в ней на данный момент а сервис(пользовательский скрипт) поставляет саму композицию. При этом забота о лицензии на трек перекладывается на поставщика.
Я уже экспериментировал при помощи пользовательского скрипта с воспроизведением Вконтакте треков играющих на эфирных и интернет радио. Получается коряво, некоторые треки не находит из-за неправильных названий или их отсутствия но работает.
Небольшое демо:
<h4>Blender Foundation Movies Collection</h4>
<h5>Blender Foundation - Sintel (2010)</h5>
<video width=640 height=480>Blender Foundation - Sintel (2010)</video>
<h5>Blender Foundation - Big Buck Bunny (2007)</h5>
<video width=640 height=480>Blender Foundation - Big Buck Bunny (2007)</video>
<h5>Blender Foundation - Elephants Dream (2006)</h5>
<video width=640 height=480>Blender Foundation - Elephants Dream (2006)</video>
// Этот скрипт установлен у пользователя в браузере (Userscript)
// Перебираем все теги Video на странице
var videos = document.getElementsByTagName("VIDEO")
for (var i=videos.length-1; i >= 0 ; --i){
var video = videos[i];
GM_xmlhttpRequest({
method: "POST",
url: "http://www.example.com/get_video",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
data: video.textContent,
onload: function(response) {
var url = response.responseText;
if (url){ //Если нашлось у контент-провайдера показываем.
var iframe = document.createElement("IFRAME")
iframe.style = video.style
iframe.width = video.width
iframe.height = video.height
iframe.src = url
video.parentNode.replaceChild(iframe, video)
}
}
});
}
Демка