Коллекция подкастов
Re: Коллекция подкастов
http://online.stepashka.com - закодировался.
Re: Коллекция подкастов
clipiki.ru Не знаю доступен ли он в других регионах поэтому отдельную тему создавать не буду. Сделал только поиск (правой кнопкой создать ленты подкастов)
- Attachments
-
- clipiki.rar
- (3.55 KiB) Downloaded 2177 times
samsung UE32D5000
Re: Коллекция подкастов
Решил написать заметку по расшифровке в помощь интересующимся. http://www.homemediaserver.ru/forum/vie ... 703#p14703tarzann5 wrote:http://online.stepashka.com - закодировался.
Да ниче, работает вполне нормально.linkey wrote:clipiki.ru Не знаю доступен ли он в других регионах поэтому отдельную тему создавать не буду. Сделал только поиск (правой кнопкой создать ленты подкастов)
SONY KDL-32CX520
Re: Коллекция подкастов
подправил kino-dom.tv (раньше в именах серий были крокозяблы)
- Attachments
-
- KINO-DOM.TV.hdf.7z
- (5.16 KiB) Downloaded 4102 times
Re: Коллекция подкастов
Можно если нужно. Нажимаешь на "hdkinomir.com", заходишь в "Изменить название/настройки" потом "Скрипт получения ссылки на ресурс" там в конце найдешь .../video/'+vtag+'.360.mp4', меняешь на .../videos/'+vtag+'.720.mp4'. Качество бывает 240, 360, 480,720. Если скорость интернета позволяет и есть вариант фильма такого качества то все заработает.Valera wrote: А можно сделать что-бы видео открывалось в 720 а не в 360 качестве?
- Attachments
-
- hdkinomir.com.rar
- отредактировал в ссылке вместо video на videos.
- (5.1 KiB) Downloaded 3306 times
Re: Коллекция подкастов
Интересный эффект. Ссылка у этого видео при обновлении подкаста когда "режим чтения списка ресурсов" стоит в положении "Стандартный (RSS)" получается вот такая
rtsp://v1.cache4.c.youtube.com/CiILENy73wIaGQkQprIllPo9eBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Проверил (если ссылку канала вставить браузер хотябы), то в xml ссылка выглядит обычной:
"http://www.youtube.com/watch?v=eD36lCWy ... tube_gdata"
rtsp://v1.cache4.c.youtube.com/CiILENy73wIaGQkQprIllPo9eBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Проверил (если ссылку канала вставить браузер хотябы), то в xml ссылка выглядит обычной:
"http://www.youtube.com/watch?v=eD36lCWy ... tube_gdata"
SONY KDL-32CX520
Re: Коллекция подкастов
Не совсем. То, что эта ссылка не играется моим скриптом, говорит о том что функцию получения ссылки нужно переделывать, точнее дописывать. Ибо у Евгения эта ситуация отрабатывается, например.bartwell wrote:Получается, что проблема именно в формировании ссылки - два раза указывается схема в URL (http://rtsp://).
Но и не расчитывал мой скрипт на входе обрабатывать прямую ссылку на медиафайл, он сам (скрипт) как раз и нужен для того чтобы из пути на страничку с видео получить ссылку на медиафайл. А тут скирпту сразу на вход ссылку дайют, которую по сути обрабатывать вообще не надо.
Обнови подкаст с этим каналом. На компьютере зайди в "Редактирование информации" созданной ссылки "Научные нубы - "шерстяные пузыри"" и посмотри на путь (ссылку). Потом открой "Редактирование инфрмации" ссылки "Научные нубы - "балансируем"". Сравни. Сравни эту ссылку со всеми ссылками остальными этого канала. При этом скрипт получения ссылки не работал ещё.
SONY KDL-32CX520
Re: Коллекция подкастов
Используй скрипт Евгения и всё. Но уж если очень хочется именно тот мой. То вот тут вставил строчку для подобных казусов. А вообще, часто такое происходит?
А, там вначале скрипта необходимо ещё строчку вставить:
bool gbQualityLog = true;
Это при включенном приоритете форамтов видео чтобы показывал выбранное качетсво из списка возможных. (Или false присвоить чтобы не показывал.)
Code: Select all
bool gbQualityLog = true;
// ---------------------------------------------------------------------------------------
// Получение ссылки на Youtube
bool GetLink_YouTube(char sLink) {
char sHtml, sFormatMap='', sVideoID='', sFormat, itag, sig, sQAval, sQSel;
int i, iHeight, iPriority, iMinPriority=99;
if (HmsRegExMatch('(\\w{4,5}://.*/video.3gp)', sLink, MediaResourceLink)) return true;
if (LeftCopy(sLink, 4)!='http') sLink = 'http://' + Trim(sLink);
if (Pos('%3F', sLink)>0) sLink=HmsHttpDecode(sLink); // Если нужно - декодим
if (!HmsRegExMatch('[\\?&]v=([^&"\\?]*)', sLink, sVideoID))
if (!HmsRegExMatch('youtube.com/v/([^&"\\?]*)', sLink, sVideoID))
if (!HmsRegExMatch('youtu.be/([^&"\\?]*)', sLink, sVideoID))
HmsRegExMatch('/embed/([^&"\\?]*)', sLink, sVideoID); // Внимательно - ИФы выполняются, если предыдующий нет!
if (sVideoID=='') {sHtml = HmsDownloadURL(sLink); HmsRegExMatch('/watch[^&"\']v=([^&"]*)', sHtml, sVideoID);}
if (sVideoID=='') {HmsLogMessage(2, mpTitle+' Немогу найти VideoID в ссылке на youtube.com ('+sLink+')'); return true;}
char aGUrl[2]; // Несколько способов искать stream_map
aGUrl[0] = 'http://www.youtube.com/get_video_info?video_id=';
aGUrl[1] = 'http://www.youtube.com/watch?has_verified=1&v=';
// aGUrl[2] = 'http://www.youtube.com/api_video_info?video_id=';
sHtml = HmsDownloadURL(aGUrl[1]+sVideoID);
if (!HmsRegExMatch('fmt_stream_map=(.*?)&', sHtml, sFormatMap))
if (!HmsRegExMatch('fmt_stream_map"\\s*?:\\s*?"(.*?)"', sHtml, sFormatMap))
if (!HmsRegExMatch('fmt_url_map=(.*?)&', sHtml, sFormatMap)) {
// Попытка сделать это немного по-другому
sHtml = HmsDownloadURL(aGUrl[0]+sVideoID);
if (!HmsRegExMatch('fmt_stream_map=(.*?)&', sHtml, sFormatMap))
if (!HmsRegExMatch('fmt_stream_map"\\s*?:\\s*?"(.*?)"', sHtml, sFormatMap))
HmsRegExMatch('fmt_url_map=(.*?)&', sHtml, sFormatMap);
}
if (sFormatMap!='') {
sFormatMap = HmsHttpDecode(sFormatMap);
sQAval = '';
for (i=1; i<=WordCount(sFormatMap, ','); i++) {
sFormat = ExtractWord(i, sFormatMap, ',');
HmsRegExMatch('itag=(\\d+)', sFormat, itag );
HmsRegExMatch('url=(.*?)&', sFormat, sLink);
sLink = HmsHttpDecode(sLink);
if (HmsRegExMatch('sig=(.*?)&', sFormat, sig)) sLink+= '&signature=' + sig;
if (mpPodcastMediaFormats=='') {MediaResourceLink = sLink; break;}
iHeight=0;
if (IsWordPresent(itag, '13,17', ',')) iHeight=144;
else if (IsWordPresent(itag, '5,83', ',')) iHeight=240;
else if (IsWordPresent(itag, '6', ',')) iHeight=270;
else if (IsWordPresent(itag, '18,34,43,82,100', ',')) iHeight=360;
else if (IsWordPresent(itag, '35,44,101', ',')) iHeight=480;
else if (IsWordPresent(itag, '22,45,84,102', ',')) iHeight=720;
else if (IsWordPresent(itag, '37,46', ',')) iHeight=1080;
else if (IsWordPresent(itag, '38', ',')) iHeight=3072;
iPriority = HmsMediaFormatPriority(iHeight, mpPodcastMediaFormats);
if ((iPriority>=0)&&(iPriority<iMinPriority)) {iMinPriority=iPriority; MediaResourceLink=sLink;sQSel=IntToStr(iHeight);}
sQAval += IntToStr(iHeight)+' ';
}
if ((mpPodcastMediaFormats!='') && gbQualityLog) {
if (sQAval=='') HmsLogMessage(2, Format('%s: Нет выбора доступного качества у этого видео', [mpTitle]));
else HmsLogMessage(2, Format('%s: Доступно качество: %s Выбрано: %s', [mpTitle ,sQAval, sQSel]));
}
// Заполняем для кучи, если не заполнено, информацию элемента подкаста
// CheckYoutubeVideoInfo(sHtml);
} else {
// Если нет stream_map, пробуем тупо взять ссылку по API
sHtml = HmsDownloadURL('http://gdata.youtube.com/feeds/api/videos/'+sVideoID+'?v=2');
HmsRegExMatch('<media:content[^>]+url=\'([^>]+)\'[^>]+type=\'video[^>]+yt:format=\'6', sHtml, MediaResourceLink);
}
if (MediaResourceLink=='') {HmsLogMessage(2, mpTitle+': Видео на youtube.com недоступно ('+sLink+')');}
return true;
}
bool gbQualityLog = true;
Это при включенном приоритете форамтов видео чтобы показывал выбранное качетсво из списка возможных. (Или false присвоить чтобы не показывал.)
SONY KDL-32CX520
Re: Коллекция подкастов
Это и понятно. На самом деле то проблема в другом. Незнаю, могу предложить вот, в папку Favorites (или где вы подобные ссылки на каналы держите) в настройках "Режим чтения списка ресурсов" включить "Специальный (скрипт)", а "Скрипт чтения списка ресурсов" поставить "Включён" и вставить туда следующий код (Pascal script):...Но появилась та же самая проблема...
Code: Select all
var
gnItemsAdded: Integer;
sXml, sItemBlock, sTitle, sLink, sTime, sDescr, sAuth, sImg, sGenre, sYear: string;
Item: THmsScriptMediaItem; reSearch: TRegExpr;
// ----------------------------------------------------------------------------
// Main program
begin
gnItemsAdded := 0;
FolderItem.DeleteChildItems(); // Удаляем старый список ссылок
sXml := HmsUtf8Decode(HmsDownloadURL(mpFilePath)); // Загружаем данные по ссылке
// Создаём объект класса TRegExpr, который будет искать по регулярному выражению
// Ищем блоки текста между тегами <item> и </item>
reSearch := TRegExpr.Create('<item>(.*?)</item>', PCRE_SINGLELINE);
if reSearch.Search(sXml) then repeat begin
sItemBlock := reSearch.Match(); // Найденный блок
// Поиск информации о видео
HmsRegExMatch('<link>(.*?)&', sItemBlock, sLink ); // Ссылка
HmsRegExMatch('<title>(.*?)</title>', sItemBlock, sTitle); // Название
HmsRegExMatch("thumbnail url='(.*?)'", sItemBlock, sImg ); // Картинка
HmsRegExMatch('<description>(.*?)</description>', sItemBlock, sDescr); // Комментарий
HmsRegExMatch("category label='(.*?)'", sItemBlock, sGenre); // Категория / Жанр
HmsRegExMatch("duration='(\d+)", sItemBlock, sTime ); // Длительность
HmsRegExMatch('<author>(.*?)</author>', sItemBlock, sAuth ); // Автор
HmsRegExMatch('<pubDate>.*?(\d{4})', sItemBlock, sYear ); // Год
sTime := HmsTimeFormat(StrToIntDef(sTime, 6000))+'.000'; // Длительность приводим к формату HMS
sGenre:= HmsHtmlToText(sGenre);
// Создаём элемент подкаста - ссылку и устанавливаем ему значения
Item := HmsCreateMediaItem(sLink, FolderItem.ItemID);
Item[mpiTitle] := sTitle; // Название
Item[mpiThumbnail] := sImg; // Картинка
Item[mpiComment] := sDescr; // Комментарий
Item[mpiYear] := sYear; // Год
Item[mpiTimeLength] := sTime; // Длительность
Item[mpiGenre] := sGenre; // Жанр
Item[mpiCreateDate] := DateTimeToStr(IncTime(Now, 0, -gnItemsAdded, 0, 0)); // (Для обратной сортировки)
gnItemsAdded := gnItemsAdded + 1;
end until not reSearch.SearchAgain(); // Повторяем поиск пока он удачен (SearchAgain() возвращает true)
end.
SONY KDL-32CX520
Re: Коллекция подкастов
Выкладываю раскодированный filmix.ru. У меня работает. На плеерах (телевизорах) без поддержки flv, напр. Дюна, смотреть только через транскодирование.arshavir wrote:Перестало работать FILMIX.NET
Перенесено в свою тему
http://www.homemediaserver.ru/forum/vie ... =20&t=2581
-----
"Версия" 0.1: исправил скрипт получения ссылки -- теперь нет ошибки, если ссылка на файл единственна (а не 1 or 2 , как обычно).
Добавление 29-12-12: версия _by_level разбивает процесс на 2 этапа:
1 -- создать ленты подкастов (папка "фильмы" (или "сериалы") - правой мышью - "Создать ленты подкастов"
2 -- обновить подкасты
При этом каждая категория фильмов и каждый отдельный сериал создается отдельным подкастом, так что может быть обновлен индивидуально.
Иначе (в базовой версии) обновление должно быть сделано скопом и занимает уж оооочень долго -- а смотрим обычно далеко не все.
Теперь можно выбрать, что обновлять. И, конечно, добавить новый сериал ручками как подкаст -- без необходимости обновлять все. Однако я оставлю и базовую версию, если кому-то проще так.
- Attachments
-
- filmix_0.1.zip
- (3.75 KiB) Downloaded 2994 times