Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Анонсы, Информация и Общие Темы > Общие темы для обсуждения

Ответ
 
Опции темы Опции просмотра
Старый 07.05.2012, 22:19   #1
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
Smile Кто как управляет медиатекой/добавляет киношки?

Привет, all!

Заинтересовался сабжем - кто как поплняет свою коллекцию? Копирует вручную в нужные папочки, скачивает торрентами, может кто приручил чудо-сервис вроде http://couchpota.to/...?

Я тут смастерил мини-механизм, получающий торрент по почте, скачивающий его и переименовывающий скачанные файлы (чтобы xbmc, точнее скрепер КиноПоиска, автоматом находил правильное название).
Вторая штука которую хочу доделать - авто-поиск файлов которые а) имеют статус "просмотрен" в xbmc и б) ratio в transmission больше 2х, т.е. их можно уже сносить.

Вот хотел узнать, зря ли ковырялся вечерами, может есть уже готовые решения на эту тему?

Если кому интересно как оно работает, могу выложить как оно у меня работает (linux).
keyf вне форума   Ответить с цитированием
   
Старый 07.05.2012, 23:58   #2
Free4ert
Member
 
Регистрация: 18.04.2012
Адрес: Москва
Сообщений: 48
По умолчанию

А почему получать по почте...
Если из вне почему бы не FTP использовать, допустим что бы не открывать порт веб интерфейса transmission.

И мне очень даже интересно как это работает)
Точнее во что надо переименовывать и как что бы потом автоматом находились правильные названия? (Если это написано уже где то, то просьба отправить читать)
Free4ert вне форума   Ответить с цитированием
Старый 08.05.2012, 00:48   #3
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Фильмы скачиваю руками сразу же в отдельные подпапки с именем "название фильма.(год)". Названия использую только английские. В ХВМС в настройках скрепера включена опция "Файлы в отдельных папках с названиями фильмов".
Серии сериалов в основном качаются автоматом с RSS-ленты и раскладываются по папкам. Поскольку зарубежные релизеры четко соблюдают конвенции названий файлов, то проблем с распознаванием, как правило, нет.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 08.05.2012, 11:29   #4
Dganic
Senior Member
 
Регистрация: 21.08.2011
Сообщений: 347
По умолчанию

keyf
Очень хотелось бы посмотреть как у вас всё это работает, особенно переименовывание фильмов, раздача его потом продолжается? А так же особенно интересует автоматическое обновление сериалов, в основном с рутрекера.
И что этот сервис делает? http://couchpota.to/
Dganic вне форума   Ответить с цитированием
Старый 08.05.2012, 15:53   #5
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Цитата:
Сообщение от Dganic Посмотреть сообщение
keyf

И что этот сервис делает? http://couchpota.to/
Это не сервис, а прога-обработчик RSS-лент с торрент-треккеров и бинарных ньюз-эх (кто-нибудь, кроме меня, помнит, что это такое?).
В рунете практически бесполезна ввиду врожденного дибилизма многих торрент-релизеров, не соблюдающих конвенции именования файлов, и полного отсутствия пиратских бинарных ньюз-эх.
На самом деле с сериалами на самом деле не всё таки безнадежно, хотя можно вполне обойтись встроенными средствами мю-Торрента: https://telestrekoza.com/forum/index.php?topic=1481.0
А еще во времена, когда у меня был медиаплеер Попкорн и я баловался Линуксом, я использовал вот такую штуку: http://nmt200.ru/hand/newbie/torrent...telya-serialov .
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.

Последний раз редактировалось Roman_V_M; 08.05.2012 в 21:12.
Roman_V_M вне форума   Ответить с цитированием
Старый 09.05.2012, 00:48   #6
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Free4ert Посмотреть сообщение
А почему получать по почте...
Если из вне почему бы не FTP использовать, допустим что бы не открывать порт веб интерфейса transmission.
Эмм.. не понял связи между почтой и веб-интерфейсом transmission
Почту я выбрал чтобы иметь возможность дать задание качать кино "на ходу", т.е. с телефона, или с любого компа где есть почта - отправил письмо и забыл. В идеале, конечно, было бы просто отправлять ссылку на нужный торрент, но тогда не понятно как быть с тем же РУтрекером (он у меня основной) - там без авторизации ничего скачать не дадут..
FTP в целом также можно использовать , просто для этого уже нужна программа-клиент для отправки задания на скачивание, а это уже доп. требование.

Цитата:
Сообщение от Free4ert Посмотреть сообщение
И мне очень даже интересно как это работает)
Точнее во что надо переименовывать и как что бы потом автоматом находились правильные названия? (Если это написано уже где то, то просьба отправить читать)
Не знаю, существует ли какой-то Правильный Метод про который можно прочитать, я просто переименовываю файлы в "Название.фильма.без.пробел ов.Год.". Название стараюсь дать исходное (латиницей), а если фильм русский, то предварительно смотрю под каким именем он числится на Кинопоиске (их скрепперу потом искать же).

Поскольку название файла в торренте и название самого торрента вещь на РУтрекере никак не контролируемая, мой чудо-скрипт берет название из темы письма с торрентом, надеясь что я его там написал правильно
keyf вне форума   Ответить с цитированием
Старый 09.05.2012, 00:50   #7
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Серии сериалов в основном качаются автоматом с RSS-ленты и раскладываются по папкам. Поскольку зарубежные релизеры четко соблюдают конвенции названий файлов, то проблем с распознаванием, как правило, нет.
а можно чуть подробнее про RSS-ленту? Есть что-то подобное для рунета или вы в исходнике смотрите сериалы? Я сам ковырялся, но русскоязычного не нашел..
keyf вне форума   Ответить с цитированием
Старый 09.05.2012, 00:57   #8
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Dganic Посмотреть сообщение
keyf
Очень хотелось бы посмотреть как у вас всё это работает, особенно переименовывание фильмов, раздача его потом продолжается?
Полное описание выложу отдельным ответом через минуту.
Переименование без остановки раздачи (пусть на РУтрекере и отменили рейтинги, но старое торрентское воспитание не позволяет мне уйти с раздачи сразу после скачивания ) в линуксе делается оч просто - создание ссылки с нужным вам именем на исходный файл (ln либо ln -s). Т.е. для transmission по большому счету ничего и не происходит, как раздавала, так и раздает.

Цитата:
Сообщение от Dganic Посмотреть сообщение
А так же особенно интересует автоматическое обновление сериалов, в основном с рутрекера.
ха, меня тоже особенно это интересует, дайте знать как что-нить удастся выяснить ) я пока что руками качаю новые сезоны..
Цитата:
Сообщение от Dganic Посмотреть сообщение
И что этот сервис делает? http://couchpota.to/
Он делает волшебство Задаете ему название фильма и требуемое качество, а он его вам находит и качает куда скажете. Шарман, прямо. Только вот он ориентирован на загнивающий запад, поэтому из поддерживаемых торрент-трекеров у него только Пиратская бухта (либо я чего-то не нашел в настройках), а остальные движки - это так называемые бинарные news-groups, штука не распространенная в рунете + еще и платная.
keyf вне форума   Ответить с цитированием
Старый 09.05.2012, 01:04   #9
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
На самом деле с сериалами на самом деле не всё таки безнадежно...
Наверное я не хардкорный сериальщик, пока не сталкивался с необходимостью настолько "держать руку на пульсе" А вот возможность написать где-нить в окошечке название кино, нажать enter и получить его уже скачанным - это да, это я понимаю
keyf вне форума   Ответить с цитированием
Старый 09.05.2012, 01:27   #10
keyf
Member
 
Регистрация: 18.04.2012
Адрес: Moscow, Russia
Сообщений: 39
По умолчанию как оно работает

ОС: Ubuntu linux (как-то и не задумывался что ставить для HTPC)
torrent-клиент: transmission (привык к нему на Маке + полный доступ как по веб, так и из командной строки).

Итак задумка следующая: я отправляю письмо с нужным торрентом во вложении, в теме письма указываю Правильное Название (которое потом однозначно распознается скрепером Кинопоиска), далее курю бамбук, работаю, гуляю и, вернувшись домой, та-дааам, обнаруживаю нужно кино скачанным и готовым к просмотру.

1. Заводим ящик на любом удобном вам почтовом сервере (у меня gmail). Скрипт "пожирает" почту, т.е. сообщения не сохраняются, поэтому разумно завести отдельный ящик для авто-скачки.

2. Настраиваем fetchmail на регулярный забор почты и postfix на запуск чудо-скрипта при получении сообщения с определенной темой сообщения (у меня в начале письма стоит "[M]").

По первым двум пунктам гугл знает оч многое, но если кто-нить соберется сделать у себя такую же систему, я выложу конфиги и объясню все пошагово.

Скрипт обработки входящей почты:
а) выкусывает прицепленный к письму торрент
б) сохраняет в "базе данных" хеш торрента и название которое я заказал в теме письма (для последующего переименования когда файл закачается)
в) запускает скачку торрента
(сделан на основе скрипта из документации postfix, поэтому немного наворочено)
Код:
#!/bin/bash

INSPECT_DIR=/var/spool/torrents
# куда складывать торренты чтобы их подхватила transmission
TARGET_DIR=/var/spool/torrents/watch
# "база данных" торрентов
TORRENT_DB=/var/spool/torrents/torrent.db

SN="torrent pre-processor:"

# понятия не имею зачем, но так было :)
# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$ *textfile*" 0 1 2 3 15

 # Start processing.
cd $INSPECT_DIR || {
     logger "$SN $INSPECT_DIR does not exist"; exit $EX_TEMPFAIL; }

cat >in.$$ || {
     logger "$SN: Cannot save mail to file"; exit $EX_TEMPFAIL; }

# Выкусываем приаттаченный торрент
/usr/local/bin/ripmime -v --prefix -i in.$$ || {
     logger "$SN Ripmime failed"; exit $EX_TEMPFAIL; }

# на самом деле не тестировал на кол-ве торрентов большем чем один, этот цикл тут остался опять же из примера
NUM_SOURCE_FILES=`ls -1 *.torrent | wc -l`

if [ $NUM_SOURCE_FILES -gt 0 ]; then
        for f in *.torrent
        do  
            TARGET_FILE=${TARGET_DIR}/$f
	    # берем имя для торрента либо из темы письма, либо из описания торрента
	    TSUBJ=`cat in.$$ | awk '/Subject: \[M\]/ {gsub(/Subject: \[M\]/,""); print}' | awk '{gsub(/ /,".");print;}'`
	    if [ -z "$TSUBJ" ]; then
	            logger "$SN cannot extract torrent name from subject, using name from torrent info"
		    TSUBJ=`transmission-show $f | awk '/^Name: / {sub(/Name: /, ""); print}'`
	    fi
            # берем хеш торрента
	    THASH=`transmission-show $f | awk '/Hash:/ {sub(/Hash:/, ""); gsub(/ /,""); print}'`
            # если такой торрент уже был, отваливаемся
	    TMP=`cat $TORRENT_DB | grep $THASH`
		if [ -n "$TMP" ];then
			logger "$SN torrent with hash $THASH exists. Cancelling…"
			exit 1
		fi
                # если нет - сохраняем данные торрента
		echo "$THASH:$TSUBJ" >> $TORRENT_DB

	    logger "$SN torrent ($THASH:$TSUBJ) saved to database $TORRENT_DB"
            logger "$SN Moving $f to $TARGET_DIR"
            chmod 644 $f
            # отдаем торрент на обработку transmission
            mv $f $TARGET_DIR/ 
        done
else
        logger "$SN No torrent files to copy"
fi

# We DON'T re-inject the message back into postfix via sendmail!
exit $?
После того как торрент скачался, transmission умеет запускать пользовательский скрипт для пост-процессинга (задается в настройках). Его задачи:
а) проверить есть ли такой торрент в "базе данных" (по хешу). Если нет - это торрент добавленный вручную, с ним мы ничего сделать не можем
б) создать ссылку(-и) с нужным именем в нужной папке (та, куда смотрит xbmc)
Код:
#!/bin/bash

TORRENT_DB=/var/spool/torrents/torrent.db
TARGET_DIR=/home/xbmc/Movies
SUPPORTED_FORMATS="avi|mkv|vob|wmv|mov|mp4|mpg|3gp|asf|swf"
SN='torrent post-processor:'

# get torrent hash
# TR_TORRENT_HASH - var with torrent hash
logger "$SN start with torrent ID $TR_TORRENT_ID."

# get name from lib
TARG_NAME=`cat $TORRENT_DB | grep $TR_TORRENT_HASH | cut -d: -f2`

# if name is empty - cancel
if [ ! "$TARG_NAME" ]; then
	logger "$SN hash $TR_TORRENT_HASH was not found in $TORRENT_DB. Exiting.";
	exit 1;
fi

# check name for spaces
if [[ "$TARG_NAME" == *" "* ]];
then
	TARG_NAME=`echo "$TARG_NAME" | awk '/ / {gsub(/ /,".");print}'`
fi

# find source file(s)
# change the array items separator
# spent about 3 hours to find this out ;)
IFS=$'\n'

TORRENT_FILES=`transmission-remote -t $TR_TORRENT_ID -f | awk '/^  [0-9]/ {gsub(/  /," ");print}' | cut -d' ' -f9- `

if [ -z "$TORRENT_FILES" ];
then
	logger "$SN torrent (ID $TR_TORRENT_ID) has no files. Exiting."
	exit 1
fi
logger "$SN using name $TARG_NAME for hash $TR_TORRENT_HASH"

#check if there are folders in names
FOLDERS=`echo $TORRENT_FILES | grep '/'`
if [ "$FOLDERS" ];
then
	# if there are slashes - just make link to whole dir and exit
        # здесь немного криво - я расчитывал, что xbmc будет правильно находить кино, если переименовать всю папку. на самом деле переименовывать надо все файлы по отдельности. поэтому в текущей редакции если у вас в торренте фалики помещены в папку, то работать правильно не будет (пока что)
	# for some reason at that point TORRENT_FILES contains only one row (with no CRs), 
	# so it's not possible to take just the first or the last row.
	# we'll request the file list again from transmission-remote instead
	TORRENT_FILES=`transmission-remote -t $TR_TORRENT_ID -f | awk '/^  [0-9]/ {gsub(/  /," ");print}' | cut -d' ' -f9- | tail -1 | egrep -o "^(.*)/" `
	TORRENT_FILES=`echo $TORRENT_FILES | awk '{gsub(/\//,""); gsub(/ /,"\ "); print}'`
	FULL_SRC_NAME=`find $TR_TORRENT_DIR -name "$TORRENT_FILES" -type d`
	logger "$SN creating link $TARGET_DIR/$TARG_NAME pointing to dir $FULL_SRC_NAME"
	ln -s "$FULL_SRC_NAME" $TARGET_DIR/$TARG_NAME
	exit 0;
else
	TORRENT_FILES=`echo $TORRENT_FILES | awk "/$SUPPORTED_FORMATS$/ {print}"`
fi
# check if the list is empty
if [ ! $TORRENT_FILES ];
then
	logger "$SN no supported files found. Exiting."
	exit 1
fi

for SRC_NAME in $TORRENT_FILES
do
	SRC_EXT=`echo $SRC_NAME | egrep -o '(\.[^.]+)$'`

	FULL_SRC_NAME=`find $TR_TORRENT_DIR -name $SRC_NAME `
	# finally, create the link
	logger "$SN creating link $TARGET_DIR/$TARG_NAME$SRC_EXT pointing to $FULL_SRC_NAME"
	ln "$FULL_SRC_NAME" "$TARGET_DIR/$TARG_NAME$SRC_EXT" 
done

logger "$SN done with torrent ID $TR_TORRENT_ID."
Вот примерно так. Конструктивная критика приветствуется, я все ж не мастер shell-программирования, писал это все с гуглом наперевес )
Если кому будет полезно - ура
keyf вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с медиатекой demel Общие темы для обсуждения 4 24.09.2012 21:02


Текущее время: 06:46. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.