Как по мне, «Боже, Благослови Америку God Bless America (Боб Голдтуэйт Bobcat Goldthwait) (2011) США, триллер, чёрная комедия, криминал, HDTVRip-AVC.mkv» намного худший вариант имени файла, чем исходный
Каждому своё, но мне лично нравится видеть то название, по которому я нашел закачку на сайте, на не некоторое кодовое название, или что еще хуже на транслите.
Если у вас библиотека скачанных фильмов насчитывает несколько терабайт и вы постоянно что-то докачиваете, причем не только для себя, то такое название просто отличное.
Автору огромное спасибо! ) У меня лежит куча фильмов со странными названиями (далеко не всегда их именуют правильно), содержание которых я ни за что не вспомню.
При нынешних скоростях интернета и возможностях современной техники не понимаю, зачем библиотеку собирать. Я быстрее найду и скачаю на торрентах, чем у себя на диске :)
Ну если все будут так размышлять, то у кого Вы в итоге качать будете?
Да и скорость закачки редких фильмов, из-за небольшого количества сидов, желает лучшего.
Про редкие фильмы соглашусь, но редкий фильм и посмотреть хочется редко, так что можно и потерпеть.
А вообще после скачивания не стираю фильмы, пока место есть на диске, так что проблемы с кого качать не вижу. Потом просто гигов 20-30 сразу освобождается и то смотрю в utorrent, что плохо разбирают, а что получше.
Возможно оно и ужасно, но оно содержит гораздо больше информации чем изначальное и любая программа каталогизатор сможет по новому имени найти полное описание фильма в сети, к примеру на Kinopoisk.ru, чего она не сможет сделать по оригинальному, особенно если это русское имя на транслите.
Ну, бывают такие фильмы, которые потом, может быть, уже не скачаешь. Аналогично, бывает такая музыка (попробуйте, к примеру, найти хотя бы 10 песен Джоно Бэкона, не считая сделанную мной веб-страницу — хотя, казалось бы, не такой уж и неизвестный человек). И вот на таких раздачах хочется оставаться месяцы и годы, потому что всегда есть некоторая вероятность, что после тебя уже никого на этой раздаче не будет.
Лично я храню только самые понравившиеся мне фильмы еще и для того, чтобы помнить их список, а то забывается что фильм хороший, может и посмотрел бы его, но сразу и не вспомнишь, а так все под рукой. Да и куда еще девать 2 терабайта дискового пространства :)
Я просто завел два каталога:
/somewere/deep/video/ — для закачек
/kino/ — для просмотра
первая директория периодически сканируется скриптом и создает симлинки во второй (если они там отсутствуют). После чего эти симлинки переименовываются как удобно, а оригинальный файл остается нетронутым, так что торрент-клиент спокойно продолжает его раздавать. Из плюсов подобной схемы можно отметить что доступ к фильмам есть у всех домашних, но меня не беспокоит возможность того, что они могут что-то удалить или переименовать.
Я добавил поддержку HardLink-ов для NTFS, смотрите Update2.
Теперь при помощи моего скрипта можно сделать схему, довольно похожую на Вашу.
Я так понимаю Вы работаете из под Linux, можете оценить, насколько реально портировать мой скрипит под Linux?
Скрипт переименует только корневой каталог закачки, внутри останутся оригинальные имена.
У меня такая проблема возникала, когда фильм идет с субтитрами, то есть есть каталог, а в нем фильм и субтитры. Приходится переименовывать вручную. Я подумывал над тем, чтобы скрипт залез внутрь каталога и переименовал файлы в нем, но руки так и не дошли.
Скрипт далеко не универсальный, да, но в полуавтоматическом режиме я поддерживаю свою коллекцию видео в приемлемом виде.
Пробовал программы каталогизаторы вроде movienizer — не прижились. Собственно скрипт появился уже после попыток использования программ-каталогизаторов видео.
>с именем «Боже, Благослови Америку God Bless America (Боб Голдтуэйт Bobcat Goldthwait) (2011) США, триллер, чёрная комедия, криминал, HDTVRip-AVC.mkv»
Кошмар какой -_- На Рутрекере конечно бывают файлы с какими-то дикими именами, но это точно не тот случай.
Идея в том, чтобы в имени файла было как можно больше информации, которая теряется, если файл уходит в коллекцию видео.
В конце концов если есть доступ к страничке описания файла, то от туда можно выковырять любую информацию, дело только в сложности парсинга html.
Мне оказалось достаточно тайтла странички, в основном потому, что это было проще всего сделать.
Я понимаю в чем ваша идея. Я ее просто не поддерживаю.
Имя файла «God.Bless.America.2011.HDTVRiP720.mkv» содержит всю необходимую информацию — название фильма, год выпуска(хотя это тоже спорно, если только нет нескольких фильмов с одним названием, но разного года выпуска), формат и само собой расширение. Если бы это был сериал, то там бы еще было S01E08 к примеру — т.е. 8й эпизод 1го сезона.
Я еще понимаю ваше желание иметь русское название фильма в названии, но зачем там вся остальная инфа — мне категорически непонятно.
1. Как правило по названию файлов мне трудно вспомнить что это за фильм.
Раньше мне часто приходилось производить поиск по имени файла в Google только для того, чтобы вспомнить что это за фильм такой у меня валяется, сейчас же я это делаю намного реже.
2. Я как-то занялся упорядочиванием моей коллекции фильмов при помощи кталогизатора AllMyMovies, а затем Movienizer и столкнулся с проблемой что эти программы не могли найти информацию в интернете для большинства моих файлов именно из-за того, что в названии файлов было недостаточно такой информации. Большинство этих файлов я скачал как-раз таки с рутрекера.
Сама идея в том чтобы не терять информацию, которая уже была доступна на момент загрузки файла.
В перспективе я хотел сохранять всю информацию со странички трекера в виде метаданных,
доступ к которым можно было бы получить нажав к примеру комбинацию клавиш или выбрав пункт контекстного меню, или как нибудь еще.
И накинулись на автора, что де у него файлы как-то криво названы. Нельзя критиковать стиль именования — это личное дело каждого! Нравится автору такой стиль — его право!
Давайте лучше обсудим актуальные достоинства и недостатки такого решения:
Pro:
1. Единообразие — это клево. Выбрать стиль и придерживаться его, гораздо важнее споров о преимуществах и недостках (тех же египетских скобок, например;) )
2. Автоматизация — это правильно
Contra:
1. Что делать с раздачами с других трекеров?
2. Переименование лучше заменить на создание симлинков — тогда можно оставаться на раздаче.
Спасибо.
Дело даже не в том что мне нравится или не нравится такой стиль именования, дело в том, что мне так было проще всего сделать, т.к. в оформлении описаний закачки нет единых правил и предусмотреть все варианты для парсинга странички довольно сложно.
Меня лично этот компромисс устраивает, кого не устраивает, тот пусть ищет другое решение.
>>1. Что делать с раздачами с других трекеров?
Можно добавлять парсера для других трекеров.
>>2. Переименование лучше заменить на создание симлинков — тогда можно оставаться на раздаче.
Хорошая идея, я тоже об этом думал.
Конечно как именовать ваши файлы — Ваше дело, но…
Надо бы сделать страницу и назвать раздачу так: "☭ «Красная жара» ", чтобы вы поняли прелесть не-latin-1 символов в названиях файлов. На Windows (с ее windows-1251) это будет особенно болезненно. :)
Не называю файлы/папки юникодом, т.к. не знаю какой системой придется когда-нибудь их открыть. В 8.3 конечно уложиться никогда не получается. Паттерн именования файлов такой [a-zA-Z0-9.-]*
Тогда мне очень странно, что при копировании файлов из *nix с не latin-1 именами на раздел с FAT32 я их потом в win-XP прочесть не мог. все было типа ?????????.zip
Можно пруфлинк???
Пруф лежит в Википедии: http://ru.wikipedia.org/wiki/FAT#LFN-.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B8. Мне в одной книге попадался разбор формата FAT, оттуда и помню.
А то, что вы не могли из *nix записать на FAT что-то отличное от latin-1, то это вина исключительно вашей *nix системы. Возможно, разработчики драйвера забыли о существовании других кодировок. Возможно, разработчики дистрибутива не включили в поставку по умолчанию поддержку юникода. Ну и так далее.
У симлинков обнаружились проблемы в связке Win7+SMB+NMT. В свое время я сделал очень похоже, как у автора, с парой отличий: фреймворк от мозиллы с GUI; создавалась папка с новым «длинным именем», в которой лежал хардлинк файла с «коротким именем». Если в раздаче состояла папка, то использовался симлинк (Junction). Раздачи не обрывались.
Я ошибся, память подвела. Win7+SMB+NMT работает отлично с симлинками. Проблема была в uPnP-сервере myiHome. Теперь подробнее. Какой-то период времени на моем домашнем компьютере не работали Shared Folders. Они поломались, когда я делал из компьютера wi-fi точку доступа с помощью Kerio. Шары мне были не нужны по большому счету, но контент был доступен через утилиту myiHome, которая прилагалась к NMT — железному сетевому медиа-пригрывателю. Так вот, глючный и сырой myiHome считал, что у всех файлов-симлинков нулевой размер и не давал их проигрывать медиа-танку.
Таким образом, для папок делались симлинки, а для файлов хардлинки.
Насчет скрипта я бы проверил, как хардлинки работают для директорий — насколько я понял из MSDN, для директорий хардлинки использовать нельзя.
У вас очень странный способ написания кода на Python'е (мне потребовалось пару секунд, чтобы определить, что это Python). Это ведь Ваш не основной язык, скорее третий после Java'ы или C#?
Кстати, а что именно отличает мой код от кода опытного питониста?
Можно пример как бы Вы реализовали одну из функций, мне действительно интересно было бы посмотреть…
Отличная идея.
И если уж использовать симлинки то можно сделать так:
1. Оргинальный файл оставит там где он есть, чтобы не уходить с раздачи.
2.Симлинк на файл с именем: «God Bless America.mkv» (оставил бы в латиннице чтобы небыло проблем со всякими аппаратными плеерами, типа автомобильного) поместил бы в папки:
видео/жанры/триллер
видео/жанры/ чёрная комедия
видео/жанры/криминал
видео/актеры/Боб Голдтуэй
видео/актеры/
видео/год/2011
видео/страна/США
видео/непросмотренное
видео/качество/HDTVRip
В вашей идее, конечно, что-то есть. Но думаю вариант по-умолчанию не для всех. А вообще, если хотите развивать идею, то сделайте еще файл конфига, в котором можно будет указывать параметры, например так:
filename = "%eng_title% %rus_title% %year% %genre% %encoder% %translate%"
Ну и таки сделайте и убедитесь, чтобы под Linux работало, не плохо так же сделать параметр с директорией куда будут создаваться симлинки(выше уже про это писали).
Думаю идею по дальнейшему развитию вы поняли, сделать конфиг и побольше параметров туда забить, чтобы каждый смог под себя настроить. Вот тогда будет зергуд.
И еще вопрос. Хоть вы и написали, что python не ваш основной язык, но почему версия 2.7? Ведь нужно можно было использовать 3 версию.
Чем больше мы пишем на 3 питоне, тем больше ускоряем процесс перехода на него(а этого очень хочется).
Я указал Python 2.7 потому, что я писал скрипт где-то год назад и не запускал его под 3-м питоном, думаю перейти на 3-ю версию не составит труда. Идея написать статью пришла мне в голову только сегодня утром, и по этому небыло времени что-то переделывать в коде.
Софт: каталог фильмов — к ним цепляется торрент файл. Если хочешь посмотреть фильма, программа начинает стримить видео по p2p.
Есть ли такая программа? Позволила бы не хранить фильма на HDD
Как по мне, то можно глаза и голову сломать пока поймешь что за фильм скрывается за этими названиями.
Не, ваш список не такой уж и страшный…
Вот над какими именами у меня обычно голова болит:
m18teens.08.11.24.Aletta.inyf.wmv
pinkyjune-hardcoreriver.mp4
x-art_prague_bts_2011.flv
Zoe_Chocolate_Ice-cream_HD.mp4
Загонять побольше информации в название файла — это конечно ход, но не выход. Я вот давно мечтаю о плеере (железном) который бы распознавал название файла (я согласен помочь ему и переименованием файла и в сложных случаях вручную) и привязывал бы к нему инфу из какого-нибудь интернет-источника. Это была бы действительно полная информация. Там можно было бы искать и годам и по актерам. Была бы нормальная фильмотека. Сам сижу до сих пор на первом попкорне и жду плеер-мечту. Тем временем на винте уже почти 2000 файлов, как просмотренных, так и в очереди и найти что-то все сложнее и сложнее. Может такая железка уже существует?
А что, если не сохранять эту информацию в имени файла (имя файла наоборот делать коротким и чётким), а записывать её в виде метаданных файла? Это позволяют делать многие контейнеры, например, MKV.
Это все в планах, но для начала эту информацию необходимо изъять из html странички в каком-то структурированном виде. Проблема в том, что странички описания создаются людьми и нет четких правил для создания этих самых страниц.
Если создавать жесткую ссылку на файл, то исходное имя не меняется и оба имени равноценны и указывают на одни и те-же данные. Единственное ограничение работает в пределах одного диска NTFS.
Вот статья на википедии: Жёсткая ссылка
Извините, я сразу не понял Ваш предыдущий комментарий. Я подумал, что Вы имеете в виду изменение имени файла.
Если по теме, то сохранять метаданные в файл можно не модифицируя основной поток данных.
На файловой системе NTFS есть возможность создания альтернативных потоков данных, можно воспользоваться этой возможностью.
Ну или в базу данных сохранять.
Если вы перенесете этот код в плагины для XBMC (там тоже питон), чтоб он переименовывал в %название на англ% %год% %расширение%, чтоб XBMC потом автоматически находил фильм на IMDB — было бы вообще отлично.
Хотя надо поискать, может что-то подобное уже есть…
Автор, есть ли шанс увидет Вас на гитхабе? У меня есть подобный скрипт на php с поддержкой разных трекеров, хотелось бы приобщиться к python и поконтрибьютить :)
qBittorrent позволяет изменять имена файлов в раздаче без всяких ссылок. Думаю, это фича rasterbar-libtorrent, и любой производный от неё клиент можно этому обучить.
Переименование файлов, скачанных с rutracker.org