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

Плавное затухание/появление субтитров
На страницу Пред.  1, 2
 
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка
Предыдущая тема :: Следующая тема 
Автор Сообщение
z0rc

Переводы



Зарегистрирован: 10.06.2007
Сообщения: 280
Откуда: Киев
СообщениеДобавлено: Пт Янв 22, 2010 13:33 pm   Ответить с цитатой

Цитата:
Не всё так однозначно, в первую очередь будет зависимость от используемых кодеков, аппаратных возможностях видиокарты

Не влияет ни коим образом. VSFilter тупой, и на скорость обработки влияют только разрешение, FPS и гигагерцы ядра, видеокарта используется только для отрисовки, что занимает мизерное по сравнению с остальными этапами время, расчёты на ней не выполняются. Плюс не стоит забывать, что VSFilter строго однопоточный.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора Номер ICQ
ARiS

Переводы



Зарегистрирован: 25.07.2008
Сообщения: 43

СообщениеДобавлено: Пт Янв 22, 2010 14:53 pm   Ответить с цитатой

z0rc, ну а на показ 1080р по вашему не требуется определённый % нагрузки CPU, который мог бы, в том числе использоватся и VSFilter'ом?
Скажем если просматривать БлуРей через libavcodec, то и 2 Ггц не хватит и естественно говорить об отрисовке ещё и сабов не приходится.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
z0rc

Переводы



Зарегистрирован: 10.06.2007
Сообщения: 280
Откуда: Киев
СообщениеДобавлено: Пт Янв 22, 2010 19:07 pm   Ответить с цитатой

Цитата:
1080р по вашему не требуется определённый % нагрузки CPU

По моему DXVA или CUDA.
Цитата:
БлуРей через libavcodec

Извращайтесь дальше.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора Номер ICQ
ARiS

Переводы



Зарегистрирован: 25.07.2008
Сообщения: 43

СообщениеДобавлено: Пт Янв 22, 2010 23:56 pm   Ответить с цитатой

z0rc, я думаю мы друг-друга не понимаем.
Не факт, что у среднистатистического пользователя установлен DirectX и/или поддерржка CUDA, а так же соответствующе настроен плеер.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
Fei Wong
Гость





СообщениеДобавлено: Сб Янв 23, 2010 1:20 am   Ответить с цитатой

ARiS:
О как. Даже интересно стало, что-же это такие за принципы и кто их придумал?
Нет-нет, я понимаю, что сложные трансформы достаточно проблематично обрабатываются процессором, даже темка об этом не так давно была, но думать, что смотрящий HD равку (под которые сейчас делается абсолютное большинство сабов) сидит на PC прошлого века- наивно. А значит не сложные трансформы без проблем отобразятся.

По моим наблюдениям, в 90% случаев будет достаточно и обычного \fad. А в большинстве оставшихся, функциональности \fade не хватит, посему мне совершенно не ясна прелесть данного тега, который вы так восхваляете. Laughing

Принципы постараюсь обозначить позже. Сначала - пробегусь по посту.

Насчёт придумывания - да никто их специально и не придумывал. Они родились сами: из-за специфики реализации, недостатков и ограничений ASS. Вот формулировку возьму смелость взять на себя, т.к. в известном мне рунете этим никто особо не заморачивался (собсно, оно и понятно - среднепаршивое оформилово предполагает лишь поверхностное знание трюков, фишечек и глюков ASS, а знающие тайпсеттеры уже идут в хард, и дропают ASS в пользу гораздо более мощных и удобных Photoshop и After Effects).

Как раз при просмотре HD-равки и возникает надобность максимально снизить нагрузку от субтитров (потому как от HD-видео и без того серьёзно нагружает проц). Но да, несложные трансформы применять можно (порой даже нужно). Хотя сама формулировка несколько неверна - загрузка от трансформа определяется не только и не столько его сложностью, сколько размером обрабатываемого субтитра, ремурсоёмкостью рендеринга конкретного шрифта, диапазоном его трансформации и/или наличием альфа-канала.

Где-то мелькало, что 95% населения планеты... =) Ну, понятно, да?
Это я к тому, что статистика в 90%, конечно, интересна, но скорее всего, просто взята для красного словца.
Что же касается нехватки функциональности в оставшихся 10%, то это в корне неверно. Одним из главных плюсов \fade является возможность успешно имитировать цветопереходы (о прозрачности я и не говорю - это и без того подразумевается самой природой тега), доступные разве что при использовании ресурсоёмкого трансформа или покадровой последовательности строчек.
Более того, иногда \fade даже предпочтительнее использования \t.
Наглядный пример - проявляющееся или затухающее сложное нелинейное движение, которое приходится разбивать на несколько фаз (возможно, я скажу для кого-то что-то новое, но практически любое нелинейное движение теоретически можно реализовать и через \t, разумеется... однако IRL такая реализация будет ЗВЕРСКИ тормозить даже на весьма мощных тачках).
Так вот, в подобном случае намного удобнее юзать \fade, чем связку \t(\alpha). Почему - это уже выясняется на практике. =)

Ну и наконец, обещанные принципы (а также гастаты и триарии =):

Первое... Софт-тайп может быть каким угодно: вырвиглазным, гламурным, экстенсивным, лаконичным, но он обязан быть максимально лояльным к ресурсам процессора при относительно похожем на оригинал внешнем виде.
Вторая главная задача софт-тайпера - и это прямое следствие первой - оптимизация тайпсета. При этом она совершенно не предполагает сжатой записи в одну строку через особо монструозный \t, чем грешат некоторые якобы софт-караоке на основе k-replacer модуля автоматизации. Оптимизация софта - это плавное распределение нагрузки и разбиение сложных эффектов на как можно более простые фазы с минимальным присутствием как числа показываемых субтитров-элементов, так и времени отображения всяческих \t, \fade(fad), \move, \pos и прочих тегов (к draw-командам это тоже относится). Общее количество строчек в скрипте при этом может быть относительно велико - оно не влияет на быстродействие, только на время начальной загрузки скрипта.
Пример:
Код:
Dialogue: 1,0:12:11.91,0:12:12.25,Nya,,0000,0000,0000,,{\move(20,35,20,38,250,340)\c&H8002B826\t(250,250,\c&H461EDB&)}Ня!
Dialogue: 1,0:12:12.25,0:12:17.40,Nya,,0000,0000,0000,,{\move(20,38,20,35,0,90)\c&H461EDB&\t(90,90,\c&H8002B826)}Ня!

Код:
Dialogue: 1,0:12:11.91,0:12:12.16,Nya,,0000,0000,0000,,{\pos(20,35)\c&H8002B826}Ня!
Dialogue: 2,0:12:12.16,0:12:12.25,Nya,,0000,0000,0000,,{\c&H461EDB&\move(20,35,20,38)}Ня!
Dialogue: 2,0:12:12.25,0:12:12.34,Nya,,0000,0000,0000,,{\c&H461EDB&\move(20,38,20,35)}Ня!
Dialogue: 1,0:12:12.34,0:12:17.40,Nya,,0000,0000,0000,,{\pos(20,35)\c&H8002B826}Ня!

Как думаете, где здесь более правильный вариант софт-тайпа? Правильно, второй. Он хоть и более объёмный, но зато оптимизированный, менее ресурсоёмкий.

Идеал софт-тайпсеттера - это сферический китайский код, как бы смешно это ни звучало. К этому вынуждает довольно кривенькая реализация формата (да и в самой спеке дыр хватает).

Но китайский код совершенно не подразумевает лишнего мусора, и это - третья задача тайпсеттера. Надо избавляться от всех лишних балластных строк. Обычно они возникают при использовании уже готовых модулей (a la "впишите свои формулы и воздастся вам") автоматизации. Главная причина мусора - вовремя не выкинутые пробелы, обрабатывающиеся наряду с действительно непустыми слогами. Впрочем, иногда мусор может возникнуть и по иным причинам.

Четвёртая и последняя задача софт-тайпера и софт-тайпсета. Не столь обязательная, но всё же... Его творение не должно быть расчитано лишь на самую распоследнюю версию ВобСаба. Основная цель софта - быть предельно демократичным. Т.е. без проблем пахать на средненьких и ниже средненьких тачках, и быть совместимым даже с несколько устаревшими версиями пресловутого VSF-а.
К началу
Shitsu
Гость





СообщениеДобавлено: Сб Янв 23, 2010 1:37 am   Ответить с цитатой

Ну вот допустим я пишу комментарий.

Раньше я делал так:
Dialogue: 0,0:01:52.68,0:01:54.68,Comment,,0000,0000,0000,,{\fad(200,200)}Косплей - костюмированная игра

Теперь делаю только так:
Dialogue: 0,0:01:52.68,0:01:54.68,Comment,,0000,0000,0000,,{\fade(0,255,0,0,200,1800,2000)}Косплей - костюмированная игра

Потом я залез на википедию и скопипастил оттуда более подробное описание. Так как на его прочтение уйдет больше времени, мне нужно увеличить продолжительность показа комментария, например, до второй минуты:
Dialogue: 0,0:01:52.68,0:02:00.00,Comment,,0000,0000,0000,,{\fad(200,200)}Косплей - японская расовая забава, которую обычно практикуют отаку, а так же любые игро/книго/комиксо-фаги.

А вот как же теперь быть здесь:
Dialogue: 0,0:01:52.68,0:02:00.00,Comment,,0000,0000,0000,,{\fade(0,255,0,0,200,????,????)}Косплей - японская расовая забава, которую обычно практикуют отаку, а так же любые игро/книго/комиксо-фаги.
К началу
ARiS

Переводы



Зарегистрирован: 25.07.2008
Сообщения: 43

СообщениеДобавлено: Сб Янв 23, 2010 2:22 am   Ответить с цитатой

Цитата:
Это я к тому, что статистика в 90%, конечно, интересна, но скорее всего, просто взята для красного словца.

Да нет, серъёзно. Не скажу, что много оформил- порядка 112 серий аниме и с 10-ок фильмов, но необходимости использовать fade было очень мало. И нет, я не ленился, чаще наоборот уходил в "хард". :)

Со всем остальным согласен, хорошо написано.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
z0rc

Переводы



Зарегистрирован: 10.06.2007
Сообщения: 280
Откуда: Киев
СообщениеДобавлено: Сб Янв 23, 2010 2:34 am   Ответить с цитатой

ARiS
Вас прекрасно понятно, вы просто приводите для примера некорректные случаи. То, что вы назвали, — факторы косвенные. Обычно выходит, что (недо)тайп или везде идёт на ура или же везде тормозит при любой конфигурации.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора Номер ICQ
ARiS

Переводы



Зарегистрирован: 25.07.2008
Сообщения: 43

СообщениеДобавлено: Сб Янв 23, 2010 2:42 am   Ответить с цитатой

Цитата:
Вас прекрасно понятно, вы просто приводите для примера некорректные случаи.

Я очень рад, что вы не сталкивались с таким.

Цитата:
То, что вы назвали, — факторы косвенные.

Возможно, но их не отменяли.

Цитата:
Обычно выходит, что (недо)тайп или везде идёт на ура или же везде тормозит при любой конфигурации.

Интересно, под "(недо)тайп" вы подразумеваете любой тайпсет выполненый посредством ass субтитров?
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
Fei Wong
Гость





СообщениеДобавлено: Сб Янв 23, 2010 2:50 am   Ответить с цитатой

Shitsu:
Ну вот допустим я пишу комментарий.

Раньше я делал так:
Dialogue: 0,0:01:52.68,0:01:54.68,Comment,,0000,0000,0000,,{\fad(200,200)}Косплей - костюмированная игра

Теперь делаю только так:
Dialogue: 0,0:01:52.68,0:01:54.68,Comment,,0000,0000,0000,,{\fade(0,255,0,0,200,1800,2000)}Косплей - костюмированная игра

Потом я залез на википедию и скопипастил оттуда более подробное описание. Так как на его прочтение уйдет больше времени, мне нужно увеличить продолжительность показа комментария, например, до второй минуты:
Dialogue: 0,0:01:52.68,0:02:00.00,Comment,,0000,0000,0000,,{\fad(200,200)}Косплей - японская расовая забава, которую обычно практикуют отаку, а так же любые игро/книго/комиксо-фаги.

А вот как же теперь быть здесь:
Dialogue: 0,0:01:52.68,0:02:00.00,Comment,,0000,0000,0000,,{\fade(0,255,0,0,200,????,????)}Косплей - японская расовая забава, которую обычно практикуют отаку, а так же любые игро/книго/комиксо-фаги.

Длительность твоего саба - 7320мс. У тебя задача сделать его появление и пропадание в отрезке 200мс как от начала, так и до конца. Следовательно, твой тег должен быть таким: \fade (255,0,255,0,200,7120,7320)
Расшифровка: начало - 255 - прозрачное. Потом с t1 до t2 саб идёт до альфы 0 (полная непрозрачность), далее, с t3 (которое начинается за 200мс - ибо 7320-200=7120 - до конца времени отображения всего саба), саб снова становится полностью прозрачным к t4.

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

2ARiS
Фильмы - это и так понятно. =) Ладно, вроде пришли к консенсусу (и ногой его, ногой!).
К началу
Shitsu
Гость





СообщениеДобавлено: Сб Янв 23, 2010 4:34 am   Ответить с цитатой

Т.е. можно даже так: \fade(255,0,255,0,200,-200,-0)
Спасибо, буду знать.
К началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы, прикрепленные к сообщениям