Я использую программу для жесткого кодирования сабов в файл AVI. Проблема в том, что он сжимает видео с помощью кодека. Я не понимаю, почему это необходимо и вызывает заметную потерю качества. Существует ли программа, которая вставит сабвуферы без необходимости повторного сжатия видео, чтобы не было потери качества видео?
compression
codec
avi
subtitles
video-conversion
tony_sid
источник
источник
Я думаю, что при обычном использовании жесткие субтитры означают, что они встроены в данные изображения, что по определению требует повторного сжатия. Мягкие субтитры добавляются в виде отдельных файлов, например .srt. Тем не менее, есть средний путь во встроенных субтитрах. Встроенные субтитры добавляются в контейнер видео как отдельная дорожка, что означает, что они будут включены в файл, но не требуют повторного сжатия.
Для Divx-формата лучшим инструментом является Windows-приложение AVIAddXSubs. Он может встраивать субтитры Idx / Sub / Srt.
Для MP4 и некоторых других альтернатив, Handbrake может вставлять мягкие субтитры. Узнайте больше на их вики
источник
Вы можете использовать mplayer для воспроизведения видео с субтитрами, а затем выводить все в необработанный файл yuv (-vo yuv4mpeg). Если вы воспроизводите фильм, этот выводимый файл будет очень большим, сотни гигабайт, поэтому убедитесь, что он не вызовет проблем.
После вывода файла его можно сжать с помощью ffmpeg, а затем кодека H264.
источник
Повторное сжатие необходимо, потому что вы изменяете данные кадра, если накладываете текст на сам кадр. Итак, рабочий процесс идет
Decompress frame > Modify it to add text > recompress frame
,Вы можете использовать кодек без потерь для файла с добавленными субтитрами. Один из них будет huffyuv, h.264 и Dirac, похоже, также имеют профили без потерь. (Это приведет к тому же качеству, что и исходный файл, с гораздо большим размером файла)
Теоретически, возможно написать приложение, которое перекодирует только те блоки, которые изменены субтитрами, но это, вероятно, необходимо глубоко внедрить в кодек кодов ... Это должно позволить ограничить области, на которые влияет качество. Я не знаю ничего подобного, что существует, хотя ... (Это также должно было бы быть написано специально для каждого кодека, в то время как изменение распакованного кадра позволяет использовать существующие библиотеки кодера и декодера, а также повторное сжатие другой формат)
В идеале, вы должны использовать сжатые файлы без потерь до завершения редактирования и экспортировать окончательный файл с предпочтительным сжатием. Однако это работает только для видео, которые вы производите.
Другим вариантом, который может быть приемлемым, является добавление субтитров в качестве дополнительного потока данных (хотя это позволит их отключить). MPEG-4 синхронизированный текст - один из таких форматов субтитров, Ogg Writ - другой. (Но ни один из них, похоже, не поддерживает контейнер AVI) (С их помощью субтитры - это просто еще одна дорожка, как аудио и видео, которые воспроизводятся при воспроизведении файла)
Может также работать сжатие с использованием лучшего кодека (вероятно, Dirac, H.264 или H.265, в зависимости от формата ввода), чтобы попытаться ограничить потерю качества без огромного увеличения размера файла.
источник