ฉันใช้gframecatcherเพื่อสร้างแกลเลอรี่ภาพขนาดย่อเช่นบางสิ่งเช่นนี้:
อย่างไรก็ตามนี่คือเครื่องมือ GUI และฉันต้องการสร้างแกลเลอรีแบบเรียกซ้ำสำหรับวิดีโอทุกรายการในโครงสร้างไดเรกทอรีดังนั้นฉันจึงกำลังมองหาเครื่องมือบรรทัดคำสั่งที่รวดเร็วในการทำเช่นนี้
ฉันใช้gframecatcherเพื่อสร้างแกลเลอรี่ภาพขนาดย่อเช่นบางสิ่งเช่นนี้:
อย่างไรก็ตามนี่คือเครื่องมือ GUI และฉันต้องการสร้างแกลเลอรีแบบเรียกซ้ำสำหรับวิดีโอทุกรายการในโครงสร้างไดเรกทอรีดังนั้นฉันจึงกำลังมองหาเครื่องมือบรรทัดคำสั่งที่รวดเร็วในการทำเช่นนี้
คำตอบ:
ดึงภาพที่จับออกมา (สูง 100 พิกเซลและรักษาอัตราส่วนภาพ) อัตรา ( -r
) ต่อวินาที (ซึ่งให้ผลหนึ่งเฟรมทุก ๆ เฟรม ~ 5 นาที) เพิ่มการประทับเวลาให้กับภาพออก
ffmpeg -i MOVIE.mp4 -r 0.0033 -vf scale=-1:120 -vcodec png capture-%002d.png
จากนั้นใช้ImageMagick
เพื่อสร้างภาพแกลเลอรี่ของคุณ:
montage -title "Movie Name\nSubtitle" -geometry +4+4 capture*.png output.png
avconv
ทำงานในลักษณะเดียวกันในกรณีที่คุณไม่มีffmpeg
(Ubuntu บางรุ่น)
ฉันชอบใช้สคริปต์ทุบตีบรรทัดคำสั่ง unix ที่ใช้งานง่ายที่เรียกว่า VCS - แผ่นติดต่อวิดีโอ หน้าอย่างเป็นทางการของพวกเขา: http://p.outlyer.net/vcs/
มันใช้งานง่ายกว่า GUI มาก
'' มันเป็นสคริปต์ทุบตีที่หมายถึงการสร้างแผ่นติดต่อวิดีโอ (ตัวอย่าง) aka รูปขนาดย่อหรือตัวอย่างของวิดีโอ วิดีโอนี้สนับสนุนโดย mplayer และ ffmpeg สามารถใช้งานได้โดยสคริปต์นี้ '' คุณจะต้องติดตั้งffmpeg
หรือmplayer
ติดตั้งบนระบบของคุณ
การใช้งาน:
vcs input-filename -U0 -i 1m -c 3 -H 200 -a 300/200 -o save-filename.jpg
วิธีการใช้งานคำสั่ง
แก้ไขอินพุตชื่อไฟล์เป็นชื่อไฟล์วิดีโอของคุณ!
-U0
(ไม่มีชื่อในส่วนท้าย - มิฉะนั้นจะแสดงชื่อโฮสต์ - โปรดทราบว่านี่ไม่ใช่ตัวอักษรO
)
-i 1m
(ตั้งค่าช่วงเวลาการจับภาพเป็นนาที - ในกรณีนี้คือทุกนาที - คุณสามารถใช้-n
แทนซึ่งกำหนดจำนวนการจับภาพตัวอย่างเช่น-n 21
จะสร้าง 21 ภาพ แต่ไม่ใช้ทั้งคู่)
-c
กำหนดจำนวนคอลัมน์ (นี่คือ 3 คอลัมน์)
-H 200 -a 300/200
(ตั้งค่าขนาดและมุมมองดังนั้นไฟล์ไม่ใหญ่เกินไป - ดูเหมือนว่าคุณต้องทำทั้งสองอย่าง)
-o filename.jpg
(ใช้.jpg
เป็นค่าเริ่มต้นที่.png
ใหญ่เกินไป - และเปลี่ยนชื่อไฟล์เป็นหนึ่งในตัวเลือกของคุณ!)
อันนี้ดูเหมือนจะพอดีกับใบเสร็จมันฟรีและโอเพ่นซอร์สและยังใช้ได้กับ Windows :)
มันยังมีสิ่งที่ทันสมัยเช่นแทนที่จะเลือกเฟรมใด ๆ ในช่วงเวลาใด ๆ โดยเฉพาะสามารถเลือกเฟรมที่อยู่ใกล้พอ แต่ดูไม่เบลอดังนั้นแทนที่จะทำสิ่งนี้:
คุณสามารถส่งผ่านพารามิเตอร์ ( -D6
) เพื่อทำสิ่งนี้:
นอกจากนี้ฉันไม่ชอบเส้นขอบเพื่อให้ภาพมีขนาดใหญ่ขึ้นเล็กน้อย
มีวิธีแก้ไขจากฟอรัม ffmpeg
ในการสร้างภาพหน้าจอหลายภาพและวางลงในไฟล์ภาพเดียว (การสร้างไทล์) คุณสามารถใช้ตัวกรองวิดีโอไทล์ของ FFmpeg เช่นนี้:
ffmpeg -ss 00:00:10 -i movie.avi -vf 'select=not(mod(n\,1000)),scale=320:240,tile=2x3' out.png
ที่จะค้นหา 10 วินาทีลงในภาพยนตร์เลือกทุก ๆ เฟรมที่ 1000 ขยายเป็น 320x240 พิกเซลและสร้าง 2x3 ไทล์ในเอาท์พุทภาพ out.png
โพสต์ต้นฉบับที่นี่ - http://ffmpeg.gusari.org/viewtopic.php?f=25&t=597
นี่คือวิธีที่ฉันดำเนินการแผ่นข้อมูลติดต่ออย่างง่ายโดยใช้ AWS EC2 จาก mac ของฉัน
ขั้นตอน # 1: สร้างอินสแตนซ์ EC2 ที่ Amazon Web Services
ฉันใช้:
Amazon Linux AMI 2015.03.1 (HVM), SSD Volume Type - ami-0d4cfd66
t2.medium
ขั้นตอนที่ # 2: กำหนดค่าอินสแตนซ์
ทั้งหมดนี้เรียกใช้จาก mac ของฉันเพื่อความสะดวก แต่คุณสามารถเรียกใช้คำสั่ง "sudu su ... " จากบรรทัดคำสั่ง EC2
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; curl -O http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; gunzip ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; tar -xf ffmpeg.static.64bit.latest.tar"
แทนที่ 11.22.33.44 ด้วย EC2 IP ของคุณ
ขั้นตอนที่ # 3: ประมวลผลวิดีโอ
ส่งวิดีโอ:
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem pem' /Users/mdouma/Desktop/myVideo.mov ec2-user@11.22.33.44:/home/ec2-user/
ประมวลผลลงในแผ่นงานติดต่อ:
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "rm -f out.png ; ./ffmpeg -ss 00:00:00 -i myVideo.mov -vf 'select=not(mod(n\,1)),scale=113:111,crop=111:111,tile=18x36' out.png"
เปลี่ยน / Users / mdouma เป็นรูทภายในของคุณ เปลี่ยน ", 1" เป็นเบอร์อื่นเช่น ", 7" หากคุณต้องการทุกเฟรมที่ 7 เปลี่ยน 111 เป็นขนาดใดก็ได้ที่คุณต้องการ
คัดลอกกลับไปที่ mac ของฉัน:
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem' ec2-user@11.22.33.44:/home/ec2-user/out.png /Users/mdouma/Desktop/out.png
open /Users/mdouma/Desktop/out.png
sudo su
ไม่มีจุดหมาย
เครื่องมือนี้ช่วยฉัน (2019-02) - และมันก็ยังคงอยู่ ตัวเลือกมากมาย - ตารางคุณภาพแบบอักษรสีเส้นขอบช่วงเวลา ...
https://github.com/amietn/vcsi
สร้างแผ่นติดต่อวิดีโอ แผ่นติดต่อวิดีโอเป็นภาพที่ประกอบด้วยภาพขนาดย่อของการจับภาพวิดีโอที่จัดในตาราง
คุณต้องการเพียง ffmpeg และ python
แพ็คเกจ 'imagemagick' มีระบบสาธารณูปโภคสำหรับสิ่งนี้
convert
น่าจะเป็นคนทั่วไปมากที่สุด ดูหัวข้อการสร้างรูปขนาดย่อทั่วไปในหน้าแรกที่ฉันเชื่อมโยง
Totem - เครื่องเล่นวิดีโอเริ่มต้นสำหรับ 14.04 และ Ubuntu รุ่นก่อนหน้าบางรุ่น - มีตัวเลือกเมนูพร้อมตัวเลือกง่าย ๆ (ใต้เมนูแก้ไข "สร้างแกลเลอรีภาพหน้าจอ ... ") นอกจากนี้ยังมีบรรทัดคำสั่งเทียบเท่า (ish) ที่เรียกว่า "totem-video-thumbnailer" ซึ่งมี man page ที่บอกวิธีใช้ ฉันเขียนสคริปต์ทุบตีง่าย ๆ ที่ใช้เอาต์พุตจากคำสั่ง find (ระวังที่จะไม่แยกไฟล์ที่มีช่องว่างในชื่อ) เพื่อสร้างแกลเลอรี่ภาพหน้าจอขนาดย่อโดยอัตโนมัติ (หรือแผ่นงานติดต่อตามที่อ้างถึงข้างต้น) สำหรับไฟล์ใด ๆ ขนาดในไดเรกทอรีที่ไม่มีอยู่แล้ว
ฉันสามารถอัปโหลดไปยัง GitHub ของฉันภายใต้ ~ jgbreezer หากใครก็ตามที่ชื่นชอบการหามัน แม้ว่าโซลูชันที่ใช้ ffmpeg และสิ่งอื่น ๆ อาจมีความยืดหยุ่นและน่าเชื่อถือ ฉันดูเหมือนจะได้รับข้อผิดพลาดจากคำสั่ง totem เกี่ยวกับการไม่หาเฟรมบางตัว แต่ดูเหมือนว่าจะใช้งานได้ตลอดเวลา
ฉันต้องการสิ่งเดียวกันและ googling ลงเอยด้วย ffmpeg และ imagemagick ไม่ 'เร็ว' IMHO จากนั้นพบสคริปต์ทุบตีชื่อSlickSlice (ปรับปรุงล่าสุดปี 2008 แต่ทำงานได้อย่างสมบูรณ์เหมือนเมื่อวาน) ติดตั้งและปรับแต่งตามความชอบของฉันโดยใช้ไฟล์กำหนดค่าและสคริปต์เอง สคริปต์นี้ใช้ ImageMagick และ MPlayer
ฉันทำรายละเอียดวิธีการและการปรับแต่งหลังจากที่ฉันใช้งานได้สำเร็จ เมื่อติดตั้งเรียบร้อยแล้วคุณสามารถสร้างภาพขนาดย่อไทม์ไลน์ของวิดีโอได้ง่าย ๆ โดยใช้คำสั่ง:
slickslice -x "InputFile.mp4"
(ค่าเริ่มต้น 4 คอลัมน์ x 15 แถว) หรือ
slickslice -x "InputFile.mp4" -S 6x10
(สำหรับ 6 คอลัมน์ x 10 แถว)
มันส่งออกเป็นSLICKSLICED_InputFile.mp4.jpeg
และฉันปรับแต่งให้ผลิตInputFile.mp4-screen.jpeg
โดยการแก้ไขสคริปต์ทุบตีตัวเอง
-r
) ทำให้ง่ายและแม่นยำยิ่งขึ้นในการระบุเวลา 5 นาที = 300ffmpeg -i MOVIE.mp4 -r 1/300 -vf scale=-1:120 -vcodec png capture-%02d.png
วินาที