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
กำหนดขนาดตัวอักษรเป็น 24 -
fontcolor=white
กำหนดสีตัวอักษรเป็นสีขาว -
x=10
และy=10
กำหนดตำแหน่งของข้อความในวิดีโอ -
-codec:a copy
คัดลอกสตรีมเสียงจากวิดีโออินพุตไปยังวิดีโอเอาต์พุตโดยไม่ต้องเข้ารหัสซ้ำ -
output_video.mp4
ระบุชื่อของไฟล์เอาต์พุต