Как я в сериалы в консоли смотрю / 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

      +6
        +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
                              А вы ютуб не смотрите? Или он уже без флеша работает?
                                +1
                                  0
                                  Ну и как оно? Я пробовал еще летом, тормозило хуже флеша и не было сглаживания. Уже допилено?
                                    0
                                    Недавно попробовал, теперь постоянно пользуюсь.
                                +2
                                Я так понимаю автор иксами не пользуется, а вы про какой то там…
                              +4
                              > 1. Там есть видео в оригинале с субтитрами?
                              > 2. Там есть видео в хорошем качестве?

                              Для меня главный аргумент:
                              3. Там есть я?
                                0
                                Понятно, что вконтакт — это не круто :) Но я пытался быть объективным, регистрация там не сложнее чем на торрент-трекере. А для просмотра видео вроде ничего кроме регистрации там не нужно.
                                  +3
                                  а если человек не согласен с Условиями регистрации?
                                    0
                                    тут не поспоришь :)
                                    0
                                    для просмотра видео регистрация не нужна, используйте VOMP
                                    code.google.com/p/vkopenmp/
                                    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 не существует.
                                                          0
                                                            +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
                                                                      s/ndiswrapper/nspluginwrapper/
                                                                    0
                                                                    Нет, почему же? Нестабильный Flash из Adobe Labs, gnash и swfdec никто конечно же не отменял.
                                                              0
                                                              Ок, у меня соединение 32кбит/сек.
                                                              +1
                                                              Помнится писал для похожего дела Makefile на sh. Удобно, заходишь в директорию с сериалом и make play. Плохо что не сохранил, но думаю что я не один такой псих и те у кого сохранилось такое добро поделятся :)
                                                                +7
                                                                Несомненно, Вы молодец! Разбираетесь в своем деле. НО ЗАЧЕМ ТАК СЛОЖНО?!
                                                                  0
                                                                  Он знает толк в извращениях!
                                                                  Когда было свободное время, тоже чемто похожим занимался…
                                                                    0
                                                                    trueЪ задротство
                                                                  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
                                                                                          В смысле вместо написания скрипта можно было бы использовать это.
                                                                                            0
                                                                                            в смысле, в скрипте можно было использовать это: api.myshows.ru/
                                                                                          +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 позволяет это
                                                                                                        0
                                                                                                        я использовал fbdev
                                                                                                          0
                                                                                                          не знал что vt100 илиTek4014 умеет 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
                                                                                                                                              месье знает толк в извращениях.

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

                                                                                                                                              Самое читаемое