Изменение частоты кадров в контейнере MKV

У меня проблема с воспроизведением некоторых MKV контейнеров (89 штук, всего 196,3 ГБ).

аудио + видео кодируются в 25 кадров в секунду, но подводные лодки полностью синхронизированы - они кодируются на 23.976 кадров в секунду.

мой вопрос: есть ли в любом случае я могу пакетно изменить/повторно закодировать частоту кадров в этих фильмах до 23.976?

10
задан mainstream
07.05.2023 17:48 Количество просмотров материала 3387
Распечатать страницу

3 ответа

вы можете попробовать перекодировать видео и аудио в другую частоту кадров, сохраняя субтитры такими, какие они есть:

ffmpeg -i input.mkv -c:v libx264 -crf 21 -c:a aac -strict experimental -b:a 128k -r 23.98 -c:s copy output.mkv

CRF устанавливает качество видео. Выберите что-то более низкое для даже лучшего качества, как 18. Значение по умолчанию для x264 равно 23.

0
отвечен slhck 2023-05-09 01:36

как люди сказали в комментариях, правильный способ справиться с проблемой, которую вы на самом деле пытаетесь решить, - это настроить субтитры или сказать вашему плееру, что они для другого скоростного видео. (например,mpv --sub-fps 25 будет держать подводные лодки для 25fps шоу в синхронизации с 24/1.001 fps копия.) (http://mpv.io/)

но ответить на актуальный вопрос:

вам не нужно перекодировать, чтобы изменить fps. кода не могу remux с новыми метками времени без к сожалению, повторное кодирование, но это ограничение дизайна ffmpeg. Видео-кодирование с потерями и очень медленно, так что не делайте этого.

Try mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv изменить видео FPS. Это не коснется синхронизации звука, поэтому вы получите a/v рассинхронизацию. 0: выбор трека 0 в вашем входном файле, который, как я думаю, обычно видео.

вам нужно перекодировать аудио после обработки с шагом-сохранение фильтра ускорение. Я обычно делаю это только во время воспроизведения с МПВ / mplayer'а scaletempo фильтр (mpv вставляет его автоматически). ffmpeg имеет atempo "фильтр", который, вероятно, делает трюк.

так mux замедленное аудио с 24/1.001 кадров в секунду видео, и вы должны иметь рабочий файл снова.

Я действительно не тестировал все это, потому что обычно вам никогда не нужно это делать. Просто скажите своему игроку, для какой скорости предназначены подводные лодки. И вы даже можете использовать mpv --speed 25025/24000 -subfps 25 myfile.mkv для воспроизведения на лету видео со скоростью 25 кадров в секунду, если у вас есть 24/1.001 fps копия британское шоу, которое первоначально было 25 кадров в секунду, и вы хотите воспроизвести его на оригинальной скорости с постоянным ускорением звука.

1
отвечен Peter Cordes 2023-05-09 03:53

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

0
отвечен winkan 2023-05-09 06:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх