Как жестко закодировать субтитры в AVI без потери качества

2

Я использую программу для жесткого кодирования сабов в файл AVI. Проблема в том, что он сжимает видео с помощью кодека. Я не понимаю, почему это необходимо и вызывает заметную потерю качества. Существует ли программа, которая вставит сабвуферы без необходимости повторного сжатия видео, чтобы не было потери качества видео?

tony_sid
источник

Ответы:

8

Нет. Хардсабы изменяют видеоконтент, поэтому необходима его повторная компрессия.

Ignacio Vazquez-Abrams
источник
Какой кодек следует использовать, чтобы минимизировать потерю качества видео?
tony_sid
3
Это вопрос, о котором была написана вся докторская диссертация.
Ignacio Vazquez-Abrams
На данный момент h264, вероятно, является лучшим (с точки зрения соотношения качества и размера) потребительским кодеком с потерями. На том же основании, Lagarith, вероятно, самый полезный кодек без потерь (выход за пределы Lagarith обычно бессмысленен).
Matthieu Cartier
2

Я думаю, что при обычном использовании жесткие субтитры означают, что они встроены в данные изображения, что по определению требует повторного сжатия. Мягкие субтитры добавляются в виде отдельных файлов, например .srt. Тем не менее, есть средний путь во встроенных субтитрах. Встроенные субтитры добавляются в контейнер видео как отдельная дорожка, что означает, что они будут включены в файл, но не требуют повторного сжатия.

Для Divx-формата лучшим инструментом является Windows-приложение AVIAddXSubs. Он может встраивать субтитры Idx / Sub / Srt.

Для MP4 и некоторых других альтернатив, Handbrake может вставлять мягкие субтитры. Узнайте больше на их вики

RipperDoc
источник
Основываясь на других вопросах автора, я уверен, что у них уже есть MKV со встроенными софтсабами.
Ignacio Vazquez-Abrams
Да, вы можете быть правы, но я предполагал, что спрашивающий хотел AVI файл. AVI может включать сабвуферы без повторного сжатия с использованием AVIAddXSubs и совместимого с DivX / Xvid проигрывателя. Если бы MKV имел видеопоток h264, то же самое можно было бы сделать с помощью Handbrake и контейнера MP4 (например, для iPad или Apple TV).
RipperDoc
Мягкие субтитры могут быть встроены в контейнеры, такие как MKV, но не все устройства могут воспроизводить их (я думаю о вас, Playstation 3!)
ttarchala
1

Вы можете использовать mplayer для воспроизведения видео с субтитрами, а затем выводить все в необработанный файл yuv (-vo yuv4mpeg). Если вы воспроизводите фильм, этот выводимый файл будет очень большим, сотни гигабайт, поэтому убедитесь, что он не вызовет проблем.

После вывода файла его можно сжать с помощью ffmpeg, а затем кодека H264.

Javier Loureiro
источник
Перекомпрессия приведет к потере качества, хотя ...
Gert van den Berg
0

Повторное сжатие необходимо, потому что вы изменяете данные кадра, если накладываете текст на сам кадр. Итак, рабочий процесс идет Decompress frame > Modify it to add text > recompress frame,

Вы можете использовать кодек без потерь для файла с добавленными субтитрами. Один из них будет huffyuv, h.264 и Dirac, похоже, также имеют профили без потерь. (Это приведет к тому же качеству, что и исходный файл, с гораздо большим размером файла)

Теоретически, возможно написать приложение, которое перекодирует только те блоки, которые изменены субтитрами, но это, вероятно, необходимо глубоко внедрить в кодек кодов ... Это должно позволить ограничить области, на которые влияет качество. Я не знаю ничего подобного, что существует, хотя ... (Это также должно было бы быть написано специально для каждого кодека, в то время как изменение распакованного кадра позволяет использовать существующие библиотеки кодера и декодера, а также повторное сжатие другой формат)

В идеале, вы должны использовать сжатые файлы без потерь до завершения редактирования и экспортировать окончательный файл с предпочтительным сжатием. Однако это работает только для видео, которые вы производите.

Другим вариантом, который может быть приемлемым, является добавление субтитров в качестве дополнительного потока данных (хотя это позволит их отключить). MPEG-4 синхронизированный текст - один из таких форматов субтитров, Ogg Writ - другой. (Но ни один из них, похоже, не поддерживает контейнер AVI) (С их помощью субтитры - это просто еще одна дорожка, как аудио и видео, которые воспроизводятся при воспроизведении файла)

Может также работать сжатие с использованием лучшего кодека (вероятно, Dirac, H.264 или H.265, в зависимости от формата ввода), чтобы попытаться ограничить потерю качества без огромного увеличения размера файла.

Gert van den Berg
источник