ffmpeg: วิธีสร้างภาพขนาดย่อที่ครอบตัด


10

สำหรับการสร้างภาพขนาดย่อของวิดีโอด้วยffmpegฉันกำลังใช้คำสั่งนี้:

ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg

ทำให้ภาพขนาดย่อของฉันมีขนาดเท่ากันของวิดีโอ (ซึ่งมีขนาดที่ไม่รู้จักเช่น 960x540) แต่สิ่งที่ฉันต้องการคือรูปย่อขนาดสี่เหลี่ยมจัตุรัส ( ครอบตัด ) ที่มีขนาดที่กำหนด (เช่น 200x200) ต้องไม่ปรับขนาดผลลัพธ์ แต่ครอบตัดจากกึ่งกลางและอัตราส่วนไม่ควรเปลี่ยน

สิ่งนี้จะสำเร็จได้อย่างไร


ทำไมต้องใช้-itsoffsetแทน-ss? ฉันได้เห็นการใช้งานที่เพิ่มขึ้นของเมื่อเร็ว ๆ นี้โดยผู้ใช้ทำออกภาพจากวิดีโอ
llogan

@LordNeckbeard: ขออภัยผสมตัวเลือกต่างๆ พบสิ่งนี้สำหรับข้อมูลเพิ่มเติมเกี่ยว-itsoffsetกับ vs. -ss: superuser.com/questions/538031/…
Georg Ledermann

คำตอบ:


12

คุณสามารถใช้cropตัวกรองวิดีโอ:

ffmpeg -ss 4 -i video.mp4 -vf crop=200:200 -vframes 1 output.jpg
  • โดยค่าเริ่มต้นการครอบตัดจะอยู่กึ่งกลาง

  • ใช้-ssแทน-itsoffsetการเลือกเวลาออฟเซ็ตของคุณ

  • คุณสามารถควบคุมคุณภาพผลผลิต JPEG -qscale:vที่มี การใช้ค่า 2-5 มักจะดี ค่าที่ต่ำกว่าคือคุณภาพที่สูงขึ้น

  • cropกรองยังสามารถรับเข้าและส่งออกกว้างและความสูงเป็นค่า: iw, ih, ,ow นี้จะช่วยให้การกรองที่มีความยืดหยุ่นมากขึ้นและความคิดสร้างสรรค์:ohcrop=iw-100:ih-50

คุณสามารถทดสอบด้วยffplayเพื่อดูตัวอย่าง:

ffplay video.mp4 -vf crop=200:200

ภาพต้นฉบับ (สร้างขึ้นด้วยtestsrcตัวกรองแหล่งที่มา:

ffmpeg -f lavfi -i testsrc -vframes 1 output.jpg 

ภาพต้นฉบับ

ภาพที่ครอบตัด:
ภาพที่ครอบตัด


6

คุณสามารถปรับขนาดก่อนแล้วจึงครอบตัดมันเพื่อผลลัพธ์ที่ดีกว่า;)

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:300,crop=400:300" "output.jpg"

วิดีโออินพุตที่ 0:49 ภาพออก

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:150,crop=200:150" "output.jpg"

ภาพขนาดย่ออื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.