Специально для этого существует SubDownloader. Программа имеет графический интерфейс и интерфейс командной строки и полностью автоматически выкачивает субтитры для всех видеофайлов в указанной вами директории (или для одного видеофайла).
Правда, мне показалось неудобным использовать ее графический интерфейс, и я решил пойти дальше, интегрировав запуск SubDownloader в меню Nautilus, чтобы для скачивания всех нужных мне субтитров мне было необходимо только два раза щелкнуть мышью. :)
Т. к. программа имеет CLI-интерфейс, то сделать это было предельно просто. Я написал небольшой скрипт:
#!/bin/bashи добавил в Nautilus-Actions следующее действие:
# Скачивает субтитры для всех файлов, находящихся в папке, путь к которой
# передан в качестве параметра.
video_dir="$1"
script_pid=$BASHPID
if ! which zenity > /dev/null 2>&1
then
echo "Error! zenity must be installed." >&2
exit 1
fi
if [[ $# -ne 1 || ! -d "$video_dir" ]]
then
zenity --error --title="Subtitle downloader usage error" \
--text="Subtitle downloader usage error. Program takes a path to a directory with video files as a parameter."
exit 1
fi
if ! which subdownloader > /dev/null 2>&1
then
zenity --error --title="Subtitle downloader error" \
--text="SubDownloader (http://subdownloader.net/) must be installed."
exit 1
fi
subdownloader --cli --lang=eng --rename-subs --video="$video_dir" 2>&1 | {
while read line
do
echo "$line"
echo "$line" >&2
done
} | {
if ! zenity --progress --pulsate --auto-close \
--title="Subtitle downloader" \
--text="Downloading subtitles for the '$video_dir'..."
then
kill $script_pid
fi
}


Все. Теперь я в Nautilus перехожу в любую директорию, содержащую видеофайлы, для которых необходимо скачать субтитры:

кликаю по элементу меню File->Download subtitles:

жду, пока субтитры скачаются:

и получаю то, что мне нужно:

Теперь можно смотреть эти серии при помощи submplayer. :)
Единственное, что надо отметить, SubDownloader 2.0.9.3 который был у меня в Ubuntu 9.10 почему-то отказывался переименовывать субтитры, чтобы их имена совпадали с именами видеофайлов (с GUI-интерфейсом таких проблем не было). Поэтому я установил SubDownloader 2.0.10~beta1+bzr483 из PPA разработчиков, в которой эта ошибка уже устранена.
Удачи, надеюсь мой совет вам пригодится.
7 комментариев:
Totem умеет качать сабы с opensubtitles.org
Сделал всё по инструкции. Когда жму скачать субтитры, получаю такую ошибку: Subtitle downloader usage error. Program takes a path to a directory with video files as a parameter.
у меня Ubuntu 9.10 (karmic)
m3, сравните ваши настройки вот с этим скриншотом. В поле Parameters у вас должно стоять то же значение, что и на скриншоте ("%d/%f").
Привет, Дмитрий!
Скрипту передаётся один параметр — путь к папке. Если выполнять из терминала, то всё в порядке... из наутилуса выполнятьсяне хочет :(
Ну даже не знаю... Сложно сказать неглядя. Тут одно из двух: либо вы все-таки что-то не правильно ввели в Nautilus Actions, либо вы наткнулись на какую-то забавную багу. :)
Посмотрите, что именно Nautilus передает скрипту в качестве параметров, к примеру, подменив текущий скрипт вот таким:
#!/bin/bash
for i in $(seq 0 $#); do eval "arg=\$$i"; echo "$arg"; done | zenity --list --column=Arguments
Я правильно понимаю, что на вкладке Conditions настраивается к каким файлам будет доступен данный пункт контекстного меню. У вас стоит на все. Можно ограничить только видео форматами для разумного минимализма. Можно из через запятую перечислить?
Пользуюсь xfce.
Pe1ro, ... а ниже помечена галочка "Only folders", так что меню настроено на все директории, а не на все файлы. Т. е. кликаю правой кнопкой по директории, в которой лежат серии, и у меня разом скачиваются субтитры для всех серий.
Отправить комментарий