Repository navigation
Releases: oneevil/video-dub
Release list
v0.2.5
Исправлено в 0.2.5
- На Windows приложение не запускалось: «Невозможно пройти путь, поскольку он содержит недоверенную точку подключения (os error 448)». uv хранит скачанные интерпретаторы Python в
AppData\Roaming, а эта часть профиля бывает перенаправлена — Windows отказывается по такому пути проходить. Папку uv просматривает перед любой своей командой, поэтому падала и синхронизация зависимостей, до запуска дело не доходило. Теперь интерпретаторы лежат вruntime\pythonрядом с приложением: сломанная запись в профиле больше не мешает, а удаление программы уносит их с собой.
Исправлено в 0.2.4
setup_all.pyставил окружения по-старому. Скрипт предварительной установки держал свою копию логики и разошёлся с основным путём: тянул torch без поддержки CUDA и строил окружение WhisperX на неподдерживаемой версии Python — ровно те две ошибки, что исправлены в 0.2.3. Теперь он использует общий код, так что расходиться больше нечему.
Исправлено в 0.2.3
- На Windows не использовалась видеокарта, хотя драйверы и CUDA установлены. Индекс PyTorch подключался как дополнительный, а приоритета у такого индекса нет — pip выбирал просто версию посвежее и брал её с PyPI, где колесо для Windows собрано без поддержки CUDA (116 МБ против 2,5 ГБ). На Linux этого не было видно: там колёса с PyPI и так с CUDA внутри. Теперь torch ставится через отдельный индекс, а уже созданные окружения чинятся сами — при первом запуске он будет перекачан.
- Не создавалось окружение WhisperX: «Нужен Python 3.13» без объяснения причины. Установка нужной версии шла тремя отдельными шагами, вывод не сохранялся, и при сбое любого из них пользователь видел только совет поставить Python вручную. Теперь окружение создаёт uv одной командой, а его сообщение об ошибке попадает в лог.
Исправлено в 0.2.2
- Приложение не запускалось после установки в
Program Files: «Отказано в доступе по пути runtime». Оно создаёт виртуальные окружения, качает модели и пишет настройки рядом с кодом, а вProgram Filesобычному пользователю писать нельзя. Теперь установка идёт в профиль пользователя и не требует прав администратора. Уже установленную копию переустанавливать не обязательно: если папка не пишется, приложение само перенесёт код в%LOCALAPPDATA%\Video-Dubи продолжит оттуда — модели, проекты и настройки при этом сохраняются.
Исправлено в 0.2.1
- Приложение не запускалось на Windows.
Video-Dub.batвызывает Windows PowerShell 5.1, а тот читает.ps1без метки BOM в системной кодировке вместо UTF-8. Кириллица превращалась в мусор, а тире «—» — в типографскую кавычку, которую PowerShell принимает за начало строки: разбор рвался с «Непредвиденная лексема "}"» и «В строке отсутствует завершающий символ». Скрипты сохранены с BOM, в сборку добавлена проверка, чтобы это не вернулось.
Ниже — что вошло в 0.2.0.
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.2.4...v0.2.5
v0.2.4
Исправлено в 0.2.4
setup_all.pyставил окружения по-старому. Скрипт предварительной установки держал свою копию логики и разошёлся с основным путём: тянул torch без поддержки CUDA и строил окружение WhisperX на неподдерживаемой версии Python — ровно те две ошибки, что исправлены в 0.2.3. Теперь он использует общий код, так что расходиться больше нечему.
Исправлено в 0.2.3
- На Windows не использовалась видеокарта, хотя драйверы и CUDA установлены. Индекс PyTorch подключался как дополнительный, а приоритета у такого индекса нет — pip выбирал просто версию посвежее и брал её с PyPI, где колесо для Windows собрано без поддержки CUDA (116 МБ против 2,5 ГБ). На Linux этого не было видно: там колёса с PyPI и так с CUDA внутри. Теперь torch ставится через отдельный индекс, а уже созданные окружения чинятся сами — при первом запуске он будет перекачан.
- Не создавалось окружение WhisperX: «Нужен Python 3.13» без объяснения причины. Установка нужной версии шла тремя отдельными шагами, вывод не сохранялся, и при сбое любого из них пользователь видел только совет поставить Python вручную. Теперь окружение создаёт uv одной командой, а его сообщение об ошибке попадает в лог.
Исправлено в 0.2.2
- Приложение не запускалось после установки в
Program Files: «Отказано в доступе по пути runtime». Оно создаёт виртуальные окружения, качает модели и пишет настройки рядом с кодом, а вProgram Filesобычному пользователю писать нельзя. Теперь установка идёт в профиль пользователя и не требует прав администратора. Уже установленную копию переустанавливать не обязательно: если папка не пишется, приложение само перенесёт код в%LOCALAPPDATA%\Video-Dubи продолжит оттуда — модели, проекты и настройки при этом сохраняются.
Исправлено в 0.2.1
- Приложение не запускалось на Windows.
Video-Dub.batвызывает Windows PowerShell 5.1, а тот читает.ps1без метки BOM в системной кодировке вместо UTF-8. Кириллица превращалась в мусор, а тире «—» — в типографскую кавычку, которую PowerShell принимает за начало строки: разбор рвался с «Непредвиденная лексема "}"» и «В строке отсутствует завершающий символ». Скрипты сохранены с BOM, в сборку добавлена проверка, чтобы это не вернулось.
Ниже — что вошло в 0.2.0.
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.2.3...v0.2.4
v0.2.3
Исправлено в 0.2.3
- На Windows не использовалась видеокарта, хотя драйверы и CUDA установлены. Индекс PyTorch подключался как дополнительный, а приоритета у такого индекса нет — pip выбирал просто версию посвежее и брал её с PyPI, где колесо для Windows собрано без поддержки CUDA (116 МБ против 2,5 ГБ). На Linux этого не было видно: там колёса с PyPI и так с CUDA внутри. Теперь torch ставится через отдельный индекс, а уже созданные окружения чинятся сами — при первом запуске он будет перекачан.
- Не создавалось окружение WhisperX: «Нужен Python 3.13» без объяснения причины. Установка нужной версии шла тремя отдельными шагами, вывод не сохранялся, и при сбое любого из них пользователь видел только совет поставить Python вручную. Теперь окружение создаёт uv одной командой, а его сообщение об ошибке попадает в лог.
Исправлено в 0.2.2
- Приложение не запускалось после установки в
Program Files: «Отказано в доступе по пути runtime». Оно создаёт виртуальные окружения, качает модели и пишет настройки рядом с кодом, а вProgram Filesобычному пользователю писать нельзя. Теперь установка идёт в профиль пользователя и не требует прав администратора. Уже установленную копию переустанавливать не обязательно: если папка не пишется, приложение само перенесёт код в%LOCALAPPDATA%\Video-Dubи продолжит оттуда — модели, проекты и настройки при этом сохраняются.
Исправлено в 0.2.1
- Приложение не запускалось на Windows.
Video-Dub.batвызывает Windows PowerShell 5.1, а тот читает.ps1без метки BOM в системной кодировке вместо UTF-8. Кириллица превращалась в мусор, а тире «—» — в типографскую кавычку, которую PowerShell принимает за начало строки: разбор рвался с «Непредвиденная лексема "}"» и «В строке отсутствует завершающий символ». Скрипты сохранены с BOM, в сборку добавлена проверка, чтобы это не вернулось.
Ниже — что вошло в 0.2.0.
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.2.2...v0.2.3
v0.2.2
Исправлено в 0.2.2
- Приложение не запускалось после установки в
Program Files: «Отказано в доступе по пути runtime». Оно создаёт виртуальные окружения, качает модели и пишет настройки рядом с кодом, а вProgram Filesобычному пользователю писать нельзя. Теперь установка идёт в профиль пользователя и не требует прав администратора. Уже установленную копию переустанавливать не обязательно: если папка не пишется, приложение само перенесёт код в%LOCALAPPDATA%\Video-Dubи продолжит оттуда — модели, проекты и настройки при этом сохраняются.
Исправлено в 0.2.1
- Приложение не запускалось на Windows.
Video-Dub.batвызывает Windows PowerShell 5.1, а тот читает.ps1без метки BOM в системной кодировке вместо UTF-8. Кириллица превращалась в мусор, а тире «—» — в типографскую кавычку, которую PowerShell принимает за начало строки: разбор рвался с «Непредвиденная лексема "}"» и «В строке отсутствует завершающий символ». Скрипты сохранены с BOM, в сборку добавлена проверка, чтобы это не вернулось.
Ниже — что вошло в 0.2.0.
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.2.1...v0.2.2
v0.2.1
Исправлено в 0.2.1
- Приложение не запускалось на Windows.
Video-Dub.batвызывает Windows PowerShell 5.1, а тот читает.ps1без метки BOM в системной кодировке вместо UTF-8. Кириллица превращалась в мусор, а тире «—» — в типографскую кавычку, которую PowerShell принимает за начало строки: разбор рвался с «Непредвиденная лексема "}"» и «В строке отсутствует завершающий символ». Скрипты сохранены с BOM, в сборку добавлена проверка, чтобы это не вернулось.
Ниже — что вошло в 0.2.0.
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Исправлено
Запуск и установка
- Обработка своего файла падала с «Не найдены зависимости: yt-dlp», хотя для загруженного вручную видео он не нужен. Теперь он спрашивается только под скачивание по ссылке — и ставится сам, как зависимость проекта.
- WhisperX не устанавливался: он требует Python младше 3.14, а приложение работает на 3.14. Окружение для него теперь строится на подходящем интерпретаторе, при необходимости он скачивается автоматически.
- Faster Whisper падал на видеокарте с «libcublas.so.12 is not found»: CTranslate2 не тянет за собой библиотеки CUDA. Теперь они доустанавливаются — только при наличии видеокарты. Если GPU всё же недоступен, транскрипция продолжается на процессоре вместо остановки.
- Faster Whisper и WhisperX держали отдельные копии одних и тех же моделей распознавания — по 3–4,5 ГБ каждая. Каталог стал общим, прежние копии переносятся при первом запуске.
- Кнопка загрузки модели Faster Whisper всегда качала заново: проверка «уже загружена» искала каталог не по тому имени.
Озвучка
- Повторная озвучка сегмента давала ровно тот же результат: сид фиксирован в настройках, и каждое нажатие воспроизводило ту же попытку. Сегмент, где голос сорвался с клона, нельзя было исправить в принципе. Теперь каждый повтор получает новый сид.
- Ручная переозвучка и прослушивание голоса не передавали язык, хотя общий прогон передаёт. Без него модель угадывает язык по тексту и может сменить голос — то есть ручной повтор срывался чаще пакетного.
- Удаление субтитра сдвигало всю озвучку после него: файлы названы по номеру фразы, а удаление перенумеровывало оставшиеся. Под каждым субтитром оказывался голос предыдущего — и в предпрослушивании, и в собранном видео.
- Переозвученный сегмент не обновлялся в аудиоредакторе и продолжал играть прежней записью из кеша браузера.
Интерфейс
- Поле загрузки видео оставалось заполненным после закрытия проекта: там висело имя чужого файла, а повторный выбор того же видео не срабатывал вовсе. Незавершённая загрузка теперь прерывается — раньше её ответ мог подменить исходник в уже другом проекте.
- Кнопка воспроизведения сегмента возвращалась в исходный вид, не дождавшись конца записи.
- Заголовки полей в боковой панели переносились на две строки и ломали выравнивание.
Добавлено
- В аудиоредакторе видно, что голос не помещается в слот. Такой сегмент подсвечен красным, а правый край можно растянуть — это единственное, что убирает обрезку фразы при сборке. Цвет меняется прямо во время растягивания, дальше длины записи блок не тянется.
- В логе указана модель видеокарты — на всех этапах, где считает GPU: разделение дорожек, транскрипция, озвучка, синхронизация губ.
- Количество голосов переехало в одну строку с языками и появляется только у WhisperX.
- Описания движков транскрипции в настройках — видно, чем они отличаются, до запуска.
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications, запустить |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки — это несколько минут и несколько гигабайт. Модели распознавания и озвучки качаются отдельно из настроек.
Сборка для macOS подписана и заверена у Apple — предупреждений при запуске быть не должно. Установщик для Windows не подписан, SmartScreen попросит подтверждение.
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Установка
| Система | Файл | Что делать |
|---|---|---|
| Windows | Video-Dub-*-setup.exe |
Запустить установщик |
| macOS | Video-Dub-*.dmg |
Открыть, перетащить в Applications. Первый запуск: правый клик → «Открыть» |
| Linux | install.sh |
curl -LsSf .../install.sh | bash, затем video-dub |
При первом запуске приложение само скачает Python, ffmpeg и ML-библиотеки —
это несколько минут и несколько гигабайт. Модели распознавания и озвучки
качаются отдельно из настроек.
Full Changelog: https://github.com/oneevil/video-dub/commits/v0.1.0