Sesi videoya nasıl dönüştürebilirim (yani videodaki dalga formlarını gösterme)?


20

Bir video oluşturmalıyım.Bir kısmı bir radyo röportajını "göstermeyi" içerir.Sadece siyah bir ekrana sahip olmak ve sesi dinlemek yerine, ekranda farklı bir dalga formuna ve bir altyazıya sahip olmak istiyorum.

Bunu yapacak, kullanabileceğim herhangi bir ücretsiz veya ucuz araç var mı?


Bir arkadaşımdan yapmasını istersem, Adobe Creative Suite'te işi yapabilecek herhangi bir şey var mı?

  0

Audacity size ses dalgasını göstermelidir;- görsel olarak - dalgayı kaydedebilirsiniz. 07 ara. 132013-12-07 20:40:43

  0

Muhtemelen aradığınız "görselleştirici" aracının, aramanızı bilgilendirebilecek bir [osiloskop] (http://en.wikipedia.org/wiki/Oscilloscope) olduğunu belirtmeye değer. 12 ara. 132013-12-12 18:42:11

6

Adobe After Effects bir görselleştiriciye sahip, see

Photoshop için here gibi eklentiler de vardır.

Projenizde iyi şanslar.


4

Sorunuzu oldukça iyi anladım.Sesinizin perdesine ve basına göre hareket eden bir dalga şekli deseni oluşturmaya çalışıyorsanız, bu bağlantıyı deneyebilirsiniz.

http://www.videocopilot.net/tutorial/audio_to_animation/

Adobe After Effects kolayca yapmanıza olanak sağlar.Daha sağlam görünen bir dalga formu elde etmek için parçacık efektleriyle birlikte oynayabilirsiniz.

İyi şanslar!


2

Birçok müzik çaların görselleştiricileri vardır.Sesi bunlardan birinde çalın ve videoyu kaydetmek için bir ekran yakalayıcı kullanın.

http://www.vidarholen.net/contents/blog/?p=23 açıklandığı gibi gstreamer'ı kullanmayı da deneyebilirsiniz

Diğer bir seçenek ise Sonic Candle, http://sourceforge.net/projects/soniccandle/


35

KullanabilirsinizffmpegBirkaç filtreyi kullanarak sesten video oluşturmak için.


ahistogram

Ses seviyesini gösteren histogramı görüntüleyerek giriş sesini bir video çıkışına dönüştürün.

ahistogram

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]"

Bakınahistogramdaha fazla seçenek ve örnek için dokümantasyon.


aphasemeter

Ses fazını gösteren giriş sesini bir video çıkışına dönüştürün.

aphasemeter

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]"

Bakınaphasemeterdaha fazla seçenek ve örnek için dokümantasyon.


avectorscope

avectorscope filter

Giriş sesini, ses vektör kapsamını temsil eden bir video çıkışına dönüştürün.

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]"

Bakınavectorscopedaha fazla seçenek ve örnek için dokümantasyon.


showcqt

showcqt filter

Giriş sesini, müzikal ton ölçeğine sahip frekans spektrumunu temsil eden bir video çıkışına dönüştürün.

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]"

Bakınshowcqtdaha fazla seçenek ve örnek için dokümantasyon.


showfreqs

Giriş sesini, ses gücü spektrumunu temsil eden video çıkışına dönüştürün.Frekans X eksenideyken ses genliği Y ekseni üzerindedir.

showfreqs

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]"

Bakınshowfreqsdaha fazla seçenek ve örnek için dokümantasyon.


showspectrum

showspectrum image

Giriş sesini, ses frekansı spektrumunu temsil eden bir video çıkışına dönüştürün.

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]"

Bakınshowspectrumdaha fazla seçenek ve örnek için dokümantasyon.


showwaves

showwaves filter

Giriş dalgalarını, örnek dalgaları temsil eden bir video çıkışına dönüştürün.

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]"

Bakınshowwavesdaha fazla seçenek ve örnek için dokümantasyon.


showvolume

showvolume filter

Giriş ses seviyesini bir video çıkışına dönüştürün.

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]"

Bakınshowvolumedaha fazla seçenek ve örnek için dokümantasyon.


notlar

  • GörmekFFmpeg Wiki: H.264 Encoding Guideçıktı kalitesi hakkında daha ayrıntılı bilgi için.

  • format=yuv420plibx264'ün QuickTime gibi crappy oynatıcılarla uyumlu bir piksel biçimi kullanmasını sağlar.

  • Varsayılan olarak yeniden kodlama yerine, kullanabilirsiniz.-c:a copyiçinstream copyÇıkış kabı formatınız ses formatını destekliyorsa ses.Akış kopyalamayı (yeniden kopyalamayı) bir kopyala ve yapıştır gibi düşünün - yeniden kodlama yok.


Almakffmpeg

Geliştirme çok aktif olduğundan her zaman yeni bir sürüm kullanmalısınız.Yapılara bağlantılarffmpegWindows, OS X ve Linux’taFFmpeg Downloadsayfa.Ya da adım adım takip edebilirsiniz.guide to compile ffmpeg.

  0

OP muhtemelen After Effects derslerine bağlanan diğer cevaplara bakmak isteyecektir, ancak bu mükemmel ffmpeg örnekleri burada olması gerçekten faydalıdır.Teşekkürler! 19 may. 152015-05-19 17:44:23

+1

@ LordNeckbeard OP burada.Uzun zaman oldu, ama geri döndüm ve bu harika bir cevap. 13 şub. 162016-02-13 03:59:14

  0

@ccleve Teşekkürler ve tekrar hoşgeldiniz. 15 şub. 162016-02-15 18:29:48

  0

Yeni bir soru yarattım http://superuser.com/questions/1184922/how-do-i-insert-a-background-image-on-spectrum-audio-effect-using-ffmpeg Bir arka planı nasıl ayarlayabilirim görüntü? 03 mar. 172017-03-03 18:28:29


0

After Effects'e erişiminiz varsa, bunu çok etkili bir şekilde yapabilen Trapcode Keys adında bir eklenti vardır.Sonuçlar çok güzel görünüyor - birçok projede tam olarak tanımladığınız şey için kullandım, ancak ucuz değil - tek başına 150 $veya tam Trapcode Suite için 899$ .


3

LordNeckbeard'den gelen büyük cevabı okuduktan sonra ffmpeg ve showspectrum filtresi ile görselleştirme yapmak için küçük bir senaryo hazırladım. Ayrıca doğrudan yüklemek istediğimden daha iyi bir bağlantıya sahip olan uzak sunucuma kodlamak için kendime bir yükleme seçeneği de ekledim. büyük videolar.Aynı zamanda harika youtube-upload betiğini youtube-upload !

DÜZENLE:doğrudan yükleme kodlama işlemini önemli ölçüde yavaşlatır !!

Senaryo

#!/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