Я был бы очень признателен, если бы кто-нибудь мог дать несколько советов относительно использования itsoffset с ffmpeg. Я читал несколько сообщений на эту тему, некоторые из них очень четко объясняют, как повторно-синхронизировать аудио и видео с -смещением, но мне не удалось заставить это работать. Мой avi-файл закодирован с помощью ffmpeg в два прохода, с использованием следующей команды для второго прохода:
ffmpeg -i whole-vts_01.avs -pass 2 -y -vcodec libxvid -vtag XVID -b:v 1300K -g 240 -trellis 2 -mbd rd -flags +mv4+aic -acodec ac3 -ac 2 -ar 48000 -b:a 128k output.avi
По какой-то причине я получаю задержку в 1 секунду в видео (или звук на 1 секунду раньше). Это случается не слишком часто, но я вижу это время от времени. Среди других попыток я пробовал следующее:
(1) ffmpeg -i output.avi -itsoffset 00:00:01.0 -i output.avi -vcodec copy -acodec copy -map 0:0 -map 1:1 output-resynched.avi
(2) ffmpeg -i output.avi -itsoffset 00:00:01.0 -i output.ac3 -vcodec copy -acodec copy -map 0:0 -map 1:0 output-resynched2.avi
(3) ffmpeg -itsoffset -00:00:01.00 -i output.avi output-resynched8.avi
(4) ffmpeg -i output.avi -itsoffset -1.0 -i output.avi -vcodec copy -acodec copy -map 0:1 -map 1:0 output-resynched13.avi
Вот результаты:
Я вижу, что многие люди объясняют и, по-видимому, используют описанный выше процесс, но мне кажется, что он не работает. Я упускаю что-то очевидное? Я бы очень хотел иметь возможность использовать -его смещение, так как это чище, чем мое обходное решение.
FWIW, вот другой и более длинный способ получения желаемого результата:
Сначала создайте файл со смещенным видео, используя -ss:
ffmpeg -i output.avi -ss 1.0 -vcodec copy -an oupput_videoshifted.avi
Затем извлеките аудио:
ffmpeg -i output.avi -vn -acodec copy outputaudioonly.ac3
И, наконец, повторно соедините оба компонента:
ffmpeg -i output_videoshifted.avi -i output_audioonly.ac3 -vcodec copy -acodec copy -map 0:0 -map 1:0 output-resynched14.avi
] Процесс работает, достаточно быстр, но я действительно предпочел бы использовать однопроходное решение -его смещения.