วิธีตัดและครอบตัดวิดีโอด้วย ffmpeg

How Cut Crop Video With Ffmpeg



บทช่วยสอนนี้อธิบายวิธีตัดและครอบตัดวิดีโอจากบรรทัดคำสั่งโดยใช้ ffmpeg

FFmpeg เป็นชุดเครื่องมือและไลบรารีโอเพนซอร์สแบบหลายแพลตฟอร์มสำหรับแก้ไขมัลติมีเดียและสตรีมจากบรรทัดคำสั่ง รองรับการเข้ารหัสและถอดรหัสรูปแบบมัลติมีเดียส่วนใหญ่ รวมถึงไฟล์ที่ไม่ธรรมดา หลังจากอ่านบทช่วยสอนนี้ซึ่งรวมถึงขั้นตอนและภาพหน้าจอของวิดีโอ คุณจะรู้วิธีตัดและครอบตัดวิดีโอโดยใช้ ffmpeg







การติดตั้ง ffmpeg:

ในการติดตั้ง ffmpeg บนลีนุกซ์ที่ใช้ Debian ให้ใช้คำสั่ง apt ตามที่แสดงในตัวอย่างด้านล่าง



sudoฉลาดติดตั้ง ffmpeg



ในการติดตั้ง ffmpeg บน Redhat / Centos ให้รันคำสั่งด้านล่าง:





yum localinstall ยำติดตั้ง ffmpegffmpeg-devel

วิธีตัดวิดีโอโดยใช้ ffmpeg:

การตัดวิดีโอด้วย ffmpeg เป็นงานที่ง่าย รวดเร็ว และสิ้นเปลืองทรัพยากรน้อยโดยใช้ ffmpeg คุณเพียงแค่ต้องกำหนดเวลาเริ่มต้นหรือสิ้นสุด หรือทั้งสองอย่างหากจำเป็นและไฟล์เอาต์พุต ฉันจะทำงานกับสิ่งนี้ วิดีโอคำแนะนำ Linux (ระยะเวลา 00:03:280) ฉันเพิ่งดาวน์โหลดสำหรับบทช่วยสอนนี้

คำสั่งด้านล่างใช้ ffmpeg เพื่อตัดวิดีโอจาก 00:00:05 ที่สองที่ระบุด้วยแฟล็ก -ss; นี่คือการตั้งค่าสถานะเพื่อกำหนดจุดเริ่มต้นสำหรับวิดีโอใหม่ของคุณ ในกรณีที่คุณต้องการตัดบางส่วนของจุดเริ่มต้น หากคุณต้องการตัดเฉพาะตอนท้ายของวิดีโอ คุณไม่จำเป็นต้องใช้แฟล็กนี้ อย่างที่คุณเห็น รูปแบบเวลาต้องเป็น HH:MM:SS (ชั่วโมง นาที วินาที) ตัวอย่างเช่น สำหรับเวลา 2 นาที 3 วินาที คุณควรพิมพ์ 00:02:03



แฟล็ก -i ใช้เพื่อระบุไฟล์ที่จะแก้ไข ในกรณีนี้ ไฟล์คือ LinuxHint-vim.mp4

ตัวเลือก -t ใช้เพื่อระบุจุดสิ้นสุดของไฟล์ใหม่ ในกรณีนี้ วิดีโอจะสิ้นสุดเวลา 00:02:00 น. ในทำนองเดียวกันกับ -ss หากคุณไม่ต้องการตัดตอนท้ายของวิดีโอแต่เพียงบางส่วน คุณไม่จำเป็นต้องตั้งค่าสถานะนี้

ในกรณีนี้ แฟล็ก -c copy ใช้เพื่อกำหนดเอาต์พุตไฟล์ ในกรณีนี้ ไฟล์ editedvideo.mp4

ffmpeg -NS00:00:05-ผมLinuxHint-vim.mp4-NS00:02:00-คคัดลอก editedvideo.mp4

การดำเนินการทั้งหมดใช้เวลาสองสามวินาทีโดยไม่ต้องใช้ทรัพยากรคอมพิวเตอร์

ตัวอย่างต่อไปจะแสดงวิธีตัดเฉพาะตอนท้ายของวิดีโอ 00:03:28 วินาทีเท่านั้น ดังนั้นฉันจึงละเว้นตัวเลือก -ss เพราะฉันต้องการรักษาจุดเริ่มต้นไว้ และตัดวิดีโอเมื่อ 00:02:00 น. โดยใช้แฟล็ก -t

ffmpeg -ผมLinuxHint-vim.mp4-NS00:02:00-คคัดลอก editedvideo2.mp4

ตรงกันข้ามกับตัวอย่างก่อนหน้านี้ คำสั่งด้านล่างตัดเฉพาะบางส่วนของวิดีโอที่ขึ้นต้นโดยใช้แฟล็ก -ss ในกรณีนี้ เอาต์พุตใหม่จะเริ่มตั้งแต่เวลา 00:01:30 น.

ffmpeg -NS00:01:30 -ผมLinuxHint-vim.mp4-คคัดลอกแก้ไขวิดีโอ3.mp4

อย่างที่คุณเห็น การตัดวิดีโอด้วย ffmpeg เป็นกระบวนการที่ง่ายและรวดเร็ว

การครอบตัดขอบสีดำโดยใช้ ffmpeg:

บทช่วยสอนนี้อธิบายวิธีการครอบตัดวิดีโอด้วย ffmpeg

คุณสามารถใช้ ffmpeg เพื่อพยายามตรวจหาวิธีการครอบตัดวิดีโอของคุณโดยอัตโนมัติเพื่อลบขอบสีดำ

สำหรับตัวอย่างนี้ ฉันจะใช้ขนาด 320×240 วีดีโอ ซึ่งมีลักษณะดังนี้:

คำสั่งด้านล่างจะพยายามตรวจหาขนาดและตำแหน่งที่ถูกต้องเพื่อครอบตัดวิดีโออย่างถูกต้อง

ffmpeg -ผมlinux-foundation.mp4-vfcropdetect-NSโมฆะ -2> &1 | awk '/crop/ { พิมพ์ $NF }' | หาง -1

อย่างที่คุณเห็น ffmpeg จะคืนค่าตำแหน่งความกว้างที่เหมาะสม (320) ความสูง (208) X และ Y เพื่อครอบตัดวิดีโออย่างถูกต้อง

ตำแหน่ง X : ตำแหน่ง X กำหนดจุดเริ่มต้นการครอบตัดแนวนอนจากระยะขอบด้านซ้าย โดยที่ระยะขอบด้านซ้ายเป็น 0

ตำแหน่ง Y : Y คือจุดเริ่มต้นการครอบตัดแนวตั้งโดยที่ระยะขอบด้านบนเป็น 0

ตัวอย่างด้านล่างวิดีโอจะถูกครอบตัด คุณสามารถเห็นแฟล็ก -filter:v

แฟล็ก -filter ใช้กราฟตัวกรองที่แบ่งสตรีมอินพุต ครอบตัด และซ้อนทับกับการสตรีมอื่นๆ ดังที่คุณเห็น มิติและตำแหน่งที่กำหนดไว้ในคำสั่งด้านล่างมีให้โดยคำสั่งก่อนหน้านี้

นอกจากนี้ คุณสามารถดูแฟล็ก -c คัดลอกถูกละเว้น และชื่อไฟล์เอาต์พุตถูกเขียนหลังแฟล็กการครอบตัด

ffmpeg -ผมlinuxfoundation.mp4 -ตัวกรอง: v'ครอบตัด=320:208:0:16'output.mp4

อย่างที่คุณเห็น ขอบสีดำถูกลบออก:

เกี่ยวกับการครอบตัดวิดีโอโดยใช้ ffmpeg:

คุณสามารถครอบตัดส่วนใดก็ได้ของวิดีโอโดยใช้เทคนิคก่อนหน้านี้ ไม่ใช่แค่ขอบสีดำเท่านั้น

คำสั่งด้านล่างจะครอบตัดวิดีโอก่อนหน้า โดยส่งกลับภาพขนาด 200×200 โดยเริ่มจาก 200px จากซ้าย และ 0px จากระยะขอบด้านบน

ffmpeg-ผมoutput.mp4 -filter:v'ครอบตัด=200:200:200:0'output2.mp4

และนี่คือวิดีโอที่ครอบตัด:

แน่นอน คุณสามารถกำหนดหน่วยวัดประเภทอื่นๆ ได้ เช่น สี่เหลี่ยมผืนผ้า

วิดีโอที่เราจะใช้งาน (เหมือนกับส่วนบทช่วยสอนแรก) จะมีลักษณะเหมือนภาพด้านล่าง

ในตัวอย่างแรกนี้ เรากำหนดขนาดเอาต์พุตเท่านั้นแต่ไม่ได้กำหนดตำแหน่ง หากคุณไม่ระบุตำแหน่ง ffmpeg จะครอบตัดตรงกลางของวิดีโอโดยอัตโนมัติ . ดังนั้น ในตัวอย่างด้านล่าง ซึ่งกำหนดเฉพาะความสูงและความกว้างของวิดีโอ แต่ไม่มีตำแหน่ง ffmpeg จะครอบตัดวิดีโอและส่งคืนเอาต์พุตที่ครอบตัด 500×500 ที่กึ่งกลางของวิดีโอ

ffmpeg -ผมLinuxHint-vim.mp4 -ตัวกรอง: v'ครอบตัด=500:500'LinuxHintvideo2.mp4

และเราได้ผลลัพธ์ที่ครอบตัด 500x500px:

หากจำเป็น คุณสามารถใช้คำสั่ง ffmpeg ร่วมกับ grep เพื่อเรียนรู้ความละเอียดของวิดีโอต้นฉบับดังที่แสดงด้านล่าง

ffmpeg -ผมLinuxHint-vim.mp42> &1 | กริปวิดีโอ:| กริป -โป 'd{3,5}xd{3,5}'

ถ้าคุณชอบความเรียบง่ายและประสิทธิภาพ ffmpeg คุณสามารถเข้าถึงได้ ffmpeg เอกสารอย่างเป็นทางการที่นี่ เพื่อเรียนรู้เกี่ยวกับคุณสมบัติและฟังก์ชันเพิ่มเติมมากมายที่มีให้ในการแก้ไขสื่อ

บทสรุป:

การตัดและครอบตัดสื่อจากบรรทัดคำสั่งนั้นค่อนข้างง่ายด้วยความช่วยเหลือของ ffmpeg ข้อดีหลักประการหนึ่งของ ffmpeg คือการใช้ทรัพยากรต่ำและความเร็วที่รวดเร็ว
บทช่วยสอนนี้แสดงระดับผู้ใช้ Linux หรือบุคคลที่ไม่มีความรู้เรื่องการตัดต่อวิดีโอ สามารถแก้ไขวิดีโอในโหมดข้อความอย่างมืออาชีพโดยการเรียนรู้คำสั่งสองสามคำสั่งและไวยากรณ์ที่เป็นมิตร FFmpeg เป็นแพลตฟอร์มที่หลากหลาย ทำให้เป็นเครื่องมือมาตรฐานที่ยอดเยี่ยมในการแก้ไขไฟล์วิดีโอและไฟล์เสียงจากบรรทัดคำสั่ง FFmpeg เป็นส่วนหนึ่งของเครื่องมือที่เป็นที่รู้จักอย่างกว้างขวาง เช่น VLC player และรวมอยู่ในการประมวลผลหลักสำหรับ iTunes และ Youtube

ฉันหวังว่าบทช่วยสอนนี้จะเป็นประโยชน์ ปฏิบัติตามคำแนะนำของ Linux สำหรับเคล็ดลับและบทช่วยสอนเพิ่มเติมเกี่ยวกับ Linux