Я должен создать видео. Часть этого включает в себя «показ» радиоинтервью. Вместо того, чтобы просто иметь черный экран и слушать звук, я хотел бы иметь различную форму волны на экране и подпись.
Есть ли какой-нибудь бесплатный или дешевый инструмент, который я могу использовать, чтобы сделать это?
Если я попрошу друга сделать это, есть ли в Adobe Creative Suite что-нибудь, что может сделать эту работу?
Вы можете использовать ffmpeg
для создания видео из аудио с помощью нескольких фильтров.
Преобразование входного аудио в видеовыход с отображением гистограммы громкости.
ffmpeg
ffmpeg -i input.flac -filter_complex \
"[0:a]ahistogram,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.flac, asplit [a][out1]; [a] ahistogram [out0]"
Дополнительные ahistogram
параметры и примеры см. в документации.
Преобразование входного аудио в видеовыход с отображением фазы звука.
ffmpeg
ffmpeg -i input.wav -filter_complex \
"[0:a]aphasemeter=s=1280x720:mpc=cyan,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.wav, asplit [a][out1]; [a] aphasemeter=s=1280x720:mpc=cyan [out0]"
Дополнительные aphasemeter
параметры и примеры см. в документации.
Преобразуйте входное аудио в видеовыход, представляя область аудио вектора.
ffmpeg
ffmpeg -i input.mp3 -filter_complex \
"[0:a]avectorscope=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp3, asplit [a][out1]; \
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]"
Дополнительные avectorscope
параметры и примеры см. в документации.
Преобразование входного аудио в видеовыход, представляющий частотный спектр с музыкальной шкалой тонов.
ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showcqt,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a] showcqt [out0]"
Дополнительные showcqt
параметры и примеры см. в документации.
Преобразуйте входной звук в видеовыход, представляющий спектр звуковой мощности. Амплитуда звука находится по оси Y, а частота — по оси X.
ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showfreqs=mode=line:fscale=log,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a] showfreqs=mode=line:fscale=log [out0]"
Дополнительные showfreqs
параметры и примеры см. в документации.
Преобразуйте входной звук в видеовыход, представляя звуковой частотный спектр.
ffmpeg
ffmpeg -i input.oga -filter_complex \
"[0:a]showspectrum=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.oga, asplit [a][out1]; \
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]"
Дополнительные showspectrum
параметры и примеры см. в документации.
Преобразуйте входное аудио в видеовыход, представляющий волны сэмплов.
ffmpeg
ffmpeg -i input.m4a -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.m4a, asplit [a][out1]; [a] showwaves [out0]"
Дополнительные showwaves
параметры и примеры см. в документации.
Преобразование громкости входного аудио в выходной видеосигнал.
ffmpeg
ffmpeg -i input.mka -filter_complex \
"[0:a]showvolume=f=1:b=4:w=720:h=68,format=yuv420p[vid]" \
-map "[vid]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mka, asplit [a][out1]; [a] showvolume=f=255:b=4:w=720:h=68 [out0]"
Дополнительные showvolume
параметры и примеры см. в документации.
См. FFmpeg Wiki: Руководство по кодированию H.264 для получения более подробной информации о качестве вывода.
format=yuv420p
гарантирует, что libx264 использует формат пикселей, совместимый с паршивыми проигрывателями, такими как QuickTime.
Вместо перекодирования по умолчанию вы можете использовать -c:a copy
потоковое копирование аудио, если формат вашего выходного контейнера поддерживает формат аудио. Думайте о потоковом копировании (повторном мультиплексировании) как о копировании и вставке — без повторного кодирования.
ffmpeg
Вы всегда должны использовать последнюю версию, так как разработка очень активна. Ссылки на сборки ffmpeg
для Windows, OS X и Linux доступны на странице загрузки FFmpeg . Или вы можете следовать пошаговому руководству по компиляцииffmpeg
.
sudo apt install ffmpeg
. Он включает в себя ffplay
и ffprobe
это все, что мне нужно на данный момент. Ваши методы визуализации выглядят многообещающе при воспроизведении песни. Когда песня приостановлена, вместо нее будет отображаться обложка альбома.Я очень хорошо понял ваш вопрос. Если вы пытаетесь создать паттерн формы волны, который движется в соответствии с высотой и басом вашего звука, вы можете попробовать эту ссылку.
http://www.videocopilot.net/tutorial/audio_to_animation/
Adobe After Effects позволяет вам сделать это легко. Вы можете играть вместе с эффектами частиц, чтобы получить более солидную форму волны.
Удачи!
Многие музыкальные проигрыватели имеют визуализаторы. Воспроизведите аудио в одном из них и используйте средство захвата экрана для записи видео.
Вы также можете попробовать использовать gstreamer, как описано на http://www.vidarholen.net/contents/blog/?p=23 .
Другой вариант — Sonic Candle, http://sourceforge.net/projects/soniccandle/
Прочитав отличный ответ от LordNeckbeard, я создал небольшой скрипт для визуализации с помощью ffmpeg и фильтра showspectrum. Я также добавил возможность загрузки для себя, чтобы кодировать непосредственно на мой удаленный сервер, который имеет лучшее соединение, чем дома, для загрузки больших видео. Он также использует отличный скрипт youtube-upload !
РЕДАКТИРОВАТЬ: прямая загрузка значительно замедляет процесс кодирования!!
#!/bin/bash
# ffmpeg spectrum maker
action=$1
infile=$2
outfile=$3
upload_server="sftp://cloud"
upload_location="/home/master/videos/"
remote_command="youtube-upload --title=\"Remote_upload\" --privacy=\"private\" $upload_location$outfile"
#simple spectrum
filter1="showspectrum=s=1920x1080:slide=scroll:mode=combined:color=intensity:scale=cbrt:saturation=1:win_func=hann[tmp]"
#vertical mirror
filter2="[tmp]crop=iw:ih/2:0:ih/2-3,split[up][tmp];[tmp]vflip[down];[up][down]vstack[tmp]"
#horizontal mirror
filter3="[tmp]crop=iw/2:ih:iw/2:,split[left][tmp];[tmp]hflip[right];[left][right]hstack[tmp]"
#fisheye effect VERY SLOW!!! if used make change the size of the spectrum to (1920*11/10)x(1080*11/10) and use the crop filter below
filter4="[tmp]frei0r=filter_name=defish0r:filter_params=1.5|n[tmp]"
#make sure the resolution has the desired size
filter5="[tmp]crop=1920:1080"
#pass the stream to the output for ffplay
testpass="[tmp]copy[out0]"
vcodec="-codec:v libx264 -pix_fmt yuv420p -tune grain -crf 21 -preset medium -bf 2 -flags +cgop -r 25"
acodec="-codec:a libfdk_aac -b:a 128k -movflags +faststart"
#acodec="-codec:a copy"
extraflags="-movflags +faststart "
if [ "$action" = "test" ]
then
ffplay -f lavfi "amovie=$infile,asplit[a][out1];[a]$filter1;$filter2;$filter3;$testpass"
fi
if [ "$action" = "make" ]
then
ffmpeg -i "$infile" -filter_complex "[0:a]$filter1;$filter2;$filter3" -map [tmp] -map 0:a $vcodec $acodec $extraflags "$outfile"
fi
if [ "$action" = "upload" ]
then
ffmpeg -i "$infile" -filter_complex "[0:a]$filter1;$filter2;$filter3" -map [tmp] -map 0:a $vcodec $acodec $extraflags "$upload_server$upload_location$outfile"
ssh cloud $remote_command
fi
exit
Если у вас есть доступ к After Effects, есть плагин под названием Trapcode Keys , который может сделать это очень эффективно. Результаты выглядят действительно хорошо — я использовал его во многих проектах именно для того, что вы описали, но это недешево — 150 долларов отдельно или 899 долларов за полный пакет Trapcode Suite.
Вы можете сделать это бесплатно с помощью VEED.IO, в этом видео объясняется, как это сделать (Отказ от ответственности, я разработчик VEED.IO)
боблет
Воин Боб
Льюис Куэйф
ffmpeg
для преобразования напрямую - ffmpeg конвертировать аудио в видео Используя фильтры , вы можете получить эстетически приятное видео.