Это должно быть довольно тривиально, но я не могу найти способ заставить его работать.
Я хочу, чтобы FFmpeg взял одно изображение JPEG и аудиофайл в качестве входных данных и сгенерировал видеофайл той же длительности, что и аудиофайл (растягивая неподвижное изображение на всю длительность).
Меня не очень волнует, какой видеокодек используется для вывода, но очень важно, чтобы я мог использовать «копировать» в качестве аудиокодека (т.е. копировать аудиопоток без его перекодирования).
Какова правильная командная строка, которая сделала бы это?
Я старался:
ffmpeg -i image8.jpg -i sound11.amr -acodec copy test.avi
и пробовал много комбинаций с и без -s 640x360
, -loop_input
, -shortest
, -t xxx
, -r 0.1
(искусственно низкой скоростью передачи кадров в надежде , что видео будет больше) и-f image2
Либо я получаю ошибки, либо получаю видеофайл продолжительностью один кадр.
Я погуглил и нашел дюжину предложенных решений (предположительно по этому же вопросу), ни одно из которых не работает.
Кто-нибудь может предложить рабочую команду и объяснить обоснование этого?
ffmpeg -y -i image.png -i audio.mp3 -c:a copy result.avi