Форум русскоязычного сообщества Ubuntu


Автор Тема: SMplayer: делаем автоопределение кодировки субтитров  (Прочитано 5351 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн maniak

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Так уж исторически сложилось, что одним из самых удобных плееров для просмотра аниме под линуксом является smplayer.

Хорошего в нем много, но есть и один неприятный момент: нет автоматического определения кодировки сабов.
А разработчики уже много времени забивают болт на фичреквесты.

Этот недостаток мы и постараемся устранить.

Итак:
1. Устанавливаем необходимый софт:
sudo apt-get install libqt4-dev fakeroot build-essential devscripts debhelper g++ enca
2. Качаем исходники smplayer'a:
wget http://kent.dl.sourceforge.net/sourceforge/smplayer/smplayer-0.6.0final.tar.bz2
3. Распаковываем архив, переходим в нужную папку
tar -xjf smplayer-0.6.0final.tar.bz2 && cd smplayer-0.6.0final
4. Открываем нужный нам файл:
gedit src/encodings.cpp
5. Ищем функцию void Encodings::retranslate()
и копипастим туда строку
l.append( tr( "Auto") + " (enca:ru:cp1251)");
Где-то так:


6. Cохраняем изменения

7. Запускаем компиляцию и сборку deb'a:
./create_deb.sh
8. Ждем пока smplayer соберется, потом возвращаемся в предыдущую папку и устанавливаем
cd .. && sudo dpkg -i smplayer_0.6.0final_i386.deb
9. Запускаем smplayer и смотрим на картину, ради которой, собственно, все это и затевалось:


10. Выбираем  режим "Auto" и радуемся жизни.
« Последнее редактирование: 19 Май 2008, 22:42:54 от maniak »

Оффлайн lonli-lokli

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Аригато гузаймасо. :D :D :D :D
Давно мечтал чтобы не нуна было постояно лазить и перечтавлять кодировку сабов. :D
Респект и уважуха. :) :D

Оффлайн Click

  • Активист
  • *
  • Сообщений: 693
  • Красафчег
    • Просмотр профиля
    • Ubuntu и напильник
при компиляции
Цитировать
.obj/basegui.o: In function `BaseGui::helpAbout()':
basegui.cpp:(.text+0x15de): undefined reference to `About::About(QWidget*, QFlags<Qt::WindowType>)'
basegui.cpp:(.text+0x15ee): undefined reference to `About::~About()'
basegui.cpp:(.text+0x1602): undefined reference to `About::~About()'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [smplayer] Ошибка 1
make[1]: Выход из каталога `/home/lastclick/smplayer-0.6.0final/src'
make: *** [src/smplayer] Ошибка 2

Оффлайн maniak

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
при компиляции
Цитировать
.obj/basegui.o: In function `BaseGui::helpAbout()':
basegui.cpp:(.text+0x15de): undefined reference to `About::About(QWidget*, QFlags<Qt::WindowType>)'
basegui.cpp:(.text+0x15ee): undefined reference to `About::~About()'
basegui.cpp:(.text+0x1602): undefined reference to `About::~About()'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [smplayer] Ошибка 1
make[1]: Выход из каталога `/home/lastclick/smplayer-0.6.0final/src'
make: *** [src/smplayer] Ошибка 2
Возможно, я в описании пропустил какую-то библиотеку.
Установите либы, которые относятся к qt4-dev

Оффлайн Andru

  • Любитель
  • *
  • Сообщений: 65
    • Просмотр профиля
если установленный mplayer собран без поддержки enca, то морда в лице SMplayer ну никак не сможет автоматически определять кодировку :) Да и шаманить с исходниками не обязательно. Если стоит "правильный" mplayer, можно просто на вкладке Advanced->Options for MPlayer в строке ввода Options добавить:
-subcp enca:ru:cp1251

Оффлайн infatuator

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
спасибо автору!

Оффлайн samuran

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
аригато ^_^

 

Страница сгенерирована за 0.053 секунд. Запросов: 24.