วิธีที่เร็วที่สุดในการแปลงวิดีโอ (ชุดหรือเดี่ยว)?


26

ฉันรู้ว่ามีคำถามมากมายเกี่ยวกับโปรแกรมเปลี่ยนไฟล์วิดีโอที่นี่ แต่คำถามของฉันเกี่ยวกับขั้นตอนการทำงาน / ประสิทธิภาพมากกว่า

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

ฉันต้องการสร้างเทมเพลตทั่วไปสำหรับกรณีใช้งานสองสามกรณี (แปลงเป็นแหล่งเดียวกัน, 1080pหรือ720p ) และสามารถประมวลผลได้อย่างรวดเร็วและคิว

มีความคิดเห็นเกี่ยวกับวิธีการที่ดีที่สุดในกระบวนการนี้ใน Ubuntu


ฉันรู้ว่ามี Avanti ใน Windows และฉันคิดว่าสิ่งที่ใกล้เคียงที่สุดที่คุณจะได้รับใน Linux คือบรรทัดคำสั่งavconvหรือส่วนหน้าอย่าง WinFF หรือConvertMe ... อาจเป็นทางเลือกสุดท้ายที่คุณสามารถลอง Avanti in Wine ได้
Richard

คำตอบ:


52

หากคุณต้องการบรรทัดคำสั่งคุณสามารถใช้ffmpeg(หรือhandbrake-cli)

MP4

สมมติว่าคุณกำลังใช้เวอร์ชันล่าสุดของffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: คุณภาพ ช่วงคือลอการิทึม 0 (สูญเสีย) ถึง 51 (คุณภาพแย่ที่สุด) ค่าเริ่มต้นคือ 23 ช่วงที่มีอัตนัยคือ ~ 18-28 หรือมากกว่านั้น ใช้ค่าสูงสุดที่ยังคงให้คุณภาพที่ยอมรับได้ หากคุณกำลังเข้ารหัสอินพุตขนาดใหญ่ที่ทำไม่ได้อีกครั้งเพื่ออัปโหลดไปยัง YouTube หรือที่คล้ายกันลองใช้ค่า 17 หรือ 18 เนื่องจากบริการวิดีโอเหล่านี้จะเข้ารหัสอีกครั้ง

  • -preset: ความเร็วในการเข้ารหัส ค่าที่ตั้งล่วงหน้าที่ช้ากว่าให้การบีบอัดที่ดีกว่า (คุณภาพต่อขนาดไฟล์) แต่ช้ากว่า ใช้สิ่งที่ช้าที่สุดที่คุณมีความอดทนสำหรับ: เร็วมากเร็วมากเร็วมากเร็วเร็วปานกลาง (ค่าเริ่มต้น) ช้าช้าลงช้ามาก

  • -movflags +faststart: อนุญาตให้วิดีโอเล่นก่อนที่จะถูกดาวน์โหลดอย่างสมบูรณ์ในกรณีที่มีการดาวน์โหลดแบบโปรเกรสซีฟ มีประโยชน์ถ้าคุณกำลังโฮสต์วิดีโอมิฉะนั้นฟุ่มเฟือยถ้าอัปโหลดไปยังบริการวิดีโอเช่น YouTube

  • -vf scale=-2:720,format=yuv420p: ตัวกรองกราฟโดยใช้ตัวกรองวิดีโอขนาดและรูปแบบ ปรับความสูงเป็น 720 พิกเซลและเลือกความกว้างที่จะรักษาภาพไว้โดยอัตโนมัติแล้วตรวจสอบให้แน่ใจว่ารูปแบบพิกเซลเข้ากันได้กับเครื่องเล่นใบ้

  • -b:a 128k: บิตเรตเสียง หากคุณffmpegล้าสมัยแล้วคุณจะต้องเพิ่มการใช้งาน-strict experimental-c:a aac

MOV

เนื่องจากไฟล์ MOV และ MP4 ของคุณอาจมีรูปแบบวิดีโอและเสียงที่เหมือนกันคุณสามารถเข้ารหัส MP4 และสร้าง MOV โดยทำการ muxing ใหม่ (ด้วยโหมดการคัดลอกสตรีม ) แทนที่จะเข้ารหัสใหม่:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg รองรับ WMV 7 และ 8 เท่านั้นฉันไม่รู้ตัวโอเพ่นซอร์สตัวเข้ารหัสสำหรับเวอร์ชัน 9

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

เนื่องจากฉันไม่คุ้นเคยกับโปรแกรมเปลี่ยนไฟล์เหล่านี้ฉันจึงสามารถยกตัวอย่างที่ยังไม่ทดลองเท่านั้น:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

รับ ffmpeg

คุณสามารถดาวน์โหลดลินุกซ์บิวด์ของ ffmpegหรือทำตามคำแนะนำการคอมไพล์ ffmpegทีละขั้นตอนเพื่อปรับแต่งบิลด์ของคุณ

การใช้ bash "for loop" เพื่อทำการเข้ารหัสแบบ batch

ในการเข้ารหัสวิดีโอทั้งหมดในไดเรกทอรี:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

ยังดู


5

ลองHandBrake

HandBrake เป็นเครื่องมือสำหรับการแปลงวิดีโอจากเกือบทุกรูปแบบเป็นตัวแปลงสัญญาณที่ทันสมัยรองรับอย่างกว้างขวาง หากต้องการติดตั้งเพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.