ฉันมีวิดีโอ 1080p wmv ที่ฉันต้องการแปลงเป็นวิดีโอที่มีคุณภาพต่ำกว่า (ควรเป็น 720p) ฉันต้องการเก็บเสียงไว้เหมือนเดิม ฉันจะทำให้สำเร็จใน Ubuntu ได้อย่างไร
ฉันมีวิดีโอ 1080p wmv ที่ฉันต้องการแปลงเป็นวิดีโอที่มีคุณภาพต่ำกว่า (ควรเป็น 720p) ฉันต้องการเก็บเสียงไว้เหมือนเดิม ฉันจะทำให้สำเร็จใน Ubuntu ได้อย่างไร
คำตอบ:
เมื่อคุณใช้แท็ก ffmpeg ฉันจะใช้มันสำหรับคำตอบ
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
เปลี่ยนคุณภาพวิดีโอโดยการระบุพารามิเตอร์ CRF อื่น ดูคู่มือการเข้ารหัส x264สำหรับข้อมูลเพิ่มเติม
ffmpeg -i input.avi -vf scale=-1:720 output.avi
เวลาผ่านไปเล็กน้อยตั้งแต่คำตอบเดิมที่ยอมรับสำหรับคำถามนี้ในปี 2012 FFmpeg รุ่นใหม่จะดีกว่าถ้าใช้ฟิลเตอร์วิดีโอ 'scale' ของ FFmpeg
ฉันยกตัวอย่างด้านล่างโดยใช้ตัวกรองนี้ซึ่งเพียงแค่คัดลอกแทร็กเสียงตามที่คุณร้องขอ:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a copy \
output.mp4
-tune film
ตัวเลือกดังกล่าวข้างต้นสามารถละเว้นหรือคุณอาจจะพยายามที่จะ-tune animation
ขึ้นอยู่กับชนิดของคลิปวิดีโอที่คุณกำลังใช้
ถ้าคุณตัดสินใจว่าคุณจะชอบที่จะแปลงเป็นทางเลือกที่ดีเสียงที่จะใช้ libfdk_aac ห้องสมุดภายนอกดังนี้
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a libfdk_aac -b:a 128k \
output.mp4
นี่คือสิ่งที่ฉันจะทำกับไฟล์ wmv ที่ฉันกำลังขยายคุณจะพบผลลัพธ์มากกว่าที่ยอมรับได้ ...
หากคุณต้องการให้แทร็กเสียงคำบรรยายและอื่น ๆ ไม่บุบสลายคุณควรใช้สิ่งนี้:
ffmpeg -i input.mkv \
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
-vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow \
-c:a:0 copy -c:a:1 copy -c:s copy \
output.mkv
ในกรณีนี้ไฟล์ input.mkv มีแทร็กเสียงสองแทร็กและคำบรรยายสองคำ คุณสามารถระบุแทร็กเสียงทั้งหมด (หรือคำบรรยายหรือวิดีโอ ฯลฯ ) ทีละรายการหรือเป็นเอนทิตีเดียว (ตามที่ฉันระบุสำหรับคำบรรยาย)
หวังว่ามันจะช่วย ...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
แต่คุณสามารถระบุ-map 0
แทนได้ วิธีนี้จะเลือกสตรีมทั้งหมดในอินพุต 0 โดยอัตโนมัติคล้ายกับตัวแปลงสัญญาณเสียง -c:copy -c:v libx264
ตัวเลือกการแปลงสัญญาณเดียวที่คุณจะต้องระบุเป็น ซึ่งหมายความว่า: "ตั้งค่าตัวแปลงสัญญาณสตรีมทั้งหมดให้คัดลอกยกเว้นวิดีโอที่ควรแปลงเป็น x264"
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv