ฉันควรดูพารามิเตอร์ใดเพื่อลดขนาดของไฟล์. MOV


12

Canon 60D ของฉันสร้างไฟล์. MOV เมื่อบันทึกวิดีโอและฉันพบว่าคอนเทนเนอร์. MOV มีสตรีมวิดีโอ H264 และสตรีมเสียง PCM

ฉันใช้ ffmpeg และ GSpot เพื่อดูวิดีโอของฉันและฉันเห็นสิ่งที่ดูเหมือนว่าบิตเรตค่อนข้างสูง (22,000kbps สำหรับ 640x480, 45,000 สำหรับ 1920x1080)

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

คำตอบ:


21

แต่ฉันสงสัยว่ามีวิธีการกำหนดบิตเรตเป้าหมาย "ดี" หรือไม่

อัตราบิตเป้าหมายที่ดีคืออัตราบิตที่:

  • ได้รับการสนับสนุนโดยเครือข่ายที่คุณสตรีมเนื้อหาจาก (เช่นเครือข่าย 3G, WiFi ที่บ้าน ฯลฯ ) ซึ่งค่อนข้างง่ายในการคำนวณ
  • ดูดีสำหรับคุณซึ่งเป็นการวัดความคิดเห็นส่วนตัว

22 Mbit / s หรือ 45 Mbit / s ค่อนข้างสูงสำหรับผู้ใช้ทั่วไปและโดยเฉพาะอย่างยิ่งสำหรับวิดีโอที่บีบอัดแล้วเช่น h.264 คุณสามารถไปข้างหน้าและลดอัตราบิตให้เป็นค่า "มีเหตุผล" ได้เสมอโดยคำนึงถึงความจุในการจัดเก็บที่คุณสามารถจ่ายได้และคุณภาพที่คุณต้องการสูญเสีย

คุณสามารถปรับขนาดวิดีโอ 1080p เป็น 720p หากคุณไม่ต้องการขนาดจริงหรือไม่มีความสามารถในการประมวลผลเพื่อแก้ไข

…หรือถ้ามีประเด็นใดที่พยายามทำบิตเรตตัวแปร

จุดอัตราบิตคงที่คือการปรับให้เข้ากับสถานการณ์สื่อสตรีมมิ่งที่มีคอขวดที่ จำกัด อัตราบิตสูงสุดของวิดีโอที่ส่ง ในโลกมัลติมีเดียทุกวันนี้มันไม่สมเหตุสมผลอีกต่อไป

เมื่อคุณบีบวิดีโอลงในจำนวนบิตคงที่ต่อวินาทีโดยทั่วไปคุณบอกตัวเข้ารหัสให้ใช้บิตจำนวนเท่ากันเพื่อเข้ารหัสกรอบเวลาเดียวกันเสมอ นั่นเป็นวิธีที่ดีที่สุดเหรอ? อย่างที่คุณอาจเดาได้แล้วตอนนี้ก็ไม่ใช่ การอ้างอิงคู่มือ CRFจาก Handbrake (ฉันจะกลับมาดูในภายหลัง):

ดวงตารับรู้รายละเอียดเพิ่มเติมในวัตถุนิ่งกว่าเมื่อพวกเขากำลังเคลื่อนไหว ด้วยเหตุนี้คอมเพรสเซอร์วิดีโอสามารถใช้การบีบอัดเพิ่มเติม (ลดรายละเอียดเพิ่มเติม) เมื่อสิ่งที่เคลื่อนไหวและใช้การบีบอัดน้อยลง (เก็บรายละเอียดเพิ่มเติม) เมื่อสิ่งต่าง ๆ ยังคง ผู้ชมวิดีโอดูเหมือนจะมีคุณภาพสูงกว่า

ดังนั้นจึงไม่ทำให้รู้สึกที่จะใช้อัตราบิตตัวแปรที่คุณจะทำได้ มันจะทำให้วิดีโอดูดีขึ้นแม้ในขนาดไฟล์เดียวกันของวิดีโออัตราบิตคงที่

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


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

ในกรณีที่ง่ายมากนี่หมายถึงการตั้งค่าระหว่าง 17 และ 23 ฉันเลือก MP4 เป็นที่เก็บเอาท์พุทแทนที่จะเป็น MOV เพราะมีเครื่องมือที่ดีกว่าสำหรับการใช้งานแบบมัลติเพล็กซ์

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

ค่าที่ต่ำกว่าคุณภาพที่ดีกว่าและเอาท์พุทที่ใหญ่ขึ้น ในทางกลับกันยิ่งมีคุณภาพสูง ในเวลาเดียวกันคุณจะลดอัตราบิตเฉลี่ยที่ต้องการ ตรวจสอบคู่มือการเข้ารหัส x264ffmpegสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ

ตอนนี้งานของคุณคือการหาค่า CRF ที่:

  • ลดอัตราบิตโดยรวมไปยังจุดที่คุณสามารถจ่ายได้
  • ไม่ลดคุณภาพมากเกินไปวิดีโอยังดูดี

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

โอ้และถ้าคุณไม่ชอบบรรทัดคำสั่งHandbrakeเป็นเครื่องมือข้ามแพลตฟอร์มที่ฟรีเหมือนกันทุกประการ มันยังมีตัวเลื่อน CRF:

ป้อนคำอธิบายรูปภาพที่นี่


เกี่ยวกับรายละเอียดของวัตถุที่เคลื่อนไหวมันไม่ได้มีการใช้งานมากเกินไปในการบีบอัดวิดีโอหรือฉันจำตัวอย่างที่ไม่ดีได้หรือไม่? เช่นการเพิ่มรายละเอียดที่เห็นได้ชัดเมื่อกล้องหยุดการแพนกล้อง ฯลฯ
Daniel Beck

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

ก่อนหน้านี้ฉันเคยใช้ Handbrake แปลง DV avis จาก videocam เป็น DivX และ mp4 แต่ฉันพบว่ามันง่ายกว่าที่จะทำงานกับบรรทัดคำสั่งเมื่อพยายามหาทางเลือกจาก. mov ไปเป็น h264 mp4 มีเทียบเท่ากับ -crf เมื่อคุณสร้าง DivXs หรือไม่? (หรือควรเป็นคำถามอื่น)
Ward - Reinstate Monica

@Ward -qscaleคุณสามารถใช้ สำหรับ mpeg * สเกลจะเป็นแบบเชิงเส้นตั้งแต่ 1-31 (31 เป็นคุณภาพที่แย่ที่สุด) และการเพิ่มค่าเป็นสองเท่าจะส่งผลให้บิตเรตครึ่งหนึ่ง ค่า 2 สามารถพิจารณาแบบไม่สูญเสียสายตาโดยประมาณ 3-5 มักจะมีความสมดุลที่ดี แต่แน่นอนคุณภาพเป็นเรื่องส่วนตัวและคุณจะต้องลอง
31712 llogan

ดี! บางคำถาม. (1) ตัวเลขตามด้วย "p" หมายถึงอะไรใน "วิดีโอ 1080p ถึง 720p" (2) x264 ใช้บิตเรตตัวแปร แต่ทำไมตัวเลือกใน ffmpeg เรียกว่า Constant Rate Factor? ขอบคุณ!
ทิม

2

ลองใช้ HandBrake CLI

ฉันต้องการย่อ MOV บางไฟล์และไม่สนใจที่จะเรียนรู้รายละเอียดทั้งหมดเกี่ยวกับตัวเลือกวิดีโอ HandBrake CLIเป็นสิ่งที่ฉันใช้ สถานีที่ตั้งไว้เป็นสิ่งที่ดี:

HandBrake เสนอการตั้งค่าล่วงหน้าแบบกำหนดค่าตายตัวจากโรงงานซึ่งเหมือนกับที่ตั้งไว้ล่วงหน้าใน MacGui

ในกรณีของฉันสิ่งนี้ใช้ได้ดี:

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

ไม่มีการตั้งค่าล่วงหน้าผลผลิตมีขนาดเล็กมาก แต่คุณภาพไม่ดี การตั้งค่าล่วงหน้า "ปกติ" ดูดีสำหรับฉัน แต่คุณสามารถเห็นตัวเลือกอื่นที่มีHandBrakeCLI --preset-listหรือปรับตัวเลือกทั้งหมดด้วยตัวเองหากคุณต้องการ

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