비디오를 만들어야합니다. 그 중 일부는 라디오 인터뷰를 "보여주는"것과 관련이 있습니다. 검은 화면 만 있고 오디오를 듣는 대신 화면에 다양한 파형과 캡션을 적용하고 싶습니다.
내가 할 수있는 무료 또는 저렴한 도구가 있습니까?
친구에게 요청하면 Adobe Creative Suite에 작업을 수행 할 수있는 것이 있습니까?
비디오를 만들어야합니다. 그 중 일부는 라디오 인터뷰를 "보여주는"것과 관련이 있습니다. 검은 화면 만 있고 오디오를 듣는 대신 화면에 다양한 파형과 캡션을 적용하고 싶습니다.
내가 할 수있는 무료 또는 저렴한 도구가 있습니까?
친구에게 요청하면 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과 같은 crappy 플레이어와 호환되는 픽셀 형식을 사용하도록합니다.
출력 컨테이너 형식이 오디오 형식을 지원하는 경우 기본적으로 다시 인코딩하는 대신 오디오 -c:a copy
를 스트리밍 복사 할 수 있습니다 . 스트림 복사 (다중 muxing)는 복사 및 붙여 넣기처럼 생각하고 다시 인코딩하지 마십시오.
ffmpeg
개발이 활발하기 때문에 항상 최신 버전을 사용해야합니다. ffmpeg
Windows, OS X 및 Linux 용 빌드 링크 는 FFmpeg 다운로드 페이지 에서 사용할 수 있습니다 . 또는 단계별 지침에 따라 컴파일 할 수ffmpeg
있습니다.
나는 당신의 질문을 아주 잘 이해했습니다. 오디오의 피치와 저음에 따라 움직이는 파형 패턴을 만들려고하면이 링크를 사용해보십시오.
http://www.videocopilot.net/tutorial/audio_to_animation/
Adobe After Effects를 사용하면 쉽게 수행 할 수 있습니다. 입자 효과와 함께 재생하여보다 견고한 모양의 파형을 얻을 수 있습니다.
행운을 빕니다!
많은 음악 플레이어에는 비주얼 라이저가 있습니다. 그중 하나에서 오디오를 재생하고 스크린 그래버를 사용하여 비디오를 녹화하십시오.
http://www.vidarholen.net/contents/blog/?p=23에 설명 된대로 gstreamer를 사용하려고 할 수도 있습니다 .
또 다른 옵션은 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