О ретаймировании srt с коэффициентом, а не сдвигом
TerribleFloater -> 06.12.2009, 16:38
----------------------------------------------------------------------------
Есть какая-нибудь программа, умеющая сабж? То есть ввести нужное число, а программа просто поделит/умножит все тайминги на это число?
El Capitain -> 06.12.2009, 16:49
----------------------------------------------------------------------------
TerribleFloater писал(a):
Есть какая-нибудь программа, умеющая сабж? То есть ввести нужное число, а программа просто поделит/умножит все тайминги на это число?
Полагаю, то нужно для конвертации PAL-NTSC???
Тогда вот - с глючком, но пользуюсь только ей, т.к. очень удобно.
http://www.divx-digest.com/software/subrip_fps_converter.html
TerribleFloater -> 06.12.2009, 17:08
----------------------------------------------------------------------------
Ага, самое оно, спасибо большое.
Не для "PAL в NTSC", а ещё круче
В фильме тараторят, как пулемёты, три персонажа. Причём на сугубо английском языке. Пришлось вытащить звук, растянуть в Adobe Audition в два раза и писать субтитры в таком режиме. Когда пришла пора вернуть всё в норму, оказалось, что ретайминг все программы, с которыми привык работать, делают по сдвигу, что в данном случае приводит к ошибке
А тут в левом окошечке оставил 25, в правом написал 50, и вуаля! Всё поделено на 2. Хотя и да, с глючком в арифметике. Но тут уже проверка скрипта помогает.
Ещё раз большущее спасибо!
Кино в цифре -> 06.12.2009, 17:29
----------------------------------------------------------------------------
В Subtitles Workshop разве нельзя тоже самое сделать? Открыть файл с одним FPS, а сохранить с другим.
TerribleFloater -> 06.12.2009, 18:17
----------------------------------------------------------------------------
А она вообще считать не умеет, похоже
Исходный тайминг:
Код
00:00:41,960 --> 00:00:44,460
Конвертер FPS:
Код
00:00:20,980 --> 00:00:22,230
Workshop:
Код
00:00:20,980 --> 00:00:22,240
Ну, или я не смог ей объяснить, что надо...
TerribleFloater -> 06.12.2009, 20:46
----------------------------------------------------------------------------
В общем, написал свой конвертер srt на языке, который умеет считать точно -- 1С:7.7
Кому надо, обращайтесь.
Ray -> 07.12.2009, 12:52
----------------------------------------------------------------------------
Так выложи где-нибудь.
TerribleFloater -> 08.12.2009, 02:40
----------------------------------------------------------------------------
Ray -> 08.12.2009, 22:53
----------------------------------------------------------------------------
TerribleFloater писал(a):
Разархивировать и открыть в любой базе 1С:7.7
у.....
TerribleFloater -> 09.12.2009, 08:40
----------------------------------------------------------------------------
Ray писал(a):
TerribleFloater писал(a):
Разархивировать и открыть в любой базе 1С:7.7
у.....
А я предупреждал
Цитата:
на языке, который умеет считать точно -- 1С:7.7
Могу выложить в спойлер код основной функции, а кто-нибудь напишет standalone exe и осчастливит небухгалтерское человечество.
Код
//************************************************************************************************** Функция Сконвертировать(Строчка,Коэфф) //Подразумевается время в формате ЧЧ:ММ:СС,ТТТ Результат = ""; КонецПервогоВремени = Найти(Строчка,"-->") - 1; НачалоВторогоВремени= Найти(Строчка,"-->") + 3; ПервоеВремя = СокрЛП(Лев(Строчка,КонецПервогоВремени)); Часы = 0; Минуты = 0; Секунды = 0; ДолиСекунд = 0; Часы = Число(Сред(ПервоеВремя,1,2)); Минуты = Число(Сред(ПервоеВремя,4,2)); Секунды = Число(Сред(ПервоеВремя,7,2)); ПервоеВремяКруглое = Секунды+60*Минуты+3600*Часы; МестоЗапятой = Найти(ПервоеВремя,",");//Вдруг сотые, а не тысячные? ДолиСекунд = Прав(ПервоеВремя,СтрДлина(ПервоеВремя) - МестоЗапятой); ПервоеВремяТочное = Число(Строка(ПервоеВремяКруглое)+"."+ДолиСекунд); ПервоеВремяНовое = ПервоеВремяТочное*Коэфф; ПервоеВремяЦелое = Цел(ПервоеВремяНовое); ДолиСекундНовые = (ПервоеВремяНовое-ПервоеВремяЦелое)*1000; СтрокаДолиСекундыНовые = Формат(ДолиСекундНовые,"Ч(0)3,0"); Секунды=ПервоеВремяЦелое%60; ПолноеЧислоМинут=Цел(ПервоеВремяЦелое/60); Минуты=ПолноеЧислоМинут%60; ПолноеЧислоЧасов=Цел(ПолноеЧислоМинут/60); Часы=ПолноеЧислоЧасов%24; ПервоеВремяНовоеТочное = Формат(Часы,"Ч(0)2,0")+":"+Формат(Минуты,"Ч(0)2,0")+":"+Формат(Секунды,"Ч(0)2,0")+","+СтрокаДолиСекундыНовые; ВтороеВремя = СокрЛП(Прав(Строчка,СтрДлина(Строчка) - НачалоВторогоВремени)); Часы = 0; Минуты = 0; Секунды = 0; ДолиСекунд = 0; Часы = Число(Сред(ВтороеВремя,1,2)); Минуты = Число(Сред(ВтороеВремя,4,2)); Секунды = Число(Сред(ВтороеВремя,7,2)); ВтороеВремяКруглое = Секунды+60*Минуты+3600*Часы; МестоЗапятой = Найти(ВтороеВремя,",");//Вдруг сотые, а не тысячные? ДолиСекунд = Прав(ВтороеВремя,СтрДлина(ВтороеВремя) - МестоЗапятой); ВтороеВремяТочное = Число(Строка(ВтороеВремяКруглое)+"."+ДолиСекунд); ВтороеВремяНовое = ВтороеВремяТочное*Коэфф; ВтороеВремяЦелое = Цел(ВтороеВремяНовое); ДолиСекундНовые = (ВтороеВремяНовое-ВтороеВремяЦелое)*1000; СтрокаДолиСекундыНовые = Формат(ДолиСекундНовые,"Ч(0)3,0"); Секунды=ВтороеВремяЦелое%60; ПолноеЧислоМинут=Цел(ВтороеВремяЦелое/60); Минуты=ПолноеЧислоМинут%60; ПолноеЧислоЧасов=Цел(ПолноеЧислоМинут/60); Часы=ПолноеЧислоЧасов%24; ВтороеВремяНовоеТочное = Формат(Часы,"Ч(0)2,0")+":"+Формат(Минуты,"Ч(0)2,0")+":"+Формат(Секунды,"Ч(0)2,0")+","+СтрокаДолиСекундыНовые; Результат = ПервоеВремяНовоеТочное + " --> " + ВтороеВремяНовоеТочное; Возврат Результат; КонецФункции
Оно по-русски и довольно понятно.
Mantis -> 09.12.2009, 12:37
----------------------------------------------------------------------------
DSRT умеет такое. Ctrl+Shift+F4.
BOLiK -> 09.12.2009, 13:42
----------------------------------------------------------------------------
Не изобретайте велосипед. Subtitles Workshop ретаймирует субтитры как надо и без глюков.
rider42 -> 09.12.2009, 13:46
----------------------------------------------------------------------------
Mantis писал(a):
DSRT умеет такое. Ctrl+Shift+F4.
У меня постоянно выскакивает ошибка: то что нет текста, то ещё что. Видно что-то нужное не делаю, вот только что именно то?
TerribleFloater -> 09.12.2009, 18:30
----------------------------------------------------------------------------
BOLiK писал(a):
Не изобретайте велосипед. Subtitles Workshop ретаймирует субтитры как надо и без глюков.
Чуть выше показано,
как она ретаймирует. Спасибо большое.
TerribleFloater -> 09.12.2009, 18:37
----------------------------------------------------------------------------
Mantis писал(a):
DSRT умеет такое. Ctrl+Shift+F4.
А проверить?
До ретаймирования:
00:00:38,250 --> 00:00:42,250
После ввода 200%:
00:00:38,250 --> 00:00:44,110
А должно было получиться:
00:01:16,500 --> 00:01:24,500
Разница видна, надеюсь?
gghice -> 28.10.2016, 11:25
----------------------------------------------------------------------------
Здравствуйте! Такой вопрос: как автоматически убрать тысячные доли секунды в файле srt? 00:01:01:658 --> 00:01:01:65
TerribleFloater -> 24.11.2016, 19:03
----------------------------------------------------------------------------
Открыть в Aegisub, сохранить в ass, а затем экспортировать обратно в srt. Только я не помню, тысячные при этом округляются или отбрасываются.