การตั้งค่าที่แนะนำสำหรับ VOD
วัตถุประสงค์
ส่วนนี้จะให้คำแนะนำสำหรับการตั้งค่าการเข้ารหัส VP9 เมื่อทำการเข้ารหัสแบบอิงตามไฟล์ (เช่น ไม่ใช่แบบสด)
คำแนะนำเหล่านี้ออกแบบมาเพื่อเป้าหมายต่อไปนี้
- ความสมดุลระหว่างคุณภาพและความเร็วในการเข้ารหัส
- บิตเรตขั้นต่ำเพื่อให้ได้คุณภาพที่เหมาะสม
- การตั้งค่าเพื่อรองรับเนื้อหาหลากหลายประเภท
คำแนะนำเหล่านี้จะไม่ทำสิ่งต่อไปนี้
- การเข้ารหัสไลฟ์สด
- เพิ่มประสิทธิภาพสำหรับเนื้อหาบางประเภท (เช่น ฟุตเทจกีฬาที่มีการเคลื่อนไหวสูง)
- กำหนดการตั้งค่าสำหรับข้อกำหนดของอุปกรณ์หรือเครือข่ายที่เฉพาะเจาะจง
การเข้ารหัสความละเอียดเดียว
VP9 รองรับขนาดเฟรมหลากหลาย ตั้งแต่ความละเอียดเล็กๆ ไปจนถึง 4K ขนาดเฟรมที่ใหญ่ขึ้นจะให้คุณภาพสูงขึ้น แต่ต้องใช้แบนด์วิดท์มากขึ้นในการส่ง และต้องใช้กำลังการประมวลผลมากขึ้นในการถอดรหัส
หากคุณกำลังสร้างความละเอียดเดียว 640x480 เป็นตัวเลือกที่ปลอดภัยสำหรับอุปกรณ์เว็บและอุปกรณ์เคลื่อนที่หลากหลาย พารามิเตอร์บรรทัดคำสั่ง FFmpeg ต่อไปนี้ ช่วยให้คุณสร้างไฟล์ความละเอียดเดียวที่ 750kbps ได้
-vf scale=640x480 -b:v 750k -quality good -speed 0 -crf 33 \
-c:v libvpx-vp9 -c:a libopus output.webm
การเข้ารหัสหลายความละเอียด
หากคุณวางแผนที่จะกำหนดเป้าหมายความละเอียดหลายระดับ หรือหากเครือข่ายการนำส่งมีแบนด์วิดท์ที่แตกต่างกัน เราขอแนะนำให้สร้างความละเอียดหลายระดับ จากนั้นเพลเยอร์จะควบคุมความละเอียดที่จะส่งไปยังผู้ชมได้
การเข้ารหัสวิดีโอแบบหลายความละเอียดมักใช้ในการสตรีมแบบปรับอัตราบิต ซึ่งโปรแกรมเล่นวิดีโอจะสลับความละเอียดแบบเรียลไทม์ตาม แบนด์วิดท์ของผู้ใช้ ตัวอย่างเช่น Shaka Player ช่วยให้คุณเล่น การเข้ารหัสหลายความละเอียดได้ โดยการเข้ารหัส VP9 แต่ละรายการจะอยู่ในไฟล์แยกต่างหาก และ ไฟล์ Manifest ของ DASH จะให้ข้อมูลเกี่ยวกับการเข้ารหัสแต่ละรายการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแพ็กเกจวิดีโอในรูปแบบการสตรีมแบบปรับอัตราได้ที่Shaka Packager คู่มือนี้ จะมุ่งเน้นที่การตั้งค่าการเข้ารหัสสำหรับ VP9 ในความละเอียดต่างๆ
การตั้งค่าที่แนะนำ
การตั้งค่าทั้งหมดด้านล่างนี้ใช้กับไฟล์แต่ละไฟล์ได้ที่ความละเอียดต่างๆ เมื่อรวมกันแล้วจะให้ชุดการตั้งค่าที่ครอบคลุมซึ่งเหมาะสำหรับการสตรีมแบบปรับอัตราการส่งข้อมูล โปรดทราบ ว่าเวอร์ชัน 640x480 มี 2 เวอร์ชัน ได้แก่ เวอร์ชันคุณภาพต่ำ (LQ) และเวอร์ชันคุณภาพปานกลาง (MQ)
อัตราบิต
เราขอแนะนำให้ใช้โหมดคุณภาพแบบจำกัด (CQ) เมื่อเข้ารหัสไฟล์ VP9 สำหรับการดูแบบออนดีมานด์ โหมดการเข้ารหัสนี้ช่วยให้คุณระบุบิตเรตเฉลี่ยเป้าหมายได้ ขณะเดียวกันก็ควบคุมทั้งคุณภาพสูงสุดของวิดีโอ รวมถึงบิตเรตต่ำสุดและสูงสุด
เราขอแนะนำให้อัตราบิตต่อไปนี้เป็นพื้นฐานสำหรับการเผยแพร่บนเว็บและอุปกรณ์เคลื่อนที่ คำแนะนำเหล่านี้จะลดอัตราบิต ซึ่งจะช่วยให้ได้วิดีโอคุณภาพ ที่เหมาะสำหรับการเผยแพร่บนเว็บและอุปกรณ์เคลื่อนที่สำหรับผู้บริโภค โดยคำแนะนำเหล่านี้เป็นคำแนะนำอัตราบิต "ต่ำ" ที่ยังคงให้คุณภาพที่เหมาะสมได้
สำหรับตัวอย่างข้างต้น เราขอแนะนำให้ตั้งค่าอัตราบิตขั้นต่ำที่ 50% ของอัตราบิตเป้าหมาย และตั้งค่าสูงสุดที่ 145% ของเป้าหมาย
ขนาดเฟรม/อัตราเฟรม | อัตราบิตเป้าหมาย (VOD, kbps) | อัตราบิตขั้นต่ำ (50%) | อัตราบิตสูงสุด (145%) |
---|---|---|---|
320x240p @ 24,25,30 | 150 | 75 | 218 |
640x360p @ 24,25,30 | 276 | 138 | 400 |
640x480p @ 24,25,30 | 512 (LQ), 750 (MQ) | 256 (LQ) 375 (MQ) | 742 (LQ) 1088 (MQ) |
1280x720p @ 24,25,30 | 1024 | 512 | 1485 |
1280x720p @ 50,60 | 1,800 | 900 | 2610 |
1920x1080p @ 24,25,30 | 1,800 | 900 | 2610 |
1920x1080p @ 50,60 | 3000 | 1,500 | 4350 |
2560x1440p @ 24,25,30 | 6000 | 3000 | 8700 |
2560x1440p @ 50,60 | 9000 | 4500 | 13050 |
3840x2160p @ 24,25,30 | 12000 | 6000 | 17400 |
3840x2160p @ 50,60 | 18000 | 9000 | 26100 |
รูปที่ 2ก: อัตราบิตของ VOD ที่แนะนำ
ใน FFmpeg คุณจะควบคุมบิตเรตได้ด้วยคำสั่งต่อไปนี้
FFmpeg | |
---|---|
-b:v <arg> |
ตั้งค่าอัตราบิต (เช่น 500k) |
-minrate <arg> -maxrate <arg> |
ตั้งค่าอัตราบิตต่ำสุดและสูงสุด |
เช่น เมื่อเข้ารหัสเนื้อหาขนาด 640x480 คุณอาจใช้บรรทัดคำสั่ง
-b:v 750k -minrate 375 -maxrate 1088
คุณภาพ
ในโหมด CQ คุณจะต้องตั้งค่าระดับคุณภาพสูงสุดด้วย เราขอแนะนำให้ใช้ระดับคุณภาพต่อไปนี้สำหรับการเข้ารหัส VP9 แบบอิงตามไฟล์
ความสูงของเฟรม | คุณภาพเป้าหมาย (CQ) |
---|---|
240 | 37 |
360 | 36 |
480 | 34 (LQ) หรือ 33 (MQ) |
720 | 32 |
1080 | 31 |
1440 | 24 |
2160 | 15 |
ใน FFmpeg คุณภาพจะได้รับการตั้งค่าด้วยคำสั่ง -crf
เช่น หากต้องการตั้งค่า
คุณภาพเป็น 33 คุณจะต้องใช้คำสั่ง -crf 33
การเข้ารหัสแบบหลายรอบและความเร็วในการเข้ารหัส
การเข้ารหัสแบบอิงตามไฟล์ช่วยให้คุณมีความยืดหยุ่นในด้านความเร็ว นอกจากนี้ คุณยังสามารถ ส่งผ่านหลายครั้งในเนื้อหาเดียวกันเพื่อเพิ่มคุณภาพ และเลือกความเร็วสำหรับ แต่ละครั้งได้ด้วย
เมื่อเข้ารหัสไฟล์ VP9 ใน FFmpeg เราขอแนะนำให้ตั้งค่าพารามิเตอร์ -quality
เป็น good
จากนั้นตั้งค่าความเร็วของการส่งผ่านรอบแรกและรอบที่ 2
ตามตารางด้านล่างด้วยพารามิเตอร์ -speed
ซึ่งจะช่วยให้
เวลาในการเข้ารหัสและคุณภาพของเอาต์พุตมีความสมดุลที่ดี
ความสูงของเฟรม | ความเร็ว (การส่งผ่านครั้งแรก) | ความเร็ว (รอบที่ 2) |
---|---|---|
240 | 4 | 1 |
360 | 4 | 1 |
480 | 4 | 1 |
720 | 4 | 2 |
1080 | 4 | 2 |
1440 | 4 | 2 |
2160 | 4 | 2 |
เช่น สตริงการเข้ารหัสรอบแรกใน FFmpeg อาจมี
-quality good -speed 4
ระยะห่างคีย์เฟรม
ขอแนะนำให้ใช้เฟรมวิดีโอได้สูงสุด 240 เฟรมระหว่างคีย์เฟรม (8 วินาทีสำหรับเนื้อหา 30 FPS) คีย์เฟรมคือเฟรมวิดีโอที่ เพียงพอในตัว ไม่ได้อาศัยเฟรมอื่นๆ ในการแสดงผล แต่มีแนวโน้มที่จะ มีขนาดใหญ่กว่าเฟรมประเภทอื่นๆ สำหรับการเล่นบนเว็บและอุปกรณ์เคลื่อนที่ การเว้น ระยะห่างระหว่างคีย์เฟรมอย่างเหมาะสมจะช่วยให้โปรแกรมเปลี่ยนไฟล์เลือกตำแหน่งที่ดีที่สุดของ คีย์เฟรมเพื่อเพิ่มคุณภาพได้สูงสุด
ใน FFmpeg การเว้นระยะคีย์เฟรมจะควบคุมด้วยคำสั่ง -g
ซึ่งระบุ
จำนวนเฟรม สำหรับเฟรม 240 เฟรม ค่านี้จะเป็น -g 240
คำแนะนำในการแบ่งไทล์และการแยกเธรด
การแบ่งเป็นส่วนจะแบ่งเฟรมวิดีโอออกเป็นหลายคอลัมน์ ซึ่งจะลดคุณภาพลงเล็กน้อย แต่จะเพิ่มประสิทธิภาพการเข้ารหัส ไทล์ต้องมีความกว้างอย่างน้อย 256 พิกเซล จึงมีข้อจำกัดในการใช้จำนวนไทล์
การใช้เธรด CPU เพิ่มเติมอาจมีประโยชน์ ทั้งนี้ขึ้นอยู่กับจำนวนไทล์และความละเอียดของเฟรมเอาต์พุต โดยทั่วไปแล้ว การใช้หลายเธรดจะมีประโยชน์น้อยเมื่อขนาดเฟรมเอาต์พุตมีขนาดเล็กมาก
เราขอแนะนำให้ใช้การตั้งค่าต่อไปนี้สำหรับการแบ่งไทล์และการแยกเธรดที่ความละเอียดต่างๆ
ขนาดเฟรม | จำนวนคอลัมน์ไทล์ | จำนวนเธรด |
---|---|---|
320x240 | 1 (-tile-columns 0 ) |
1 |
640x360 | 2 (-tile-columns 1 ) |
2 |
640x480 | 2 (-tile-columns 1 ) |
2 |
1280x720 | 4 (-tile-columns 2 ) |
4 |
1920x1080 | 4 (-tile-columns 2 ) |
4 |
2560x1440 | 8 (-tile-columns 3 ) |
8 |
3840x2160 | 8 (-tile-columns 3 ) |
8 |
ใน FFmpeg คุณสามารถควบคุมจำนวนไทล์ได้ด้วยพารามิเตอร์ -tile-columns
และจำนวนเธรดด้วย -threads
ตัวอย่างเช่น การเข้ารหัส 640x480 จะใช้บรรทัดคำสั่ง -tile-columns 1 -threads 2
บรรทัดคำสั่ง FFmpeg
เมื่อรวมคำแนะนำข้างต้นเข้าด้วยกัน คุณอาจใช้คำสั่ง FFmpeg ต่อไปนี้เพื่อเข้ารหัสเนื้อหา VP9 ได้
โปรดทราบว่าคำสั่งการเข้ารหัสแบบ 2 รอบและแบบ 1 รอบจะเชื่อมโยงกัน อาร์กิวเมนต์
-y
ในคำสั่งการส่งผ่านครั้งที่ 2 จะตอบว่า "ใช่" เมื่อ FFmpeg ขอ
เขียนทับไฟล์สถิติการส่งผ่านครั้งแรกด้วยวิดีโอเอาต์พุต
นอกจากนี้ โปรดทราบว่าระบบจะใช้แหล่งที่มาระดับ 1080p สำหรับการเข้ารหัสที่กำหนดเป้าหมายเอาต์พุตสูงสุด 1280x720 ใช้แหล่งที่มา 4K สำหรับเอาต์พุตที่ใหญ่ขึ้น
320x240 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \ -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 1 \ -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \ -pass 1 -speed 4 tos-320x240.webm && \ ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \ -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 1 \ -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \ -pass 2 -speed 1 -y tos-320x240.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-320x240.webm (320x240, 21.73 MB)
640x360 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x360 -b:v 276k \
-minrate 138k -maxrate 400k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 36 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-640x360.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x360 -b:v 276k \
-minrate 138k -maxrate 400k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 36 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 1 -y tos-640x360.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-640x360.webm (640x360, 31.53 MB)
640x480 (คุณภาพต่ำ 24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 -b:v 512k \
-minrate 256k -maxrate 742k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 34 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-640x360-low.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 -b:v 512k \
-minrate 256k -maxrate 742k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 34 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 1 -y tos-640x480-low.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-640x480-low.webm (640x480, 51.18 MB)
640x480 (คุณภาพปานกลาง, 24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 -b:v 750k \
-minrate 375k -maxrate 1088k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 33 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-640x360-medium.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 -b:v 750k \
-minrate 375k -maxrate 1088k -tile-columns 1 -g 240 -threads 2 \
-quality good -crf 33 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 1 -y tos-640x480-medium.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-640x480-medium.webm (640x480, 69.27 MB)
1280x720 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=1280x720 -b:v 1024k \
-minrate 512k -maxrate 1485k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 32 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-1280x720-24-30fps.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=1280x720 -b:v 1024k \
-minrate 512k -maxrate 1485k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 32 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-1280x720-24-30fps.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-1280x720-24-30fps.webm (1280x720, 98.2 MB)
1280x720 (50 หรือ 60 เฟรมต่อวินาที)
ffmpeg -i tears_of_steel_1080p.webm -vf scale=1280x720 -b:v 1800k \
-minrate 900k -maxrate 2610k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 32 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-1280x720-50-60fps.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=1280x720 -b:v 1800k \
-minrate 900k -maxrate 2610k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 32 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2-y tos-1280x720-50-60fps.webm
- ไฟล์อินพุต: tears_of_steel_1080p.webm (1920x800, 544.88 MB)
- ไฟล์เอาต์พุต: tos-1280x720-50-60fps.webm (1280x720, 157.1 MB)
1920x1080 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=1920x1080 -b:v 1800k \
-minrate 900k -maxrate 2610k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 31 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-1920x1080-24-30fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=1920x1080 -b:v 1800k \
-minrate 900k -maxrate 2610k -tile-columns 3 -g 240 -threads 4 \
-quality good -crf 31 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-1920x1080-24-30fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-1920x1080-24-30fps.webm (1920x1080, 151.51 MB)
1920x1080 (50 หรือ 60 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=1920x1080 -b:v 3000k \
-minrate 1500k -maxrate 4350k -tile-columns 2 -g 240 -threads 4 \
-quality good -crf 31 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-1920x1080-50-60fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=1920x1080 -b:v 3000k \
-minrate 1500k -maxrate 4350k -tile-columns 3 -g 240 -threads 4 \
-quality good -crf 31 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-1920x1080-50-60fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-1920x1080-50-60fps.webm (1920x1080, 238.18 MB)
2560x1440 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=2560x1440 -b:v 6000k \
-minrate 3000k -maxrate 8700k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 24 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-2560x1440-24-30fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=2560x1440 -b:v 6000k \
-minrate 3000k -maxrate 8700k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 24 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-2560x1440-24-30fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-2560x1440-24-30fps.webm 2560x1440, 533.54 MB)
2560x1440 (50 หรือ 60 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=2560x1440 -b:v 9000k \
-minrate 4500k -maxrate 13050k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 24 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-2560x1440-50-60fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=2560x1440 -b:v 9000k \
-minrate 4500k -maxrate 13050k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 24 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-2560x1440-50-60fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-2560x1440-50-60fps.webm 2560x1440, 664.04 MB)
3840x2160 (24, 25 หรือ 30 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=3840x2160 -b:v 12000k \
-minrate 6000k -maxrate 17400k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 15 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-3840x2160-24-30fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=3840x2160 -b:v 12000k \
-minrate 6000k -maxrate 17400k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 15 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -speed 2 -y tos-3840x2160-24-30fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-3840x2160-24-30fps.webm 3840x2160, 1.03 GB)
3840x2160 (50 หรือ 60 เฟรมต่อวินาที)
ffmpeg -i tearsofsteel_4k.mov -vf scale=3840x2160 -b:v 18000k \
-minrate 9000k -maxrate 26100k -tile-columns 3 -g 240 -threads 8 \
-quality good -crf 15 -c:v libvpx-vp9 -c:a libopus \
-pass 1 -speed 4 tos-3840x2160-50-60fps.webm && \
ffmpeg -i tearsofsteel_4k.mov -vf scale=3840x2160 -b:v 18000k \
-minrate 9000k -maxrate 26100k -tile-columns 3 -g 240 -threads 8 \
-quality good -speed 2 -crf 15 -c:v libvpx-vp9 -c:a libopus \
-pass 2 -y tos-3840x2160-50-60fps.webm
- ไฟล์อินพุต: tearsofsteel_4k.mov (3840x1714, 6.76 GB)
- ไฟล์เอาต์พุต: tos-3840x2160-50-60fps.webm 3840x2160, 1.56 GB)