serialu.net (25.04.2014)
-
- Posts: 6
- Joined: Tue Feb 21, 2012 3:58 pm
Re: serialu.net (16.12.2012) ver.2
Что-то не так. В закладке "сериалы", похоже вообще скрипта нет.
Re: serialu.net (16.12.2012) ver.2
А кто тебе сказал что там он должен быть? Раз работает тебе не все равно где он? Он в serialu.netblue_shark wrote:Что-то не так. В закладке "сериалы", похоже вообще скрипта нет.
-
- Posts: 6
- Joined: Tue Feb 21, 2012 3:58 pm
Re: serialu.net (16.12.2012) ver.2
Так ведь и не работает. Папка "фильмы" работает отлично, папка "выборочно" тоже. А "сериалы" не обновляются и там пустота... (serialu.net тоже обновлял)
Re: serialu.net (23.02.2013)
21.05.2013. Подправил скрипт для сериалов. Названии сериалов и сезонов выдавались иероглифами.
Re: serialu.net (21.05.2013)
Сериалы перестали работать. Исчезла строка '-- adman_adcode_after --' с веб-страниц serialu.net
В скрипте чтения списка ресурсов после строки
HmsRegExMatch('<div class="content">(.*?)-- adman_adcode_after --', sWebPage, sWebPage1);
добавил несколько (на всяк случай)
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)Сериал посмотрели?', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)<noindex><nofollow><br/><table align', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)<div class="clear">', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)</div>', sWebPage, sWebPage1);
опять заработало.
Моя жена смотрит шоу Ледниковый период с самого начала - на других сайтах только последний сезон.
Может все-таки кто-нибудь просветит как загрузить свойства файла из скрипта (нужна длительность)? Мой Sony Blue-ray не парится по поводу запроса длительности с веб-сайта а пытается проиграть 40 минут указанные в скрипте по умолчанию.
В скрипте чтения списка ресурсов после строки
HmsRegExMatch('<div class="content">(.*?)-- adman_adcode_after --', sWebPage, sWebPage1);
добавил несколько (на всяк случай)
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)Сериал посмотрели?', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)<noindex><nofollow><br/><table align', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)<div class="clear">', sWebPage, sWebPage1);
if sWebPage1 = '' then HmsRegExMatch('<div class="content">(.*?)</div>', sWebPage, sWebPage1);
опять заработало.
Моя жена смотрит шоу Ледниковый период с самого начала - на других сайтах только последний сезон.
Может все-таки кто-нибудь просветит как загрузить свойства файла из скрипта (нужна длительность)? Мой Sony Blue-ray не парится по поводу запроса длительности с веб-сайта а пытается проиграть 40 минут указанные в скрипте по умолчанию.
Re: serialu.net (21.05.2013)
viktar, спасибо, ваши подсказки работают.
Вариант №1: Прочитать MediaInfo.
У Eugene есть замечательный пост по поводу команды "HmsCreateMediaItemTags".
Так вот на основе того поста можно, например, добавить новую функцию В нашем случае, в скрипте, там где:нужно добавить глобальную переменную gsTime, чтобы получилосьа там где создаётся ссылкадобавить пару строк:(Комадна Trim нам компенсирует беспроблемность неициализированной переменной)
Будет делаться всего одна попытка получения длительности первой серии, а потом эта длительность будет устанавливаться на всех остальных сериях. Как правило, серии примерно одинаковой длительности обычно. Правда не всегда, но в основном. А для вашего случая с Sony Blue-ray я бы к переменной nTimeInSec добавил бы ещё пару минут, ибо чтобы не получалось что в конце обрезает.
Вариант №2: Вместо нашей функции "GetDurationFromMediaInfo" можно попробовать мой экспериментальный подход для получения длительности flv и вставить функцию и в скрипте сделать вызов
Вот.
Делать вещи, наподобие
Item.Properties[mpiTimeLength] := GetFlvDuration(sItemLink, 'http://serialu.net/');
не рекомендую. Ибо это не только сильное увеличение времени получения плейлиста серий (ведь для каждой ссылки будет делаться запросы на сервер), но и закидывание множеством мелких, но запросов самого сервера. А ведь подкастом могут пользоваться тысячи людей, шквал запросов на сервер обеспечен. Нужно делать их как можно меньше.
С фильмами это вообще проблема, как раз. Получать для каждого фильма длительность таким образом - это не годится.
Поэтому я обычно и предпочитаю через обновление подкаста создавать только папки с ссылками на фильмы, а при заходе в такие папки создавать уже там ссылки на видео-файлы.
Такие дела.
Там на сайте или в плейлисте длительность взять абсолютно негде. Значит, есть два варианта.viktar wrote:Может все-таки кто-нибудь просветит как загрузить свойства файла из скрипта (нужна длительность)? Мой Sony Blue-ray не парится по поводу запроса длительности с веб-сайта а пытается проиграть 40 минут указанные в скрипте по умолчанию.
Вариант №1: Прочитать MediaInfo.
У Eugene есть замечательный пост по поводу команды "HmsCreateMediaItemTags".
Так вот на основе того поста можно, например, добавить новую функцию В нашем случае, в скрипте, там где:
Code: Select all
var
name, kat,id,pap,pap1,pl,abc_dir: string;
Code: Select all
var
name, kat,id,pap,pap1,pl,abc_dir,gsTime: string;
Code: Select all
Item := HmsCreateMediaItem(sItemLink, FolderItem.ItemID , pap1); //ссылка
Item.Properties[mpiTitle] := Format('%.3d', [j]) + '. ' + sItemName; //название
Item.Properties[mpiThumbnail] := sItemImg; //картинка
Item.Properties[mpiTimeLength] := '00:45:00.000'; //длительность
Code: Select all
Item := HmsCreateMediaItem(sItemLink, FolderItem.ItemID , pap1); //ссылка
Item.Properties[mpiTitle] := Format('%.3d', [j]) + '. ' + sItemName; //название
Item.Properties[mpiThumbnail] := sItemImg; //картинка
//Item.Properties[mpiTimeLength] := '00:45:00.000'; //длительность
if Trim(gsTime)="" then gsTime := GetDurationFromMediaInfo(Item);
Item.Properties[mpiTimeLength] := gsTime; //длительность
Будет делаться всего одна попытка получения длительности первой серии, а потом эта длительность будет устанавливаться на всех остальных сериях. Как правило, серии примерно одинаковой длительности обычно. Правда не всегда, но в основном. А для вашего случая с Sony Blue-ray я бы к переменной nTimeInSec добавил бы ещё пару минут, ибо чтобы не получалось что в конце обрезает.
Вариант №2: Вместо нашей функции "GetDurationFromMediaInfo" можно попробовать мой экспериментальный подход для получения длительности flv и вставить функцию и в скрипте сделать вызов
Code: Select all
Item := HmsCreateMediaItem(sItemLink, FolderItem.ItemID , pap1); //ссылка
Item.Properties[mpiTitle] := Format('%.3d', [j]) + '. ' + sItemName; //название
Item.Properties[mpiThumbnail] := sItemImg; //картинка
//Item.Properties[mpiTimeLength] := '00:45:00.000'; //длительность
if Trim(gsTime)="" then gsTime := GetFlvDuration(sItemLink, 'http://serialu.net/');
//if Trim(gsTime)="" then gsTime := GetDurationFromMediaInfo(Item);
Item.Properties[mpiTimeLength] := gsTime; //длительность
Делать вещи, наподобие
Item.Properties[mpiTimeLength] := GetFlvDuration(sItemLink, 'http://serialu.net/');
не рекомендую. Ибо это не только сильное увеличение времени получения плейлиста серий (ведь для каждой ссылки будет делаться запросы на сервер), но и закидывание множеством мелких, но запросов самого сервера. А ведь подкастом могут пользоваться тысячи людей, шквал запросов на сервер обеспечен. Нужно делать их как можно меньше.
С фильмами это вообще проблема, как раз. Получать для каждого фильма длительность таким образом - это не годится.
Поэтому я обычно и предпочитаю через обновление подкаста создавать только папки с ссылками на фильмы, а при заходе в такие папки создавать уже там ссылки на видео-файлы.
Такие дела.
SONY KDL-32CX520
serialu.net (15.01.2014)
Исправил подкаст в первом посте. serialu.net (15.01.2014). Большое Спасибо viktar и WendyH.
Re: serialu.net (15.01.2014)
Сериал "Аббатство Даунтон" как-то странно обновляет.
P.S.: в строке
ItemsRegExpr2 := TRegExpr.Create('>(.*?)/a',PCRE_SINGLELINE); //создать объект с содерж. между кавычек
нужно уточнить регулярку:
ItemsRegExpr2 := TRegExpr.Create('>(.*?<)/a',PCRE_SINGLELINE); //создать объект с содерж. между кавычек
Чтобы именно закрывающийся тег </a> искал, а то все где в ссылках после слеша начинающиеся на "a" будут косячить, как например в
<a href="http://serialu.net/abbatstvo-daunton/">
P.S.: в строке
ItemsRegExpr2 := TRegExpr.Create('>(.*?)/a',PCRE_SINGLELINE); //создать объект с содерж. между кавычек
нужно уточнить регулярку:
ItemsRegExpr2 := TRegExpr.Create('>(.*?<)/a',PCRE_SINGLELINE); //создать объект с содерж. между кавычек
Чтобы именно закрывающийся тег </a> искал, а то все где в ссылках после слеша начинающиеся на "a" будут косячить, как например в
<a href="http://serialu.net/abbatstvo-daunton/">
SONY KDL-32CX520
Re: serialu.net (15.01.2014)
По просьбе westers пере залил подкаст http://homemediaserver.ru/forum/viewtop ... =20&t=2368. Проверь и отпишись.
Re: serialu.net (31.01.2014)
Всё хорошо работает. Только на папке "Сериалы" принудительно стоит профиль транскодирования "Фильмы (Ремуксирование)", у меня с ним не идёт. Меняю на "Наследовать" и всё отлично.
SONY KDL-32CX520