Вопрос: Конвертация пакетного видео с помощью FFmpeg в Ubuntu: объединение изображений и аудио


У меня есть папка, полная звукового файла с расширением .mp3 .amr и .wav. У меня есть изображение. Я хочу объединить image.jpg с каждым звуковым файлом в этой папке и преобразовать их в отдельный файл vidoe.mp4. Как мне это сделать с FFmpge в Ubuntu? Я использую Ubuntu 14.04.


0
2017-10-24 04:11


Источник




Ответы:


Добавление звука к видео прямолинейно

ffmpeg -framerate 60 -i input.png -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p output.mp4
  • -i input.mp3 Имя аудиофайла
  • -acodec copy Копирует аудио из входного потока в выходной поток
  • -s является выходным разрешением видео

В основном, просто измените input.png к имени вашего изображения, и input.mp3 в аудиофайл. Наконец, измените output.mp4 к желаемому имени файла назначения.

Это очень простой способ делать то, что вы хотите, но это можно сделать следующим образом:

#! /bin/bash
###################################################################
picture="input.jpg"  # Change this to the file name of your picture
###################################################################
for i in *.mp3; do
  ffmpeg -framerate 60 -f image2 -i $picture -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p "${i%.*}.".mp4
done

Поместите имя файла в верхнюю часть, вставьте его в файл, сохраните его как что-то вроде convert.sh, Изменение разрешений chmod 777 convert.sh, затем запустите его ./convert.sh

Он должен читать все mp3-файлы, добавлять изображение и выводить файл mp4 с тем же именем, что и mp3.

Если вы хотите сделать то же самое с wav-файлами или amr, просто измените for i in *.mp3; do в for i in *.wav; do или for i in *.amr; do,

Надеюсь, это поможет!

Удачи :)


1
2017-11-04 14:17



Для файловый демультиплекс  -f image2 является излишним (но вам может понадобиться это в скрипте). использование -framerate вместо -r для ввода изображения. Вместо объявления произвольного использования битрейта -crf, Если вы хотите масштабировать его, используйте -s как выход, а не вход. Нет предустановки с именем «normal». Если вы хотите объявить предустановленное использование -preset потому как -vpre используется для пользовательских, созданных пользователем пресетов. Не все игроки могут обрабатывать MP3-аудио в контейнере MP4. Для получения дополнительной информации см. FFmpeg Wiki: H.264, Опечатка: $720, - LordNeckbeard
Наконец, вам нужно будет использовать -vf format=yuv420p или -pix_fmt yuv420p выходные параметры или выход не будут воспроизводиться на таких немых играх, как QuickTime или WMP. - LordNeckbeard
Обновлено, чтобы отражать ваши комментарии и фиксированные незначительные опечатки. - ThatGuy
Спасибо за исправление кода. Это было на лету, чтобы быстро ответить на вопрос :) - ThatGuy