У меня есть список коротких аудиофайлов в формате mp3. Есть ли какое-либо программное обеспечение, которое может автоматически объединять их в видео, которое показывает название исходных аудиофайлов при их воспроизведении?
Например, предположим, что у меня есть три аудиофайла human.mp3
и файлы animal.mp3
. plant.mp3
Я хочу создать видео, в котором воспроизводятся все три звука, и во время воспроизведения human.mp3
отображается текст human
, во время воспроизведения во время воспроизведения animal.mp3
отображается текст , animal
а во время воспроизведения plant.mp3
отображается текст plant
. Таким образом, видео не показывает ничего, кроме текста и воспроизводит аудио.
Я использую Ubuntu, и я собираюсь использовать такое программное обеспечение в Ubuntu.
Вы можете использовать ImageMagick (бесплатный, с открытым исходным кодом, кросс-платформенный, CLI) для создания изображения из некоторого текста :
convert \
-size 165x70 \
xc:lightblue \
-font Bookman-DemiItalic \
-pointsize 12 \
-fill blue \
-gravity center \
-draw "text 0,0 'It is 28 degrees today'" \
image.png
Затем вы можете использовать FFmpeg (бесплатный и с открытым исходным кодом, Windows /Linux/ Mac , CLI), чтобы взять одно изображение и аудиофайл в качестве входных данных и создать видеофайл той же продолжительности, что и аудиофайл , например:
ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -tune stillimage \
-c:a aac -strict experimental -b:a 192k -pix_fmt yuv420p -shortest out.mp4
Наконец, вы можете использовать FFmpeg для объединения полученных видеофайлов .
-tune
Чтобы завершить ответ Франка Дернонкура: создайте сценарий bash с именем 0moviemakingscript.sh
в папке, содержащей аудиофайлы с содержимым:
#!/bin/bash
for f in *; do
if [ "$f" != "0moviemakingscript.sh" ]
then
mv "$f" "${f%.*}";
convert -size 450x280 xc:lightblue -font Bookman-DemiItalic -pointsize 40 -fill blue -gravity center -draw "text 0,0 '$f'" "$f.png";
ffmpeg -i "$f.png" -i "$f" "$f.avi";
fi
done
for f in *.avi; do
echo "file '$f' ";
done > 0.txt
ffmpeg -f concat -i 0.txt -c copy 0merged.avi
Откройте терминал и перейдите в папку, а затем запустите скрипт:
sh 0moviemakingscript.sh
и подождите, пока не будет создано окончательное названное видео 0merged.avi
.
Этот скрипт удаляет расширение с оригинальных аудиофайлов и предполагается, что папка не содержит ничего, кроме аудиофайлов и 0moviemakingscript.sh
. Поэтому вам может потребоваться скопировать папку во временную папку, чтобы создать видео. Также обратите внимание, что вы можете использовать avconv
вместо ffmpeg
. Поскольку avconv
кажется, что это производное от ffmpeg
, я думаю, что аргументы не должны меняться.
ᔕᖺᘎᕊ
Минимус Гексимус
Минимус Гексимус