คำสั่ง FFmpeg ที่มีประโยชน์สำหรับการทำงานกับไฟล์เสียงและวิดีโอ
เผยแพร่แล้ว: 2022-02-26FFmpeg เป็นเครื่องมือบรรทัดคำสั่งที่ทรงพลังและหลากหลายสำหรับการแปลงไฟล์เสียงและวิดีโอ เป็นบริการฟรีและพร้อมใช้งานสำหรับเครื่อง Windows, Mac และ Linux ไม่ว่าคุณต้องการรวมไฟล์วิดีโอสองไฟล์ แยกส่วนประกอบเสียงออกจากไฟล์วิดีโอ แปลงวิดีโอของคุณเป็น GIF แบบเคลื่อนไหว FFmpeg สามารถทำได้ทั้งหมดและอีกมากมาย
แยกเสียงจากไฟล์วิดีโอด้วยคำสั่ง FFmpeg ง่ายๆ นี้
คำสั่ง FFmpeg ที่มีประโยชน์
FFmpeg รองรับรูปแบบเสียงและวิดีโอยอดนิยมทั้งหมด หรือคุณสามารถเรียกใช้คำสั่ง ./ffmpeg -formats
เพื่อรับรายการทุกรูปแบบที่การติดตั้ง FFmpeg ของคุณรองรับ หากคุณเพิ่งเริ่มต้น นี่คือคำสั่งบางส่วนที่จะให้แนวคิดที่ดีเกี่ยวกับความสามารถของเครื่องมือนี้
1. ตัดไฟล์วิดีโอเป็นคลิปที่เล็กลง
คุณสามารถใช้พารามิเตอร์ชดเชยเวลา (-ss) เพื่อระบุการประทับเวลาเริ่มต้นในรูปแบบ HH:MM:SS.ms ขณะที่พารามิเตอร์ -t ใช้สำหรับระบุระยะเวลาจริงของคลิปเป็นวินาที
ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4
2. แบ่งวิดีโอออกเป็นหลายส่วน
หากคุณต้องการแบ่งวิดีโอขนาดใหญ่ออกเป็นคลิปย่อยๆ หลายๆ คลิปโดยไม่ต้องเข้ารหัสซ้ำ ffmpeg ช่วยคุณได้ คำสั่งนี้จะแบ่งวิดีโอต้นทางออกเป็น 2 ส่วน โดยส่วนแรกจะสิ้นสุดที่ 50 วินาทีจากจุดเริ่มต้นและอีกส่วนเริ่มต้นที่ 50 และสิ้นสุดที่ส่วนท้ายของวิดีโออินพุต
ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4
3. แปลงวิดีโอจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง
คุณสามารถใช้พารามิเตอร์ -vcodec
เพื่อระบุรูปแบบการเข้ารหัสที่จะใช้สำหรับวิดีโอเอาต์พุต การเข้ารหัสวิดีโอต้องใช้เวลา แต่คุณสามารถเพิ่มความเร็วให้กับกระบวนการได้ด้วยการบังคับตั้งค่าล่วงหน้า แม้ว่าจะทำให้คุณภาพของวิดีโอที่ส่งออกลดลง
ffmpeg -i youtube.flv -c:v libx264 filename.mp4
ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4
4. เข้าร่วม (ต่อ) ไฟล์วิดีโอ
หากคุณมีไฟล์เสียงหรือวิดีโอหลายไฟล์ที่เข้ารหัสด้วยตัวแปลงสัญญาณเดียวกัน คุณสามารถรวมไฟล์เหล่านั้นเป็นไฟล์เดียวได้โดยใช้ FFmpeg สร้างไฟล์อินพุตพร้อมรายการไฟล์ต้นฉบับทั้งหมดที่คุณต้องการเชื่อมต่อ จากนั้นเรียกใช้คำสั่งนี้
ffmpeg -f concat -i file-list.txt -c copy output.mp4
5. ปิดเสียงวิดีโอ (ลบส่วนประกอบเสียง)
ใช้พารามิเตอร์ -an
เพื่อปิดใช้งานส่วนเสียงของสตรีมวิดีโอ
ffmpeg -i video.mp4 -an mute-video.mp4
6. แยกเสียงจากวิดีโอ
สวิตช์ -vn
จะแยกส่วนเสียงออกจากวิดีโอ และเรากำลังใช้สวิตช์ -ab เพื่อบันทึกเสียงเป็นไฟล์เสียง MP3 ขนาด 256kbps
ffmpeg -i video.mp4 -vn -ab 256 audio.mp3
7. แปลงวิดีโอเป็นภาพเคลื่อนไหว GIF
FFmpeg เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการแปลงวิดีโอเป็นไฟล์ GIF แบบเคลื่อนไหว และคุณภาพก็ไม่เลวเช่นกัน ใช้ตัวกรองมาตราส่วนเพื่อระบุความกว้างของ GIF พารามิเตอร์ -t ระบุระยะเวลาในขณะที่ -r ระบุอัตราเฟรม (fps)
ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif
8. แยกเฟรมรูปภาพออกจากวิดีโอ
คำสั่งนี้จะแยกเฟรมวิดีโอที่เครื่องหมาย 15 และบันทึกเป็นภาพ JPEG กว้าง 800px คุณยังสามารถใช้สวิตช์ -s (เช่น -s 400x300) เพื่อระบุขนาดที่แน่นอนของไฟล์ภาพ แม้ว่ามันอาจจะสร้างภาพที่ยืดออกได้ หากขนาดภาพไม่เป็นไปตามอัตราส่วนกว้างยาวของไฟล์วิดีโอต้นฉบับ
ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg
9. แปลงวิดีโอเป็นรูปภาพ
คุณสามารถใช้ FFmpeg เพื่อแยกเฟรมรูปภาพจากวิดีโอโดยอัตโนมัติทุกๆ 'n' วินาที และรูปภาพจะถูกบันทึกเป็นลำดับ คำสั่งนี้จะบันทึกเฟรมภาพจากวิดีโอทุกๆ 4 วินาที
ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png
10. รวมไฟล์เสียงและวิดีโอ
คุณยังสามารถระบุ -shortest
-สั้นที่สุด เพื่อสิ้นสุดการเข้ารหัสเมื่อคลิปที่สั้นที่สุดสิ้นสุดลง
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4
11. ปรับขนาดวิดีโอ
ใช้สวิตช์ขนาด (-s) กับ ffmpeg เพื่อปรับขนาดวิดีโอโดยคงอัตราส่วนไว้
ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4
12. สร้างสไลด์โชว์วิดีโอจากภาพ
คำสั่งนี้สร้างสไลด์โชว์วิดีโอโดยใช้ชุดรูปภาพที่มีชื่อว่า img001.png, img002.png เป็นต้น แต่ละภาพจะมีระยะเวลา 5 วินาที (-r 1/5)
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4
13. เพิ่มภาพโปสเตอร์ลงในเสียง
คุณสามารถเพิ่มภาพหน้าปกในไฟล์เสียงได้ และความยาวของวิดีโอที่ส่งออกจะเท่ากับความยาวของสตรีมเสียงอินพุต สิ่งนี้อาจมีประโยชน์สำหรับการอัปโหลด MP3 ไปยัง YouTube
ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
14. แปลงภาพเดียวเป็นวิดีโอ
ใช้พารามิเตอร์ -t เพื่อระบุระยะเวลาของวิดีโอ
ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4
15. เพิ่มคำบรรยายให้กับภาพยนตร์
การดำเนินการนี้จะนำคำบรรยายจากไฟล์ .srt FFmpeg สามารถถอดรหัสรูปแบบคำบรรยายทั่วไปทั้งหมดได้
ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv
16. ครอบตัดไฟล์เสียง
การดำเนินการนี้จะสร้างไฟล์เสียง 30 วินาทีโดยเริ่มต้นที่ 90 วินาทีจากไฟล์เสียงต้นฉบับโดยไม่ต้องแปลงรหัส
ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3
17. เปลี่ยนระดับเสียง
คุณสามารถใช้ตัวกรองระดับเสียงเพื่อเปลี่ยนระดับเสียงของไฟล์มีเดียโดยใช้ FFmpeg คำสั่งนี้จะลดระดับเสียงของไฟล์เสียงลงครึ่งหนึ่ง
ffmpeg -i input.wav -af 'volume=0.5' output.wav
18. หมุนวิดีโอ
คำสั่งนี้จะหมุนคลิปวิดีโอ 90° ตามเข็มนาฬิกา คุณสามารถตั้งค่าทรานสโพสเป็น 2 เพื่อหมุนวิดีโอ 90° ทวนเข็มนาฬิกาได้
ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4
การดำเนินการนี้จะหมุนวิดีโอ 180° ทวนเข็มนาฬิกา
ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4
19. เพิ่มความเร็วหรือลดความเร็วของวิดีโอ
คุณสามารถเปลี่ยนความเร็วของวิดีโอได้โดยใช้ตัว setpts
(ตั้งค่าการประทับเวลาการนำเสนอ) ของ FFmpeg คำสั่งนี้จะทำให้วิดีโอเร็วขึ้น 8x (1/8) หรือใช้ setpts=4*PTS
เพื่อทำให้วิดีโอช้าลง 4 เท่า
ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4
20. เพิ่มความเร็วหรือลดความเร็วของเสียง
หากต้องการเปลี่ยนความเร็วของเสียง ให้ใช้ตัวกรองเสียง atempo
คำสั่งนี้จะเพิ่มความเร็วของเสียงเป็นสองเท่า คุณสามารถใช้ค่าใดก็ได้ระหว่าง 0.5 ถึง 2.0 สำหรับเสียง
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
Stack Exchange มีภาพรวมที่ดีในการเริ่มต้นใช้งาน FFmpeg คุณควรตรวจสอบเอกสารอย่างเป็นทางการที่ ffmpeg.org หรือวิกิที่ trac.ffmpeg.org เพื่อทราบเกี่ยวกับสิ่งที่เป็นไปได้ทั้งหมดที่คุณสามารถทำได้ด้วย FFmpeg
ดูเพิ่มเติมที่: Essential Linux Commands