2016-01-18 4 views
0

This codeThis code работает отлично для некоторых аудиофайлов (делает слайд-шоу из JPG-изображений с водяным знаком PNG и аудио MP3, сохраняя соотношение сторон), но для this audio file картинки не отображаются для первого две секунды или около того видео:FFmpeg Первые 2 секунды видео не отображаются

ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/watermark.png" -filter_complex "[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih), pad=3840:2160:(3840-iw)/2:(2160-ih)/2[ss]; [ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -c:a copy -map_metadata -1 "media/video.mkv" -report

Я попытался преобразования аудио в различные форматы MP3, попытался изменить битрейта, изменил аудио в стерео, и даже пытался превратить ее в WAV. Ни одна из этих вещей не работала.

Здесь the report results, когда я запускаю эту команду.

Если это имеет значение, я использую Ubuntu 14.04 и версию FFmpeg N-77455-g4707497 (последняя версия).

+1

Попробуйте с '-fflags + genpts' в качестве опции вывода. – Mulvya

+0

@Mulvya, я получаю тот же результат. Вот [отчет] (https://jsfiddle.net/oLoemncL/1/) при запуске с '-fflags + genpts'. – Pamela

+1

Извлеките аудио из уравнения. Удалите '-i 'media/audio.mp3" ',' -map 1: a' и '-c: a copy' – Mulvya

ответ

1

Эта команда должна работать, но я считаю это странное поведение, как FFmpeg должны быть автоматически дополняя кадры в соответствии с выходной спецификацией

ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/watermark.png" -filter_complex "[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih), pad=3840:2160:(3840-iw)/2:(2160-ih)/2,fps=24[ss]; [ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -c:a copy -map_metadata -1 "media/video.mkv" 
Смежные вопросы