TerribleFloater Написано: 06.12.2009, 16:38
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
Есть какая-нибудь программа, умеющая сабж? То есть ввести нужное число, а программа просто поделит/умножит все тайминги на это число?
В начало страницы
El Capitain Написано: 06.12.2009, 16:49
Циник-самоучка
Регистрация: 24.09.2005Сообщений: 3731
TerribleFloater писал(a):
Есть какая-нибудь программа, умеющая сабж? То есть ввести нужное число, а программа просто поделит/умножит все тайминги на это число?
Полагаю, то нужно для конвертации PAL-NTSC??? Тогда вот - с глючком, но пользуюсь только ей, т.к. очень удобно.http://www.divx-digest.com/software/subrip_fps_converter.html
В начало страницы
TerribleFloater Написано: 06.12.2009, 17:08
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
Ага, самое оно, спасибо большое. Не для "PAL в NTSC", а ещё круче В фильме тараторят, как пулемёты, три персонажа. Причём на сугубо английском языке. Пришлось вытащить звук, растянуть в Adobe Audition в два раза и писать субтитры в таком режиме. Когда пришла пора вернуть всё в норму, оказалось, что ретайминг все программы, с которыми привык работать, делают по сдвигу, что в данном случае приводит к ошибке А тут в левом окошечке оставил 25, в правом написал 50, и вуаля! Всё поделено на 2. Хотя и да, с глючком в арифметике. Но тут уже проверка скрипта помогает. Ещё раз большущее спасибо!
В начало страницы
Кино в цифре Написано: 06.12.2009, 17:29
Ветеран
Регистрация: 13.10.2004Сообщений: 1421Обзоров: 344
В Subtitles Workshop разве нельзя тоже самое сделать? Открыть файл с одним FPS, а сохранить с другим.
В начало страницы
TerribleFloater Написано: 06.12.2009, 18:17
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
А она вообще считать не умеет, похоже Исходный тайминг:Код
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
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
В общем, написал свой конвертер srt на языке, который умеет считать точно -- 1С:7.7 Кому надо, обращайтесь.
В начало страницы
Ray Написано: 07.12.2009, 12:52
Site Admin
Регистрация: 22.01.2004Сообщений: 5793Обзоров: 197
Так выложи где-нибудь.
В начало страницы
TerribleFloater Написано: 08.12.2009, 02:40
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
Да без проблем:http://narod.ru/disk/15759030000/%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%20FPS.rar.html Разархивировать и открыть в любой базе 1С:7.7 Выбрать файл srt. Если, например, нужно ускорить субтитры вдвое, вводить коэффициент 0.5; если замедлить вдвое -- вводить коэффициент 2. Результирующий файл субтитров будет лежать рядом с исходным и начинаться на "Конв_".
В начало страницы
Ray Написано: 08.12.2009, 22:53
Site Admin
Регистрация: 22.01.2004Сообщений: 5793Обзоров: 197
TerribleFloater писал(a):
Разархивировать и открыть в любой базе 1С:7.7
у.....
В начало страницы
TerribleFloater Написано: 09.12.2009, 08:40
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
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
Регистрация: 29.06.2007Сообщений: 9
DSRT умеет такое. Ctrl+Shift+F4.
В начало страницы
BOLiK Написано: 09.12.2009, 13:42
Регистрация: 19.09.2008Сообщений: 725
Не изобретайте велосипед. Subtitles Workshop ретаймирует субтитры как надо и без глюков.
В начало страницы
rider42 Написано: 09.12.2009, 13:46
Параноик во плоти
Регистрация: 30.06.2008Сообщений: 3580Откуда: Самара
Mantis писал(a):
DSRT умеет такое. Ctrl+Shift+F4.
У меня постоянно выскакивает ошибка: то что нет текста, то ещё что. Видно что-то нужное не делаю, вот только что именно то?
В начало страницы
TerribleFloater Написано: 09.12.2009, 18:30
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
BOLiK писал(a):
Не изобретайте велосипед. Subtitles Workshop ретаймирует субтитры как надо и без глюков.
Чуть выше показано, как она ретаймирует. Спасибо большое.
В начало страницы
TerribleFloater Написано: 09.12.2009, 18:37
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
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
Регистрация: 28.10.2016Сообщений: 1
Здравствуйте! Такой вопрос: как автоматически убрать тысячные доли секунды в файле srt? 00:01:01:658 --> 00:01:01:65
В начало страницы
TerribleFloater Написано: 24.11.2016, 19:03
Регистрация: 25.11.2007Сообщений: 1763Откуда: Москва
Открыть в Aegisub, сохранить в ass, а затем экспортировать обратно в srt. Только я не помню, тысячные при этом округляются или отбрасываются.
В начало страницы