Я хочу сделать PAL DVD для моего отца, из фильма, снятого в 24 кадрах в секунду, который хранится в формате 30 кадров в секунду. Я пытался напрямую конвертировать его в 25 кадров в секунду, но это не гладкий результат. Множество дублированных кадров - например, 5 кадров, затем дублирование, затем 3 кадра, дублирование, 8 кадров, дублирование и т.д. Однако, когда я конвертирую его в 24 кадра в секунду, все получается плавно. Еще одно видео у меня в 24 к / с, и когда я конвертирую это в 25 к / с, оно также довольно плавное (т. Е. Всего один потерянный кадр в секунду, я полагаю).

Поэтому я хотел бы, чтобы ffmpeg сначала конвертировал фильм в 24 кадра в секунду, а затем преобразовал его в 25 кадров в секунду, чтобы увидеть, даст ли он более плавный результат, чем преобразование непосредственно в 25 кадров в секунду.

Как мне это сделать? Я чувствую, что это, возможно, связано с трубопроводом, но я не знаю, как это сделать.

Вход AVC1 составляет 640 x 480 x 29,97 к / с, а затем я хотел бы преобразовать без потерь в 24 к / с и преобразовать это в видео MPEG2 с разрешением 720 x 576 x 25 к / с. Я уже узнал, как сделать фильтры масштабирования и заполнения, но я не могу понять, что такое трубопровод. Это слишком сложно.

РЕДАКТИРОВАТЬ: я использую Windows 7.

2 ответа2

1

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

Для первого шага необходимо преобразовать исходное видео в частоту кадров, которая может делиться на обе частоты кадров (исходную и целевую). В этом случае нижнее число, которое делится на 30, а также 25, равно 150. Итак, сделайте первое преобразование, изменив параметр <-r> на 150. Чтобы сохранить качество, аналогичное исходному видео, вам нужно умножить исходный битрейт на 5. Это необходимо, потому что результирующее видео будет иметь в 5 раз больше кадров в секунду, чем оригинальное. Аудиодорожки можно просто скопировать.

Вторым шагом будет получение результата первого преобразования и преобразование в видео с частотой кадров = 25. Для этого преобразования вы можете использовать битрейт в 6 раз меньше, чем на первом шаге, и качество будет аналогичным. Аудиодорожки также могут быть скопированы для этого шага.

Полученное видео после этих двух преобразований не будет иметь то же качество оригинала, но результат будет наилучшим, что вы можете получить, используя ffmpeg без каких-либо изменений исходного времени фильма и без искажения звука.

0

Ну, следующее, что я попробовал, основываясь на примерах, которые я нашел в Google, и, похоже, это сработало. Это не решило мою проблему и привело к плавному видео, как я и думал, но оно сделало то, на что был направлен мой первоначальный вопрос.

ffmpeg -i %1 -r 24 -c:v rawvideo -c:a pcm_s16le -f avi pipe:1 | ffmpeg -i - -r 25 -c:v mpeg2video -q:v 4 -c:a mp2 -b:a 192k "%~nx1.vob"

Эта команда взяла входной файл% 1, который был 30 к / с, и преобразовала его в 24 к / с, а затем передала распакованные кадры и распакованный звук в другой экземпляр ffmpeg, который преобразовал их в 25 к / с в формате mpeg2video и mp2 audio.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .