2014-01-13 1 views
2

У меня есть видео, которое неправильно помечено на 30 кадров в секунду, оно на самом деле составляет 60 кадров в секунду, и похоже, что он воспроизводится на половинной скорости. Звук прекрасен, т. Е. Саундтрек заканчивается на полпути через видеоклип. Я хотел бы знать, как, если это возможно, исправить это, что вдвое превышает скорость видео, что составляет 60 кадров в секунду и означает, что аудио и видео синхронизируются.Преобразование формы от 30 до 60 кадров в секунду путем увеличения скорости, а не дублирования кадров. FFmpeg

Файл H.264 и аудио в формате MPEG-4 AAC

Заранее спасибо за любую помощь,

Matt

Детали файла, как указано на FFmpeg, в соответствии с просьбой:

ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers 
built on Nov 9 2013 19:09:46 with gcc 4.8.1 
*** THIS PROGRAM IS DEPRECATED *** 
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './Tignes60fps.mp4': 
    Metadata: 
    major_brand  : mp42 
    minor_version : 0 
    compatible_brands: isommp42 
    creation_time : 2014-01-13 02:23:09 
    Duration: 00:08:33.21, start: 0.000000, bitrate: 5690 kb/s 
    Stream #0.0(eng): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 5609 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc 
Metadata: 
    creation_time : 2014-01-13 02:23:09 
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 156 kb/s 
Metadata: 
     creation_time : 2014-01-13 02:23:09 
At least one output file must be specified 
+0

фильтр настроек может быть полезным – rogerdpack

+0

Вы должны указать некоторую информацию об этом файле: 'ffmpeg -i input'. Пожалуйста, предоставьте полный вывод консоли. – LordNeckbeard

+0

Я отредактировал вопрос, чтобы дать эти данные. –

ответ

1

Использование -vsync drop:

ffmpeg -i input.avi -vcodec copy -vsync drop -r 60 output.avi

Исходные временные метки будут уничтожены, а выходной мультиплексор создаст новые на основе заданной частоты кадров (-r).

+0

Это просто дает мне «Ожидаемое количество для vsync но найдено: drop» –

+0

Какую версию ffmpeg вы используете? –

+0

Хм ... на самом деле вы используете libav, а не ffmpeg. –

1

Хорошо, вот как я достиг того, чего хотел.

avconv -i input.mp4 -r 60 -filter:v "setpts=0.5*PTS" output.mp4 

Это оставило без изменений звук, поэтому теперь он отлично синхронизируется с видео.

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

Кредит на rogerdpack за предложение комплектов, но вы были очень минимальными! Более полный ответ был бы оценен!

Смежные вопросы