У меня есть 1 изображение (jpg) и 1 аудиофайл (MP3), и я хотел бы вывести его в виде видеофайла (например, AVI).
Кто-нибудь знает, как использовать FFMPEG для объединения двух? Я хотел бы показать изображение во время аудио.
Любые идеи кто-нибудь?
video
audio
ffmpeg
concatenation
user41559
источник
источник
Ответы:
Если вы работаете в Windows, вы можете сделать это и в Windows Movie Maker ... если вам нужны инструкции, пожалуйста, оставьте комментарий
Для FFmpeg используйте это
vframes 14490 - это количество кадров, которые должны быть зациклены, чтобы иметь непрерывное изображение для всего файла audio.mp3
Пример: в течение 8 минут и 3 секунд ((8 м x 60 с + 3 с) x 30 кадр / с = 14490 VF)
Ресурс отсюда
источник
Существует гораздо более простой способ, чем предложенный здесь, который не требует вычисления количества кадров или ввода длины отдельных файлов (особенно лучше для пакетной обработки). В последней версии ffmpeg вы можете использовать
-shortest
опцию, которая останавливает кодирование, когда заканчивается самый короткий поток - в данном случае, input.mp3 (поскольку изображение будет зацикливаться вечно, оно имеет бесконечную длину):Это использует 2 кадра в секунду для изображения / видео, что должно быть хорошо, но вы можете установить его на более 25 стандартных, если хотите.
источник
у субанки почти все было правильно. Рабочая командная строка выглядит следующим образом;
перезаписать выходные файлы без запроса
Опция -loop_input устарела, используйте -loop 1. См. Документацию ffmpeg .
входной файл (ы)
Количество кадров в секунду
Может также быть выражена как: -r 30000/1001 дает ФПС 29.97nnn
битрейт видео; Чем выше число, тем лучше качество и больше размер файла.
Как объяснено выше; взять общее время вашего аудиофайла в секундах (например, 00:02:41 (2 минуты 41 секунда) равно 161 общее количество секунд (2 х 60) + 41). Затем умножьте общее количество секунд на количество кадров в секунду, указанное вами с помощью -r (например, 161 x 30 = 4830).
-vframes можно заменить на -t 161 (-t длительность записи или транскодирование «длительности» секунд аудио / видео)
Используйте правильный аудиокодек для типа файла, который вы создаете. Для .mp4 это должен быть формат AAC. Кодек libvo_aacenc был правильным кодеком для моей системы Windows 7.
аудио битрейт
Это имя выходного файла. Это может быть любое допустимое имя файла для вашей системы. Расширение поможет ffmpeg определить правильный видеокодек, если вы не укажете его с помощью -vcodec.
источник
Этот простой скрипт bash / cygwin, который АВТОМАТИЧЕСКИ закодирует все файлы с расширением $ AUDIO в каталоге в видеофайл MPF 10FPS в каталоге с вложенным изображением folder.jpg,
полезно для загрузки на YouTube;)
источник
Скачайте VirtualDub и сделайте следующее:
Откройте изображение, как если бы вы открыли обычный видеофайл.
Рассчитайте продолжительность звука в секундах и округлите ее до ближайшей целой секунды (например, 78,34 секунды становятся 79 секундами). Это значение теперь называется х.
Перейдите в «video> frame rate», выберите «change to frame rate (fps)» и введите «1 / x» в качестве значения. Кроме того, если вы хотите, чтобы в результирующем файле была нормальная частота кадров, например, 25 кадров в секунду, выберите «Преобразовать в кадры в секунду» и введите требуемую частоту кадров.
Выберите «видео> сжатие» и выберите ваш любимый вкус. Может случиться так, что вам нужно отрегулировать размер изображения с помощью фильтра изменения размера.
Перейдите в «аудио> аудио из другого файла» и выберите там свой звук. При необходимости выберите сжатие для аудио.
Сохраните файл.
Источник: СтефанВ
источник