пятница, 25 января 2013 г.

Качаем субтитры в одно нажатие / Download subtitles in one click

Вы часто смотрите фильмы с субтитрами? Вот я, например, это дело очень люблю, но, честно сказать, я устал их искать и скачивать. Ведь хочется так, чтобы "включил и смотри". И я нашёл такой способ. Делюсь.

Вам понадобится:
- Linux (подойдёт любой, но тестировалось на Ubuntu и Arch Linux)
- Видеоплеер (в моём случае это mplayer)
- subdl - небольшая утилита, позволяющая скачивать субтитры с opensubtitles.org
- совсем немного bash-а

Готовим

Качаем и устанавливаем subdl

mkdir ~/bin
wget http://subdl.googlecode.com/svn/trunk/subdl -O ~/bin/subdl
chmod +x ~/bin/subdl

Пишем и устанавливаем небольшой скритп mplayer-sub.sh

cat > ~/bin/mplayer-sub.sh << EOF
#!/bin/bash

[[ -z "\$@" ]] && exit 0
interactive=""; if [[ "\$1" == "-i" ]]; then interactive="-i"; shift; fi

for file in "\$@"; do echo \$file; subdl \$interactive "\$file"; done
mplayer "\$@"
EOF
chmod +x ~/bin/subdl

Используем

Ну что, попробуем? Если до настоящего момента у вас не было директории ~/bin, то потребуется перелогиниться, а если же уже была, то - поехали!
mplayer-sub.sh Once.Upon.a.Time.S02E12.HDTV.x264-LOL.mp4
или так
mplayer-sub.sh ~/Video/Once.Upon.a.Time.S02E12.HDTV.x264-LOL.mp4
или да же вот так
mplayer-sub.sh ~/Video/Once.Upon.a.Time.*.mp4
В последнем примере наш скрипт скачает субтитры на английском языке (это язык по-умлочанию для subdl, разумеется можно поменять) для всех видеофайлов подпадающих под шаблон Once.Upon.a.Time.*.mp4 и затем добавит их в плейлист mplayer-а. Удобно, неправда ли? :)

 


 

Do you like to watch movies with subtitles? I do like it very much and to be honest I've got tired to download them each time. Wouldn't it better if you could just click and go? There is a way. I'd like to share.

You need:
- Linux (any Linux, but tested on Ubuntu Arch Linux)
- Movie player (it's mplayer in my case)
- subdl
- command-line tool to download subtitles from opensubtitles.org
- just a little of bash

Cook

Download and install subdl

mkdir ~/bin
wget http://subdl.googlecode.com/svn/trunk/subdl -O ~/bin/subdl
chmod +x ~/bin/subdl

Create and install small script mplayer-sub.sh

cat > ~/bin/mplayer-sub.sh << EOF
#!/bin/bash

[[ -z "\$@" ]] && exit 0
interactive=""; if [[ "\$1" == "-i" ]]; then interactive="-i"; shift; fi

for file in "\$@"; do echo \$file; subdl \$interactive "\$file"; done
mplayer "\$@"
EOF
chmod +x ~/bin/subdl

Use

Well, shall we try? If you didn't have ~/bin directory before you should re-logon and if you did than let's go!
mplayer-sub.sh Once.Upon.a.Time.S02E12.HDTV.x264-LOL.mp4
or
mplayer-sub.sh ~/Video/Once.Upon.a.Time.S02E12.HDTV.x264-LOL.mp4
or even
mplayer-sub.sh ~/Video/Once.Upon.a.Time.*.mp4
In the last example it downloads English subtitles (English is default for subdl and can be changed) for all of the files those match Once.Upon.a.Time.*.mp4 and then mplayer plays them all.

It's simple, isn't it? :)

2 комментария:

Анонимный комментирует...

Зачем нужны субтитры?

Станислав Збарасский комментирует...

Спасибо, тёзка. :)