Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Цифровые технологии » Видео и аудио: обработка и кодирование » Разыскивается простая, но качественная программа для вшивания субтитров

Ответить
Настройки темы
Разыскивается простая, но качественная программа для вшивания субтитров

Пользователь


Сообщения: 86
Благодарности: 15

Профиль | Отправить PM | Цитировать


Дело в том, что у меня железный плеер сам SRT субтитры плохо отображает (светлый и плохочитаемый шрифт), поэтому решил для него делать хардсаб. Я смотрю обычно AVI+SRT или MKV(H264,звук,SRT внутри). Требуется результат пересохранять в MP4 или MKV с кодеком H264 для минимизации потерь сжатия. Соответственно VirtualDub тут не поможет.
В общем-то процесс мне понятен. Я знаю как вшивать субтитры в MeGUI с помощью avisynth (TextSub). Проблема в том, что это довольно хлопотное дело. Создать индекс MKV, распаковать субтитры из MKV, вручную их вписать в скрипт для TextSub, пережать видео, потом заново запаковать в MKV с новым видео. Ведь это не разовая операция, каждый раз замучаешься. Ищу простую программу, чтобы можно было указать файл входной MKV или AVI, выбрать аудио и сабы (ведь их может быть несколько) и нажать "конвертировать" (профили и выходную папку заранее можно настроить). Без всяких извлечений сабов и прочих шаманств. Но при этом программа должна быть качественной, сохранять в MKV или MP4, x264 пресет medium, кодирование не только в режиме bitrate, но и crf. Желательно чтобы разрешение видео не указывать (использовать оригинальное, с поддержкой анаморфности). В идеале звук чтобы не перекодировался.
Я испробовал:

- Any Video Converter - сохраняет без CABAC и только baseline профиль. Сабы вшивает только при сохранении в MP4, в этом режиме звук всегда перекодируется. Не умеет crf кодирование
- ImTOO Video Converter - сохраняет без CABAC. Сабы вшивает только при сохранении в MP4, в этом режиме звук всегда перекодируется
- Hanbrake - не умеет вшивать SRT (только VobSub)
- MeGUI - устраивает, но слишком хлопотно. Нужно делать resize для анаморфного разрешения
- XviD4PSP 5 - ей надо предварительно извлечь сабы и вписать разрешение

В общем жду еще предложений.

Отправлено: 01:41, 01-04-2014

 

Пользователь


Сообщения: 86
Благодарности: 15

Профиль | Отправить PM | Цитировать


Пока что написал батник для упрощения, по принципу как в MeGUI реализовано
sub.bat
Код: Выделить весь код
"C:\Program Files (x86)\Sub\tools\mkvtoolnix\mkvextract.exe" --ui-language en tracks "C:\Users\Denis\Desktop\1.mkv" 2:"C:\Users\Denis\Desktop\1.srt"
"C:\Program Files (x86)\Sub\tools\ffms\ffmsindex.exe" -f "C:\Users\Denis\Desktop\1.mkv" "C:\Users\Denis\Desktop\1.mkv.ffindex"
"C:\Windows\notepad.exe" "C:\Program Files (x86)\Sub\tools\script.avs"
"C:\Program Files (x86)\Sub\tools\x264\x264.exe" --crf 16 --keyint 240 --sar 1:1 --output "C:\Users\Denis\Desktop\2.mkv" "C:\Program Files (x86)\Sub\tools\script.avs"
"C:\Program Files (x86)\Sub\tools\mkvtoolnix\mkvmerge.exe" -o "C:\\Users\\Denis\\Desktop\\1-converted.mkv"  "--language" "0:und" "--default-track" "0:yes" "--forced-track" "0:no" "--compression" "0:none" "-d" "0" "-A" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "C:\\Users\\Denis\\Desktop\\2.mkv" ")" "--language" "1:und" "--default-track" "1:yes" "--forced-track" "1:no" "--compression" "1:none" "-a" "1" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "C:\\Users\\Denis\\Desktop\\1.mkv" ")" "--track-order" "0:0,1:1"
del "C:\Users\Denis\Desktop\1.mkv.ffindex"
del "C:\Users\Denis\Desktop\1.srt"
del "C:\Users\Denis\Desktop\2.mkv"
pause
script.avs
Код: Выделить весь код
LoadPlugin("C:\Program Files (x86)\Sub\tools\ffms\ffms2.dll")
LoadPlugin("C:\Program Files (x86)\Sub\tools\vsfilter\VSFilter.dll")
FFVideoSource("C:\Users\Denis\Desktop\1.mkv", threads=1)
#LanczosResize(852,480)
TextSub("C:\Users\Denis\Desktop\1.srt")
Главное условие, конвертируемый файл нужно перепаковать в MKV, чтобы в нем были только видео+1звук+1сабы в таком порядке и никаких лишних дорожек (это можно сделать в mkvtoolnix) и положить на рабочий стол с именем 1.mkv
Остальное будет сделано автоматически. Во время работы будет также открыт на редактирование скрипт. В случае анаморфного разрешения (например MKV H264 720x480 16:9) надо избавиться от анаморфности путем ресайза. Для предотвращения потерь лучше сделать апскейл, то есть нужно расскомментировать и вписать в данном случае LanczosResize(852,480)

Этот способ тоже не самый простой, но значительно проще, чем делать самому в MeGUI.
Достоинства: Используется качественный кодировщик x264 с нормальными параметрами, кодирование crf, сохранение в MKV, звук не перекодируется, для звуковой дорожки не нужно корректировать delay и gaps (они перенесутся в контейнер)
Недостатки: Нужно избавляться от анаморфа подсчитав правильное разрешение, предварительная перепаковка, потеряется исходное имя файла

Кстати, если подсовывать файл 1.srt.style рядом с субтитрами, то можно задавать параметры отображения
Код: Выделить весь код
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&Hffffff,&Hffffff,&H000000,&H000000,0,0,1,2,0,2,10,10,10,0,1
Например вот такой стиль сделает субтитры менее жирными. Fontsize зависит только от аспекта. Например значение 20 комфортно для аспектов 1,66:1 - 1,85:1. На 2,35:1 размер становится маленьким и Fontsize нужно увеличивать. К сожалению совсем от него избавиться нельзя, тогда TextSub будет просто игнорить файл стиля.

И еще надо иметь в виду, в видео с небольшим разрешением (576x248 например) субтитры добавляются некачественно, сказывается маленькое разрешение. Такое видео желательно апскейлить до приемлемых значений (400 по высоте хотя бы).

Последний раз редактировалось deniskx, 01-04-2015 в 19:01.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:20, 01-04-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 86
Благодарности: 15

Профиль | Отправить PM | Цитировать


Хорошая новость. Ночные сборки Handbrake научились вшивать SRT субтитры в видео. Исправлен баг с неправильным отображением конца строки.

Ночные сборки Handbrake также поддерживают технологию аппаратного ускорения кодирования и декодирования видео Intel Quick Sync Video, что существенно повышает скорость кодирования (200-300 fps и выше в зависимости от разрешения).
Но им требуется Windows 7 x64. Под Linux поддержки Intel Quick Sync Video нет.

Последний раз редактировалось deniskx, 01-04-2015 в 18:59.


Отправлено: 13:00, 16-09-2014 | #3


Ветеран


Сообщения: 726
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата deniskx:
Под Linux поддержки Intel Quick Sync Video нет. »
Зато под Linux есть Вайн.

Отправлено: 21:10, 17-09-2014 | #4


Пользователь


Сообщения: 86
Благодарности: 15

Профиль | Отправить PM | Цитировать


Цитата Wusa:
Зато под Linux есть Вайн. »
Не думаю, что Intel Quick Sync Video заведется под Wine. Зато под Linux вроде есть патченный gstreamer с поддержкой QSV. Наверное из командной строки конвертировать можно.

Для Windows тоже есть программа для командной строки, использующая QSV. Это q264.
Примечательно, что она поддерживает avisynth скрипты и может принимать данные из ffmpeg. Что дает просто безграничные возможности. На вход ест все форматы, поддерживаемые встроенным ffmpeg, но сохраняет только в сырой h264. Для несжатых входных данных нужно вручную указать разрешение и частоту.

Простое конвертирование:
Цитата:
q264.exe -u 1 -cqp 16 -numRefFrames 4 -i "input.mkv" -o "output.h264"
Импорт из внешнего ffmpeg:
Цитата:
ffmpeg.exe -i "input.mkv" -map 0:0 -vcodec rawvideo -f rawvideo -pix_fmt yuv420p - | "q264.exe" -u 1 -cqp 16 -numRefFrames 4 -c yuv420p -fps 23.976 -srcw 1280 -srch 720 -i - -o "output.h264"

Отправлено: 12:03, 19-09-2014 | #5



Компьютерный форум OSzone.net » Цифровые технологии » Видео и аудио: обработка и кодирование » Разыскивается простая, но качественная программа для вшивания субтитров

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Простая программа --- Вопрос SAU-trade Программирование и базы данных 1 14-11-2012 10:00
C/C++ - Самая простая программа для работы с СОМ-портом cambit Программирование и базы данных 4 13-02-2012 10:59
[решено] Разыскивается тихое, но эффективное охлаждение для S1155 Morpheus Разгон, охлаждение и моддинг 27 25-05-2011 17:00
Графика - [решено] нужна простая бесплатная маленькая программа для скриншотов ALEXEY_DFD Программное обеспечение Windows 4 20-12-2009 10:07
Экстремально простая установка Ubuntu для новичков liberatum Новости и флейм из мира *nix 1 16-10-2008 23:06




 
Переход