ฉันบันทึกเดสก์ท็อปของฉันด้วย avconv (aka ffmpeg) แล้วปรับขนาดเป็น 720p
ฉันเพิ่งเพิ่มสคริปต์ของฉันเพื่อให้พวกเขาสามารถเลือกหน้าต่างที่มี xwininfo และมันจะบันทึกหน้าต่างนั้นโดยเฉพาะ
อย่างไรก็ตามหากรูปแบบผลลัพธ์ไม่สามารถหารด้วย 2 ตัวเข้ารหัสจะแยกออกและฉันไม่ได้รับวิดีโอ
มีวิธีแก้ไขปัญหานี้ภายใน ffmpeg หรือไม่ดังนั้นฉันไม่ต้องทำคณิตศาสตร์ด้วยตนเองใน bash เพื่อตั้งค่ามาตราส่วน
เป็นไปได้ไหมที่จะมีการลบตัวกรองมาตราส่วน / เพิ่มความกว้าง / ความสูงถ้ามันไม่เท่ากัน? (รอบ?)
เป็นไปได้หรือไม่ที่จะใช้ตัวกรองอื่นหลังจากสเกลดั้งเดิมที่สามารถทำสิ่งนี้ได้ (สิ่งนี้จะวนวิดีโอที่มีขนาดอินพุตไม่สม่ำเสมอและไม่มีการปรับสเกล)
#!/bin/bash
avconv \
-f x11grab -r $fps -s $capturesize -i :0.0$offset \
-vcodec libx264 \
-vf scale=-1:720 \
-pre:v lossless_ultrafast \
-threads 4 \
-y $@
รายชื่อผู้รับจดหมายเก่าบางรายการแนะนำround()
ฟังก์ชันที่คุณสามารถใช้ในตัวกรอง แต่ฉันไม่สามารถรับไวยากรณ์ได้ หากใช้งานscale=round(iw,2):round(ih,2)
ตัวกรองที่ใช้ในตอนท้ายจะแก้ปัญหาทั้งหมดของฉันในครั้งเดียว iw
และih
ดูเหมือนจะไม่ทำงาน
ceil
แทนtrunc
เพื่อรับหมายเลขคู่ที่สูงกว่าเป็นกรณีของ 16: 9 480p