FFmpeg คืออะไร?
FFmpeg เป็นโครงการฟรีที่มีชุดโปรแกรมสำหรับจัดการข้อมูล เช่น เสียง วิดีโอ และรูปภาพ เป็นเครื่องมือที่ใช้ในการแปลง บันทึก สตรีม และเล่นไฟล์
FFmpeg รองรับรูปแบบและตัวแปลงสัญญาณที่หลากหลาย และใช้สำหรับงานต่างๆ เช่น การแปลงรหัส ปรับขนาดตัวกรอง เพิ่มลายน้ำหรือ คำบรรยาย รับเสียงจากวิดีโอ และการรวมวิดีโอหรือไฟล์เสียงหลายไฟล์ นอกจากนี้ยังสามารถสร้าง GIF โดยใช้ FFmpeg และรวมไฟล์ MP4 โดยใช้ FFMPEG บน Windows
FFmpeg ใช้กันอย่างแพร่หลายในอุตสาหกรรมสื่อและมีอยู่ในระบบปฏิบัติการส่วนใหญ่ รวมถึง Windows, macOS, Linux และ Unix
วิธีใช้ FFmpeg
ต่อไปนี้คือตัวอย่างทั่วไปของวิธีใช้ FFmpeg:
- แปลงไฟล์วิดีโอจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง:
รหัส: ffmpeg -i input_ video.mp 4 output_video.avi
คำสั่งนี้จะแปลงinput_video.mp4
ถึงoutput_video.avi
. FFmpeg จะเลือกตัวแปลงสัญญาณที่เหมาะสมสำหรับรูปแบบเอาต์พุตโดยอัตโนมัติ
- ปรับขนาดวิดีโอ:
รหัส: ffmpeg -i input_ video.mp 4 -vf scale=640:480 output_ video.mp 4
คำสั่งนี้จะปรับขนาดinput_video.mp4
ให้เป็นความละเอียด 640×480 พิกเซล แล้วบันทึกผลลัพธ์ไปที่output_video.mp4
.
- แยกเสียงจากวิดีโอ:
รหัส: ffmpeg -i input_ video.mp 4 -vn output_ audio.mp 3
คำสั่งนี้จะแยกแทร็กเสียงจากinput_video.mp4
และบันทึกไว้ที่output_audio.mp3
.
- เชื่อมสองวิดีโอเข้าด้วยกัน:
รหัส: ffmpeg -i input_ video1.mp 4 -i input_ video2.mp 4 -filter_complex concat output_ video.mp 4
คำสั่งนี้จะเชื่อมต่อinput_video1.mp4
และinput_video2.mp4
และบันทึกผลลัพธ์ไปที่output_video.mp4
.
- เพิ่มลายน้ำในวิดีโอ:
รหัส: ffmpeg -i input_ video.mp 4 -i watermark.png -filter_complex “overlay=10:10” output_ video.mp 4
คำสั่งนี้จะเพิ่มไฟล์watermark.png
ภาพที่มุมซ้ายบนของinput_video.mp4
ด้วยออฟเซ็ต 10 พิกเซล และบันทึกผลลัพธ์ไปที่output_video.mp4
.
นี่เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ของสิ่งที่ต้องทำกับ FFmpeg นอกจากนี้ยังสามารถใช้ FFmpeg บน Android สำหรับข้อมูลเพิ่มเติม โปรดดูบทช่วยสอนออนไลน์ การสตรีมวิดีโอ หรือแชทบอท AI เช่น ChatGPT

คำสั่งตัดต่อวิดีโอที่มีประโยชน์ของ FFmpeg คืออะไร
- ตัดแต่งวิดีโอ:
รหัส: ffmpeg -i input_ video.mp 4 -ss 00:00:05 -t 00:00:10 -c copy output_ video.mp 4
คำสั่งนี้จะตัดแต่งinput_video.mp4
ให้เริ่มที่เครื่องหมาย 5 วินาที และสิ้นสุดเมื่อครบ 10 วินาที แล้วบันทึกผลไว้ที่output_video.mp4
.
- เพิ่มรูปภาพหรือวิดีโอซ้อนทับบนวิดีโอของฉัน:
รหัส: ffmpeg -i input_ video.mp 4 -i overlay_image.png -filter_complex “overlay=10:10” output_ video.mp 4
คำสั่งนี้จะเพิ่มไฟล์overlay_image.png
ไฟล์เป็นภาพซ้อนทับไปที่input_video.mp4
ที่พิกัด (10, 10) และบันทึกผลลัพธ์ไปที่output_video.mp4
.
- เปลี่ยนความละเอียดของวิดีโอ:
รหัส: ffmpeg -i input_ video.mp 4 -vf scale=1280:720 -c:a copy output_ video.mp 4
คำสั่งนี้จะเปลี่ยนความละเอียดของinput_video.mp4
เป็น 1280×720 พิกเซล และบันทึกผลลัพธ์เป็นoutput_video.mp4
.
- เพิ่ม
textfile
และreload
ตัวเลือกสำหรับ drawtext:
รหัส: ffmpeg -i input.mp 4 -vf “drawtext=fontfile=/path/to/font.ttf:textfile=text.txt:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black @0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2” -codec:a สำเนา output.mp 4
จะเพิ่มข้อความลงในวิดีโอด้วย FFmpeg ได้อย่างไร
หากต้องการเพิ่มข้อความลงในวิดีโอด้วย FFmpeg ให้ใช้ไฟล์drawtext
กรอง. เดอะdrawtext
ตัวกรองช่วยให้คุณสามารถระบุแบบอักษร ขนาด สี และตำแหน่งของข้อความ ท่ามกลางพารามิเตอร์อื่นๆ
นี่คือคำสั่งพื้นฐานในการเพิ่มข้อความลงในวิดีโอโดยใช้drawtext
กรอง:
รหัส: ffmpeg -i input_ video.mp 4 -vf “drawtext=text=’Hello World’:fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100” – ตัวแปลงสัญญาณ:สำเนา output_ video.mp 4
ในคำสั่งนี้:
-i input_video.mp4
ระบุไฟล์วิดีโออินพุต-vf "drawtext=..."
ระบุตัวกรองวิดีโอที่จะใช้ ซึ่งก็คือdrawtext
กรองในกรณีนี้text='Hello World'
ระบุข้อความที่จะเพิ่มลงในวิดีโอfontfile=/path/to/font.ttf
ระบุไฟล์ฟอนต์ที่จะใช้fontsize=50
ระบุขนาดตัวอักษรเป็นจุดfontcolor=white
ระบุสีตัวอักษรx=100:y=100
ระบุตำแหน่งของข้อความในวิดีโอ โดยให้มุมบนซ้ายอยู่ที่ (100, 100) พิกเซล-codec:a copy
ระบุเพื่อคัดลอกสตรีมเสียงจากวิดีโออินพุตไปยังวิดีโอเอาต์พุตโดยไม่ต้องเข้ารหัสซ้ำoutput_video.mp4
ระบุไฟล์วิดีโอเอาต์พุต
Fontfile คืออะไร?
เดอะfontfile
ตัวเลือกใน FFmpeg ใช้เพื่อระบุพาธไปยังไฟล์ฟอนต์ที่จะใช้แสดงข้อความในวิดีโอหรือรูปภาพ
เมื่อคุณใช้drawtext
กรองใน FFmpeg เพื่อเพิ่มข้อความลงในวิดีโอ ระบุไฟล์fontfile
ตัวเลือกเพื่อเลือกแบบอักษรเฉพาะที่จะใช้สำหรับข้อความ
วิธีรวมแบบอักษรในคำสั่ง FFmpeg โดยไม่ใช้ตัวเลือก Fontfile
หากต้องการใช้ฟอนต์ในคำสั่ง FFMPEG โดยไม่ระบุตัวเลือกฟอนต์ไฟล์ ให้ใช้ฟอนต์ที่ติดตั้งโดยระบบ
นี่คือตัวอย่างคำสั่งที่ใช้ฟอนต์ที่ติดตั้งโดยระบบ:
รหัส: ffmpeg -i input_ video.mp 4 -vf “drawtext=text=’Hello World’:fontcolor=white:x=100:y=100:font=Arial” -codec:a copy output_ video.mp 4
GitHub คืออะไร?
GitHub เป็นแพลตฟอร์มบนเว็บที่ช่วยให้นักพัฒนาสามารถโฮสต์และจัดการโครงการซอฟต์แวร์ของตน ทำงานร่วมกับผู้อื่น และติดตามและจัดการการเปลี่ยนแปลงโค้ดของพวกเขา มีเครื่องมือสำหรับการควบคุมเวอร์ชัน การติดตามปัญหา การตรวจสอบโค้ด และการทำงานร่วมกันเป็นทีม
วิธีเพิ่มข้อความ “StackOverflow” ด้วย FFmpeg
รหัส: ffmpeg -i input_ video.mp 4 -vf “drawtext=text=’StackOverflow’:fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100” -codec :a คัดลอก output_ video.mp 4
นี่คือสิ่งที่ตัวเลือกต่างๆ ในคำสั่งนี้ทำ:
-i input_video.mp4
ระบุไฟล์วิดีโออินพุต-vf "drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100"
ตั้งค่าตัวกรองวิดีโอสำหรับวาดข้อความ คำสั่งนี้ดึงข้อความ “StackOverflow” บนวิดีโอที่พิกัด (100, 100) โดยใช้ไฟล์ฟอนต์ที่/path/to/font.ttf
ด้วยขนาดตัวอักษร 30 และสีตัวอักษรสีขาว-codec:a copy
คัดลอกสตรีมเสียงจากวิดีโออินพุตไปยังวิดีโอเอาต์พุตโดยไม่ต้องเข้ารหัสซ้ำoutput_video.mp4
ระบุชื่อไฟล์วิดีโอเอาต์พุต
จะแสดงรหัสเวลาหรือการประทับเวลาโดยใช้ตัวกรอง Drawtext ของ FFmpeg ได้อย่างไร
รหัส: ffmpeg -i input_ video.mp 4 -filter_complex “drawtext=fontfile=/path/to/font.ttf:text=’%{pts\:hms}’:fontsize=24:fontcolor=white:x=10: y=10” -codec:a copy output_ video.mp 4
นี่คือสิ่งที่ตัวเลือกต่างๆ ในคำสั่งนี้ทำ:
-i input_video.mp4
ระบุไฟล์วิดีโออินพุต-filter_complex
ให้คุณใช้ตัวกรองหลายตัวในคำสั่งเดียวกันdrawtext
เป็นชื่อตัวกรองfontfile=/path/to/font.ttf
ระบุพาธไปยังไฟล์ฟอนต์ที่เราต้องการใช้text='%{pts\:hms}'
กำหนดข้อความที่จะแสดง%{pts\:hms}
เป็นตัวยึดตำแหน่งที่จะถูกแทนที่ด้วยรหัสเวลาปัจจุบันในรูปแบบชั่วโมง:นาที:วินาทีfontsize=24
กำหนดขนาดตัวอักษรเป็น 24fontcolor=white
กำหนดสีตัวอักษรเป็นสีขาวx=10
และy=10
กำหนดตำแหน่งของข้อความในวิดีโอ-codec:a copy
คัดลอกสตรีมเสียงจากวิดีโออินพุตไปยังวิดีโอเอาต์พุตโดยไม่ต้องเข้ารหัสซ้ำoutput_video.mp4
ระบุชื่อของไฟล์เอาต์พุต