Список форумов Kage Project Kage Project
 
  РегистрацияРегистрация  ВходВход
  Архив субтитровАрхив субтитров  ПоискПоиск  ЧаВоЧаВо  ПользователиПользователи
 Войти и проверить личные сообщенияВойти и проверить личные сообщения

Sushi - автоматический ретаймер субтитров. Ещё один.

 
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка
Предыдущая тема :: Следующая тема 
Автор Сообщение
tp7
Гость




СообщениеДобавлено: Чт Май 29, 2014 1:12 am   Заголовок сообщения: Sushi - автоматический ретаймер субтитров. Ещё один. Ответить с цитатой

Доброго времени суток.

Хочу немного прорекламировать свой последний продукт - автоматический ретаймер субтитров Sushi.

В отличии от предыдущих вариантов вроде SoundSync, Sushi пытается правильно сдвинуть субтитры на основе синхронизации звуковых дорожек. Никаких предположений вроде существования опенинга не делается, софтина должна работать одинаково плохо как для аниме, так и для фильмов. Подробно об алгоритме работы можно почитать на странице проекта на гитхабе (осторожно, рунглиш).

Поскольку сдвиг только на основе звука может выйти недостаточно точным, мы немного постпроцессим скрипт:
  • Все линии саба разбиваются на группы. Если предоставлены чаптеры, то группы строятся по этим чаптерам, если нет - автоматом собираются линии с более-менее похожим сдвигом. Сдвиг внутри этой группы усредняется. Например, у вас в чаптерах есть группа “опенинг”. С огромной долей вероятности шифт для всех субтитров там окажется одинаковым, поэтому через усреднение мы выбрасываем возможные “левые” результаты.
  • Если доступны файлы кейфреймов, скрипт пытается чуть-чуть скорректировать шифт так, чтобы сохранить сцентайминг после сдвига. Он ищет среднее расстояние между сдвинутыми линиями и ближайшими к ним кейфреймами, и если внутри группы это расстояние достаточно малое - подгоняет шифт так, чтобы линии совпали с кейфреймами. Если сцентайминга изначально не было, лучше с кейфреймами не баловаться, полноценный снаппинг скрипт не делает.

Конечной целью является полностью корректный тайминг с сохранением сцентантайминга для сабов любой сложности для всех "обычных" ситуаций (SHAFT с их горой переделок не считается). Тестирую я исключительно на ансабах.

Использование
Самый базовый случай
Код:
sushi --src tv.mkv --dst bd.mkv

Внешний файл кейфреймов (scxvid)
Код:
sushi --src tv.mkv --dst bd.mkv --keyframes kfs.txt

Без видео, чисто звук
Код:
sushi --src tv.aac --dst bd.flac --script tv.ass --keyframes kfs.txt --fps 23.976 --chapters tv_chapters.xml

Настраиваем параметры для более активного сдвига к кейфреймам, плюс повышаем частоту звука, когда у нас много коротких линий
Код:
sushi --src tv.mkv --dst bd.mkv --sample-rate 24000 --max-kf-snapping 3

Увеличиваем окно поиска, когда сдвиг может быть больше 10 секунд (в примере - 20 секунд в любую из сторон)
Код:
sushi --src tv.mkv --dst bd.mkv --window 20

Где скачать
Посленяя версия всегда доступна на GitHub. Там же можно почитать список изменений. Для самой актуальной версии лучше использовать скрипт, а не бинарный релиз.

Зависимости
Строго говоря, вам пока понадобится Visual C++ 2008 Redistributable (этот должен работать но я хезе). Других необходимых зависимостей у приложения нет.

НО: сам скрипт работает только с WAV файлами. Если вы хотите автоматом извлекать всё из контейнеров и работать с другими звуковыми форматами, то понадобится ffmpeg. Для работы с кейфрэймами скрипт так же пробует извлекать таймкоды из файлов, а поскольку ffmpeg это делает отвратительно медленно, вам желательно иметь и mkvextract отсюда (он не обязателен, нужен только для ускорения процесса).

Проблемы
Во-первых, пока скрипт не умеет сам делать кейфреймы, это довольно скоро должно пофикситься.
Во-вторых, вам всегда надо иметь два одинаковых аудио. Т.е. сдвинуть русскую дорожку под английскую не получится. Качество звука особой роли не играет, но пихать какие-нибудь 64кбпс мп3 я бы тоже не советовал.
Ну и наконец, скрипт не анализует видео. Если надпись в TV была, а в BD её убрали/сократили на несколько кадров, в результате вы получите корявый тайпсет. Всё ещё хуже с пофреймовым тайпсетом и разными паттернами телесина, там вас уже ничего не спасёт.

Итого
Пробуем, отписываемся. :) Пинать меня по поводу функционала, проблем и прочих пожеланий можно тут, на гитхабе или в IRC (тот же ник на ризоне).

Всем спасибо за внимание.
К началу
Атом

Переводы



Зарегистрирован: 09.01.2010
Сообщения: 1449
Откуда: Cooltown
СообщениеДобавлено: Пт Май 30, 2014 15:43 pm   Ответить с цитатой

Спасибо, потом потыкаю.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Отправить e-mail
Gaurii



Зарегистрирован: 11.06.2014
Сообщения: 65
СообщениеДобавлено: Сб Фев 20, 2016 16:47 pm   Ответить с цитатой

Интересная программа.
Под линуксами только скрипт не видит бинарник scxvid, нужно чтобы он назывался обязательно SCXvid Smile
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка Часовой пояс: GMT + 3
Страница 1 из 1
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы, прикрепленные к сообщениям