Как я в сериалы в консоли смотрю / bash-скриптинг

    Вы любите смотреть фильмы? Я — да: «Теория большого взрыва», «The IT Crowd», разное аниме… Все это очень затягивает.
    Для просмотра всего этого добра я пользуюсь консольной версией самого всеядного медиаплеера mplayer. (Давайте воздержимся от холивара по поводу красноглазия и GUI vs консоль) Но вот незадача, для каждой новой серии приходится заново набирать длинную команду вроде такой:
    $ mplayer -ass -subcp cp1251 имя_сериала_01_еще_какая_то_чушь.mkv
    

    Ясное дело, что я не набираю всю эту простыню с нуля, а просто стираю бэкспейсом до номера серии, пишу новый номер и табом дополняю до конца имени файла. Но это ведь долго и неудобно, можно промахнуться и стереть лишнего.
    А еще часто смотрится несколько сериалов параллельно, по мере выхода новых серий. И помнить, на какой серии я остановился в прошлый раз, и с какими параметрами и ключами запускал mplayer, становится затруднительно. И поэтому я решил написать себе на шелле простую запускалку плеера, которая будет запоминать параметры, номер последнего просмотренного эпизода и уметь подставлять номер следующего в команду запуска.

    Интерфейс


    Для начала определимся, какой интерфейс должен быть у этой обертки.
    Номера сериалов практически всегда двузначные, поэтому я не стал заморачиваться с поддержкой однозначных или трехзначных чисел.
    Вот так будет выглядеть первоначальная настройка, которую нужно выполнить только один раз:
    $ cd ~/имя_сериала # где и что мы хотим смотреть
    $ ls # смотрим, как называются видео-файлы
    serial_name_01_bla_bla.avi
    serial_name_01_bla_bla.srt
    serial_name_02_bla_bla.avi
    serial_name_02_bla_bla.srt
    ...
    $ serial set mask "serial_name_??_bla_bla.avi" # указываем параметр name - имя видеофайлов с замененным номером серии на "??"
    # serial set options -subcp cp1251 # опционально указываем параметр options - ключи, с которыми запускать mplayer
    

    А теперь смотрим:
    $ serial next # Начнем с начала
    Playing episode 01...
    ...
    $ serial next # Понравилось, давайте следующий
    Playing episode 02...
    ...
    $ serial same # Увидел смешной момент, хочу пересмотреть заново этот же эпизод
    Playing episode 02...
    ...
    $ serial episode 14 # Перепрыгиваем к конкретному эпизоду
    Playing episode 14...
    ...
    $ while true; do; serial n; sleep 1; done; # нон-стоп
    

    А если у нас имена эпизодов различаются не только номером серии? Тогда используем подстановку shell:
    $ ls # смотрим, как называются видео-файлы
    serial_name_01_qwerty.mkv
    serial_name_02_asdfgh.mkv
    $ serial set mask "serial_name_??_*.avi" # указываем параметр name c заменой подстановки на звездочку
    $ serial set glob yes # выполнять подстановку
    


    Пишем


    Выставим дефолтные значения, это просто:
    player=mplayer
    options=""
    episode=00
    

    Где будем хранить данные о состоянии просмотра? В первую очередь приходит мысль записать это прямо в папку, в которой он лежит, но такой вариант не подойдет, если вы смотрите сериал с компакт-диска, который, как известно, read-only. Также защищенными от записи могут быть сетевые папки (nfs/samba) или просто неправильно настроенные права у торрентокачалки.
    Поэтому хранить будем в домашней папке, но идентифицировать сериал будем так же по пути в файловой системе, где эпизоды лежат. Для удобства лучше еще взять от него хэш, чтобы не иметь дела с экранированием всяких спецсимволов, которые могут там встретиться.
    pwdhash=`pwd|md5sum|awk '{print $1}'`
    

    Создадим директорию, в которой будем хранить все наши состояния сериалов, если её еще нет:
    test ! -d ~/.serial && mkdir ~/.serial
    

    Определим имя файла, в которое будем записывать:
    savefile=~/.serial/$pwdhash
    

    Вот где-то тут меня посетила шальная мысль, что можно использовать полновесную реляционную базу данных вроде sqlite или еще того тяжелее, mysql, но эту мысль я вовремя отогнал, иначе бы вышел большой монстр вместо простой обертки над мплеером.
    Теперь о сериализации: как именно хранить данные? Парсить свежепридуманные форматы на языке bash, который предназначается совершенно для других целей, мне совсем не улыбалось, поэтому я просто решил что там будут переменные окружения в таком же sh-формате.
    Давайте загрузим файл, если он уже там есть:
    if [ -f $savefile ]
    then
        ready="true"
        . $savefile
    fi
    

    Так, а какие действия мы можем выполнить с сериалом? Я остановился на таких:
    case $1 in
        # Запускает следующий эпизод
        n|next)
            # ...
        ;;
        # Запускает только что просмотренный эпизод снова
        s|same)
            # ...
        ;;
        # Запускает эпизод по его номеру 
        e|ep|episode)
            # ...
        ;;
        # Устанавливает параметры, с которыми просматривать сериал
        set)
            # ...
        ;;
        # Просмотр текущего состояния
        status|show)
            # ...
        ;;
        # И краткая справка, если я что-то вдруг забуду.
        *)
            echo Unknown command.
            echo Commands:
            echo next - plays episode next to what you have played before
            echo same - plays this episode again
            echo show - shows current state
            echo episode NN - plays episode NN
            echo set var_name value - sets the variable
        ;;
    esac
    

    Приступим к реализации отдельных действий.
    Первым делом стоит проверить, настроили ли мы просмотр этого сериала или нет. Так как это действие выполняется почти в каждой команде, я вынес его в функцию, которая смотрит наличие установленной при загрузке параметров переменной, и в случае отсутствия выводит инструкцию, как же это дело настраивается.
    function check_ready {
        if [ -z "$ready" ]
        then
            echo This directory is not known to have serials.
            echo Use the following command to setup:
            echo "$0 set mask \"Movie_name_episode_??_smth.avi\""
            exit 1
        fi
    }
    

    Теперь, собственно, запуск, также отдельной функцией:
    function launch {
        # ...
    }
    

    Сначала заменим вопросы в названии на текущий номер эпизода:
    movie="`echo \"$mask\" | sed \"s/??/$episode/g\"`"
    

    С подстановкой у меня возникли проблемы: оказывается, в баше это не так-то просто… Перепробовав много вариантов разной степени извращенности, я остановился на таком, хотя если честно, так и не понял как он работает, но побочный эффект его в том, что нужно экранировать пробелы при задании маски:
    if [ "$glob" == "yes" ]
    then
        movie="$(eval "echo $movie")"
    fi
    

    В комментариях можете предложить варианты получше.

    Проверим, что файл с полученным названием существует, а если нет, нужно вывалить сообщение и выйти.
    test ! -f "$movie" && die Episode $episode not found
    

    Ах да, вот еще одна вспомогательная функция: выводит сообщение и выходит
    function die {
        echo $@
        exit 1
    }
    

    Вернемся к реализации функции запуска launch. Сохраним номер последнего проигранного эпизода (а заодно и дату запуска) в файл настроек:
    echo episode=$episode "#" at `date` >> $savefile
    

    Выведем сообщение о текущем эпизоде:
    echo Playing episode $episode...
    

    И наконец запустим наш плеер с параметрами, файлом и дополнительными аргументами, которые может передать пользователь после указания эпизода
    $player $options "$movie" "$@"
    

    Отлично, функция launch готова! Осталось совсем малость: заполнить конструкцию case. Самая простая команда — same:
    s|same)
        check_ready
        shift
        launch "$@"
    ;;
    

    Для просмотра следующего эпизода нужно инкрементировать переменную, но при этом сохранить отбивку нулями сначала. Для этого подошел awk:
    n|next)
        check_ready
        episode=`echo $episode |awk '{printf "%02d",$1+1}'`
        shift
        launch "$@"
    ;;
    

    Вот так можно запустить с конкретным эпизодом по номеру:
    e|ep|episode)
        check_ready
        test -z "$2" && die No episode specified
        episode=$2
        shift
        shift
        launch "$@"
    ;;
    

    А теперь нечто совершенно другое — установка переменных:
    set)
        # Проверим, что нам передали название переменной
        test -z "$2" && die Variables: episode mask glob options player
        var_name="$2"
        # Проверим, что есть хотя бы что-то в значении
        test -z "$3" && die No value specified
        shift
        shift
        # И запишем все что есть:
        echo "$var_name=\"$@\"" "#" at `date` >> $savefile
    ;;
    

    Наконец, вывод текущего состояния:
    status|show)
        check_ready
        echo Last played episode $episode
        echo Options are $options
        echo Savefile is $savefile
        echo Mask is \"$mask\"
        test -z "$glob" || echo Globbing is set
    ;;
    

    Вот здесь вы можете увидеть скрипт в готовом, но очень плохо документированном варианте, которым я активно пользуюсь уже давно bitbucket.org/tsx/env/src/tip/bin/serial
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 142
      • +12
        1) Smplayer помнит место, где остановился просмотр.
        2) Ctrl-W позволяет сэкономить тысячи нажатий на Backspace.
        3) Английские сабы позволяют забыть о проблемах с кодировками.
        • +2
          При всем уважении. Английские сабы не всем по зубам.
          С остальным согласен
          • +2
            А английский язык позволяет забыть обо всех сложностях русского. И что?
            • –1
              Разумеется. Особенно, если он нативный для произведения. Вы же не используете русские сабы для русскоязычных произведений, так?
              • +1
                Так. Если моё знание иностранного языка позволяет мне смотреть фильм на языке оригинала, я так и поступаю. Если не позволяет, я лучше посмотрю его с переводом, чем с сабами на том же языке. Если смотреть фильмы ради развлечения, а не ради изучения языка, конечно же.
                Так что английские сабы не нужны. А о проблемах с кодировками позволяет забыть UTF-8. К счастью, в последнее время всё больше сознательных людей пользуются ею, а не пережитками тяжёлого прошлого.
                • 0
                  к сожалению в некоторых местах ещё приходится пользоваться KOI-8. вот мне недавно батничек пришлось написать, долго же я матерился и искал редактор который это может…
                  я про
                  ECHO «Установка завершена»
                  PAUSE
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      Ага. А шрифты в консоли кто выставит правильные (== Lucida Console как минимум)
                      • 0
                        Спасибо! я не спец по вендам, по этому не знал. примем к сведению
            • –49
              Открою секрет. Вконтакте можно смотреть сериалы без всяких mplayer, скачивания фильмов итд итп. Попробуйте, это гораздо удобнее ;)
              • +11
                1. Там есть видео в оригинале с субтитрами?
                2. Там есть видео в хорошем качестве?
                • –11
                  > 1. Там есть видео в оригинале с субтитрами?

                  хардсабы есть

                  > 2. Там есть видео в хорошем качестве?

                  720p есть
                  • +5
                    Ну тогда просмотр видео вконтакте имеет право на существование, но все равно нам удобнее скачать и посмотреть в любимом плеере :)
                    • 0
                      Я иногда беру ссылку видео вконтакте, и через mplayer по сети смотрю с подключенными локальными сабами.
                    • +3
                      И ради этого ставить [censored] Flash Player?
                      • 0
                        а, Вы должно быть Ъ линуксойд? Арч, я угадал? :)
                        • 0
                          А что не так с арчем? Я его пару дней назад поставил рядом со старым добрым дебианом, всё работает с полпинка. Флеш в том числе.
                          • +6
                            Но тем не менее, он почему-то угадал.
                            • 0
                              Пусть так, сути шутки я всё равно не понял.
                            • –1
                              Минусяторы, пояснить — пальцы отвалятся?
                            • 0
                              не угадали, мандряка
                            • +1
                              А вы ютуб не смотрите? Или он уже без флеша работает?
                                • 0
                                  Ну и как оно? Я пробовал еще летом, тормозило хуже флеша и не было сглаживания. Уже допилено?
                                  • 0
                                    Недавно попробовал, теперь постоянно пользуюсь.
                              • +2
                                Я так понимаю автор иксами не пользуется, а вы про какой то там…
                            • +4
                              > 1. Там есть видео в оригинале с субтитрами?
                              > 2. Там есть видео в хорошем качестве?

                              Для меня главный аргумент:
                              3. Там есть я?
                              • 0
                                Понятно, что вконтакт — это не круто :) Но я пытался быть объективным, регистрация там не сложнее чем на торрент-трекере. А для просмотра видео вроде ничего кроме регистрации там не нужно.
                              • 0
                                А и не обязательно там быть кстати, например здесь несколько раз пиарился сайт кинобаза.ру (бот отлеживающий появление фильмов на торрентах), так вот там есть возможность просмотра фильмов/сериалов онлайн — данные тянутся с вконтакта. Довольно удобно.
                              • 0
                                Да чего тут обсуждать??
                                «Смотреть сериалы в ВКонтакте» — это же ппц
                                • 0
                                  аргументируйте пожалуйста.
                                  Мне лично кажется это вообще единственное что там можно делать. Гораздо быстрее с двух кликов жене Камеди какое-нибудь или хауса включить, чтобы фоном развлекало пока она на кухне возится, чем с торрентами заморачиваться.
                              • +5
                                Конечно, особенно если интернет у вас не безлимитный и скорость у него меньше 512, а цена за мегабайт 4р. Или вы просто ресурс рекламировали?
                                • –4
                                  честно сказать я не представляю где сейчас 512 кбит по 4 р мегабайт. 10 лет назад у меня в _деревне_(Воронежская обл.) был ADSL с 2 мбитами за 2,5 р. Сейчас там анлимитные 512 кбит.
                                  • +2
                                    не всем так повезло: evo.uz/static/trfp
                                    • 0
                                      ну в общем-то это вообще не Россия, в некоторых странах интернет законодательно должен быть доступен всем.
                                      • 0
                                        В нашей стране (Узбекистан), с его 5 Гигабитоми в мир цены ниже не могут быть.

                                        Да и EVO не самый дешёвый, если сравнивать его с тем же Саркором (http://extreme.uz/plans/)
                                      • +2
                                        Вот и многие на хабре не знают где такие «интернеты», где айфоны считается имеджевым девайсом, где 1к$ считается большими деньгами.

                                        www.rtatel.ru/docs/category_files/price_internet.pdf — максимальная скорость 256
                                        hanty.u-tel.ru/content/newsitem_8811 — 1 мб = 4р ( то что закрыт на подключение не показатель, многие до сих пор на нём)
                                        г. Нефтеюганск

                                        • –2
                                          хм, я думал там одни только медведи живут, а там оказывается еще и интернет есть. Ну да ладно, главное что бы нам тут в Мск черной икры на всех хватило.
                                          • –1
                                            Хорошая у вас зарплата, если 1к$ для вас — не деньги…
                                            • 0
                                              Для них это как раз деньги.
                                          • 0
                                            Да у любого сотового оператора около 1 рубля за 250 кубов.
                                            • –2
                                              250 чего? У меня рубль(или 1,5) мегабайт. Билайн.
                                              • 0
                                                Килобайт. У меня 1 за 1, но в сутки 1 рубль снимают. Учитывая потребление траффика — мне очень выгодно, т.к. 10-15 метров в сутки с нетбука не встают мне сильно дороже из-за этого рубля.
                                              • 0
                                                Вы неправильно поняли. Это тариф на интернет ADSL. У сотового интернета другие расценки (если правильно помню то даже дешевле)
                                                • 0
                                                  Понял-понял. Просто у нас соответствующие ценники за метр, только, пожалуй, у сотовых операторов и тех, кто разжирел до GPON, если такие есть.
                                          • –4
                                            еще сериалы можно смотреть и без линукса
                                            • +2
                                              и даже без компьютера
                                              • 0
                                                И даже не смотреть, а читать, например.

                                                Или слушать.
                                            • +2
                                              А если нет флэша? Мы же всё-таки не про Windows говорим, поэтому такая ситуация может встать чуть менее, чем всегда. Особенно, если использовать x64 систему и x64 браузер.
                                              lurkmore.ru/%D0%9D%D0%B8%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5_%D0%BF%D0%BE%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D1%88%D1%8C,_%D1%8D%D1%82%D0%BE_Flash
                                              • –1
                                                >>Особенно, если использовать x64 систему и x64 браузер.

                                                я боюсь вас огорчить но x64 не существует.
                                                • 0
                                                  Ай ай! Сейчас кто-то будет наказан. Жестоко наказан!
                                                  Ведь даже в Windows есть тот самый «Internet Explorer 64-бит»
                                                  • 0
                                                    я говорю о том что архитектуры x64 не существует.
                                                      • +4
                                                        А я сказал что-то про архитектуру? И да, архитектура x86_64, amd64, Intel64, EM64T а система 64-битная.
                                                        Я не КО, это заранее, чтобы мне ещё 5 минут не ждать.
                                                        И ещё ссылочка ru.wikipedia.org/wiki/X86-64
                                                        • 0
                                                          >А я сказал что-то про архитектуру?

                                                          Да.
                                                        • 0
                                                          ой, вы тоже верите в этот бред?
                                                          мне на какой то из информатик препод такое же рассказывал, угадайте с чем он был смешан?
                                                          • 0
                                                            IA64 знаю, AMD64 знаю, x64 не знаю…
                                                            • –1
                                                              х86 полюбому круче х64 =)
                                                              • 0
                                                                Ну да, и Windows 98 полюбому круче Windows XP.

                                                                Мы всё это помнится уже проходили…
                                                                • 0
                                                                  Тут не все так однозначно. Буквы имеют более высокую позицию чем цифры)
                                                                  • +1
                                                                    ну тогда Win98 круче, чем Win7, т.к. цифра больше
                                                                    • 0
                                                                      Это намёк, не делать поспешных выводов.
                                                      • 0
                                                        Flash плеер есть под Win, Linux, MacOS X, запускается и на FreeBSD amd64.
                                                        • 0
                                                          Да, в Adobe Labs. Нестабильная версия.
                                                          • +1
                                                            Т.е. Вы хотите убедить меня в том, что я не могу видеть флеш?
                                                            • –1
                                                              Нет, почему же? Нестабильный Flash из Adobe Labs, gnash и swfdec никто конечно же не отменял.
                                                              • 0
                                                                Поставьте через ndiswrapper 32-х разрядную версию, если у Вас какие-то проблемы с шильдиком Бета.
                                                            • 0
                                                              Нет, почему же? Нестабильный Flash из Adobe Labs, gnash и swfdec никто конечно же не отменял.
                                                      • 0
                                                        Ок, у меня соединение 32кбит/сек.
                                                      • +1
                                                        Помнится писал для похожего дела Makefile на sh. Удобно, заходишь в директорию с сериалом и make play. Плохо что не сохранил, но думаю что я не один такой псих и те у кого сохранилось такое добро поделятся :)
                                                        • +7
                                                          Несомненно, Вы молодец! Разбираетесь в своем деле. НО ЗАЧЕМ ТАК СЛОЖНО?!
                                                          • 0
                                                            Он знает толк в извращениях!
                                                            Когда было свободное время, тоже чемто похожим занимался…
                                                        • 0
                                                          *Уважительно *Красноглазо…

                                                          Но лично мне проще пользоваться smplayer. Он и серии автоматом переключает, и ещё много удобных вещей делает. Единственное — на длинных именах файлов вроде «Супер-пупер сериал — эпизод 100500 [1920x1080 h.264 aac-2ch] [ae678b234].mkv» это автодобавление серий в плейлист обламывается. Поэтому я предварительно утилиткой rename весь пакован переименовываю в набор файлов с названиями типа «Супер-пупер сериал — 100500.mkv»
                                                          • 0
                                                            как-то слишком интерактивно mplayer *mkv и удаление просмотренных серий (симлинков на них) мне достаточно
                                                            • 0
                                                              >-subcp cp1251
                                                              enca для кого делалась?
                                                              >для каждой новой серии приходится заново набирать длинную команду вроде такой: ^01^02^
                                                              fixed
                                                              • 0
                                                                enca не во всех дистрибутивах включена по умолчанию. Обычно приходится mplayer пересобирать.
                                                                • 0
                                                                  Ну так с этим в багзиллу.
                                                              • +16
                                                                Вы бы еще с пеной у рта доказывали, что этот скриптище в 100500 раз удобнее нажатия на файл к гуе, а то топик незаконченный.
                                                                • +4
                                                                  разве это не очевидно? ©
                                                                • +8
                                                                  нашел несоответствие. топик называется «Как я в сериалы в консоли смотрю / bash-скриптинг» а в параметрах mplayer'а отсутствует необходимый для просмотра в консоли "-vo caca"
                                                                  • 0
                                                                    >отсутствует необходимый для просмотра в консоли "-vo caca"

                                                                    консоль может быть не только текстовой, хотя это не совсем Ъ
                                                                    • 0
                                                                      >>консоль может быть не только текстовой, хотя это не совсем Ъ

                                                                      еще интереснее было бы «просмотр сериалов на терминале Tektronix 4014»
                                                                  • +1
                                                                    Ну просто очень много букв.
                                                                    Содержание статьи укладывается в одну строчку.
                                                                    к примеру есть файлы типа «Dexter.s03e04.rus.LostFilm.TV.avi»
                                                                    for i in `seq 01 10`; do i="0$i"; echo "*e`echo ${i: -2}`*"; done
                                                                    • +1
                                                                      for i in `seq 01 10`; do i="0$i"; cvlc "*e`echo ${i: -2}`*"; done

                                                                      конечно же
                                                                      • +1
                                                                        Не тоже самое?
                                                                        for i in *{01..10}*; do echo $i; done
                                                                        • 0
                                                                          И правда, возьму на заметку.
                                                                    • –5
                                                                      Скоро будут топики «Как я лета на самолете в консоле» и будет такой скрипт на 10к+ строк, который будет включать громкую связь с салоном и т.д. в итоге что бы взлететь вы потратите 100 минут, а кто-то 1 :)
                                                                      • 0
                                                                        Ты не поверишь, но эти ваши гуя получили широкое распространение для тех, кто вообще не в состоянии себя ныне представить без мышки в нашей стране только с выходом надстройки над MS-DOS в виде Windows 95.
                                                                      • +2
                                                                        Советую освоить суффиксы в zsh.
                                                                        Например:
                                                                        alias -s avi=mplayer
                                                                        • +23
                                                                          image
                                                                          • +1
                                                                            > (Давайте воздержимся от холивара по поводу красноглазия и GUI vs консоль)

                                                                            Вы же напрашиваетесь. Лучший способ избежать холивара на какую-либо тему — сделать вид, что их никогда не было.
                                                                            • +4
                                                                              -subcp cp1251

                                                                              Расстреливать надо за субтитры в такой кодировке >_
                                                                              • +2
                                                                                Используйте алиасы в шелле, чтобы не набирать длинную команду, а для отмечания просмотренных серий — myshows.ru/
                                                                                • 0
                                                                                  В смысле вместо написания скрипта можно было бы использовать это.
                                                                              • +1
                                                                                Mplayer, на мой взгляд, лучший плееров. Он не требует возни с кодеками, свободен и открыть, не просит ключей и кряков, и у него идеальный длят меня интерфейс — ничего лишнего (в отличие от других плееров, с безвкусными глянцевыми кнопками и скруглениями). Умеет воспрризводить по http без скачивания (вот бы приделать костыль, чтобы можно было его из браузера запускать для всяких QuickTime, FLV и VMW видео, вместо того чтобы ставить их кривые плагины). Воспроизводит он в общем-то все, что я скачиваю. Использую под Windows только его, правда без заморочек с консолью, а просто ассоциицровав с видео-файлами. А еще, в Опере, при клике по mpeg/avi файлу, можно запускать Mplayer со ссылкой на файл.

                                                                                А, еще он из коробки поддерживает субтитры :)

                                                                                p.s. Будь прокляты разработчики, из-за которых сломалась отправка комментариев в Опере!
                                                                              • +1
                                                                                > mplayer -ass -subcp cp1251

                                                                                ~/.mplayer/config, не?
                                                                                • 0
                                                                                  Зависит от частоты, с которой попадаются субтитры в cp1251. Если в трети случаев, то лучше в конфиг не писать, а указывать руками. А вот -ass в конфиг точно надо запихнуть.
                                                                                  • 0
                                                                                    Тут можно хитрее сделать. Если в ~/.mplayer/config вписать:

                                                                                    include = ./.mplayer.conf
                                                                                    

                                                                                    То в любом каталоге с сериями можно создавать .mplayer.conf с любыми опциями и они будут действовать только на эти серии. У меня используется такая заготовка:

                                                                                    # ass = true                       # красивые сабы
                                                                                    # embeddedfonts = true             # встроенные в mkv шрифты
                                                                                    # ass-font-scale = 1.2             # покрупнее
                                                                                    # ass-styles = .defstyle           # стиль не понравился
                                                                                    # chapter = 2,3                    # в mkv иногда можно пропустить opening и ending в anime
                                                                                    
                                                                                    # subpos = 100                     # если уже есть хардсаб то софтсаб поднимаю вверх
                                                                                    # subcp = cp1251.                  # кодировка
                                                                                    
                                                                                    # ss = 0:30                        # это если не mkv, пропускаю opening
                                                                                    # endpos = 20:20                   # и ending, серии идут подряд
                                                                                    
                                                                                    # slang=rus,ru,eng,en              # приоритет сабов
                                                                                    # alang=jp,jap,rus,ru,eng,en       # приоритет языка
                                                                                    
                                                                                    # hardframedrop = true             # если тяжелый кодек
                                                                                    


                                                                                • –3
                                                                                  «Теория большого взрыва», «The IT Crowd», разное аниме… Все это очень затягивает.

                                                                                  Простите за офттоп, не понимаю как можно смотреть сериалы, где на фоне раздается смех «зрителей».
                                                                                  • +1
                                                                                    Не «зрителей», а зрителей.
                                                                                    • 0
                                                                                      легко:)
                                                                                      • +1
                                                                                        Я вообще их не перевариваю. Но это лишь моё мнение и вкус. Я знаю очень много уважаемых мной людей которые смотрят с удовольствием. Мне сейчас им сообщить что они живут как-то неправильно? :)
                                                                                      • +6
                                                                                        название вводит в заблуждение. Ожидал увидеть топик про просмотр видео без иксов
                                                                                        • 0
                                                                                          тогда статья началась и закончилась на строчке:

                                                                                          mplayer -vo caca Dexter.s03e04.rus.LostFilm.TV.avi
                                                                                          • 0
                                                                                            ничего подобного. Есть еще фреймбуферная консоль со своими заморочками
                                                                                          • 0
                                                                                            -vo vesa позволяет это
                                                                                        • +6
                                                                                          Жениться вам пора, барин (с)
                                                                                          • +1
                                                                                            Заверните исходный код в <source />.
                                                                                            • 0
                                                                                              Всегда подозревал линуксоидов… оказывается не зря :)
                                                                                              • 0
                                                                                                вы не поверите… писал в свое время то же самое под win.
                                                                                                Да я использую MPlayer под виндос уже лет 8, и всю семью подсадил, включая родителей.
                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                • 0
                                                                                                  вот гораздо более общий скрипт с подобным функционалом — www.opennet.ru/base/sys/mplayer_pos_save.txt.html
                                                                                                  Он не заточен только под сериалы.
                                                                                                  • 0
                                                                                                    Ого, как все просто! Спасибо большое!
                                                                                                    • +1
                                                                                                      Перемудрил что-то.

                                                                                                      В конфиге mplayer можно добавить следующее:
                                                                                                      ass=yes
                                                                                                      slang=en,eng,ru,rus
                                                                                                      utf8=1
                                                                                                      subcp=utf8

                                                                                                      А корявых перекодируем find /path/to/files -name '*.ass' -exec enconv -L ru -x utf8 < '{}' > '{}' \;
                                                                                                      • 0
                                                                                                        subcp=«enca:ru:cp1251»
                                                                                                        • 0
                                                                                                          Можно ещё хардкорнее.

                                                                                                          telnet:towel.blinkenlights.nl
                                                                                                          • 0
                                                                                                            >Как я в сериалы в консоли смотрю
                                                                                                            После прочтения так и захотелось сказать — раком-)
                                                                                                            Я думал, такие подвиды извращений уже в прошлом, ан нет. Но по-любому Вам плюс.
                                                                                                            • +1
                                                                                                              топик конечно любопытный, но после этого у людей, не знакомых с линуксом создается впечатление об ужасной, могучей и сложной командной строке
                                                                                                              • 0
                                                                                                                ну так надо эволюционировать. GUI это как каменный век, во все нужно тыкать пальцем и мычать что бы поняли что делать. CLI уже как минимум бронзовый т.к. полноценный язык уже придумали и не надо во все тыкать пальцем.
                                                                                                              • 0
                                                                                                                Видимо, глазки красные на столько поломал, что даже заголовок не смог нормально написать: «Как я в сериалы в консоли смотрю».
                                                                                                                • 0
                                                                                                                  А вы знаете толк в извращениях!
                                                                                                                  • 0
                                                                                                                    Консоль, конечно, мать родная, но зачем же такие извращения?
                                                                                                                    1. Если ты любишь смотреть одновременно несколько сериалов, тогда открой несколько консолей (например, в guake). Они тебе и будут запоминать серии, которые ты уже смотрел.
                                                                                                                    2. Вся прелесть консольного плеера в том, что у него нет управления, запоминания и т. д. «Включил и смотри», как говорится.
                                                                                                                    3. Собственно, что тебе мешает смотреть весь сериал, как $ mplayer *?
                                                                                                                    4. Для сабов используй алиас mplayer -subcp cp1251 или же iconv для перекодирования в utf-8.
                                                                                                                    • –2
                                                                                                                      … У него был настолько маленький член, что дрочить ему приходилось сразу двумя руками: в одной он держал лупу, в другой — пинцет…
                                                                                                                      • 0
                                                                                                                        MPlayer — это круто однозначно. Я в баше не силен, но на мой неискушенный взгляд — как-то все сложно. Пробовал типа того под XP на .BAT соорудить. Но я хотел что-бы он еще и позицию в фильме запоминал. Вы об этом не задумывались?
                                                                                                                        MPlayer позволяет запускать с оффсетом. И при воспроизведении он отчитывается сколько процентов. Но на BAT быстро у меня не поöучилось, а на баше вроде даже готовый скрипт есть.
                                                                                                                        • 0
                                                                                                                          Ничто не мешает на винду привесить хоть перл, хоть пхп, хоть пайтон, хоть до кучи цигвин. У меня всё стоит.

                                                                                                                          Понятия не имею как можно обходиться без awk/sed/grep.
                                                                                                                        • 0
                                                                                                                          это про вас
                                                                                                                          • 0
                                                                                                                            нет ну я понимаю писать скрипты например для автоматической перекодировки *.flac -> (bchunk -> tracks*.flac с сохранением всех тегов из cue. Это действительно полезная штука. А вот так вот извращаться с простым и мощным mplayer… уффффф.

                                                                                                                            smplayer напроч заставил меня даже не думать о подобном. Реально крутанская обёртка.
                                                                                                                            • 0
                                                                                                                              нет ну я понимаю писать скрипты например для автоматической перекодировки *.flac -> (bchunk -> tracks*.flac с сохранением всех тегов из cue.

                                                                                                                              Так давно же есть cue2tracks, зачем велосипедить?
                                                                                                                              Что такого умеет smplayer для сериалов? Если «запустить из гуёвого браузера», то mplayer тоже с этим справляется. А опции всё-таки излишни.
                                                                                                                              • 0
                                                                                                                                Скажем, в той же gentoo этого ебилда по дефолту нет. И этот cue2tracks как раз и является тем самым «полезным» скриптом о котором я говорил)
                                                                                                                                • 0
                                                                                                                                  хотя стоковый он не фурычит.
                                                                                                                            • 0
                                                                                                                              Я, наверное, что-то упустил в постановке задачи, но что мешает в консоли использовать mc? И запускать mplayer нажатием Enter на файле с фильмом? А параметры mplayer прошить в его конфиге либо своей обёртке ~/bin/mplayer. Лично меня mc в качестве «менеджера плейлистов для mplayer» полностью удовлетворяет.
                                                                                                                              • 0
                                                                                                                                месье знает толк в извращениях.

                                                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.