คุณสามารถใช้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
เพื่อสตรีมคัดลอกเสียงได้หากรูปแบบคอนเทนเนอร์ส่งออกของคุณรองรับรูปแบบเสียง นึกถึงการคัดลอกสตรีม (การ muxing) เหมือนการคัดลอกและวาง - ไม่มีการเข้ารหัสซ้ำ
ได้รับ ffmpeg
คุณควรใช้เวอร์ชันล่าสุดเสมอเนื่องจากการพัฒนาใช้งานได้ดีมาก ลิงค์ไปยังบิลด์ffmpeg
สำหรับ Windows, OS X และ Linux มีอยู่ในหน้าดาวน์โหลด FFmpeg หรือคุณสามารถทำตามขั้นตอนโดยขั้นตอนคู่มือในการรวบรวมffmpeg