การตั้งค่าเบรกมือเพื่อแปลง MKV เป็น MP4 ในขณะที่ยังคงคุณภาพดั้งเดิมไว้


44

ฉันมีไฟล์ MKV หลายตันฉันต้องแปลงเป็น MP4 และซอฟต์แวร์ที่ฉันเลือกคือ Handbrake

ฉันติดอยู่กับการตั้งค่าที่ดีที่สุดสำหรับการแปลง ฉันต้องการรักษาคุณภาพไว้เต็ม ฉันเพิ่งแปลงด้วยการตั้งค่าดั้งเดิมและไม่เปลี่ยนแปลงอะไรหรือมีสิ่งใดที่ฉันต้องการเปลี่ยนแปลงหรือไม่?


นี่คือคำแนะนำโดยละเอียดเกี่ยวกับการตั้งค่าของ Handbrake mattgadient.com/2013/06/12/…
janot

ฉันได้รับข้อผิดพลาดในบางไฟล์ (สำหรับ mkv เป็น mp4 และ mp4 ถึง mkv): ไฟล์ที่ส่งออก # 0 ไม่มีกระแสข้อมูลใด ๆ มีใครมีความคิดว่านี่แปลว่าอะไร?
แบบดั้งเดิม

คำตอบ:


85

Handbrake มีปัญหาอะไร?

เมื่อคุณใช้ Handbrake เพื่อแปลงจากรูปแบบคอนเทนเนอร์หนึ่งไปเป็นอีกรูปแบบหนึ่ง (เช่น MKV เป็น MP4 ในกรณีของคุณ) Handbrake จะเข้ารหัสวิดีโออีกครั้ง ดูคำขอคุณลักษณะตามลำดับที่จะเปิดใช้งาน passthrough วิดีโอ:

ขออภัยไม่ได้วางแผนการเพิ่มวิดีโอสวิงผ่าน HandBrake ถูกออกแบบมาให้เป็นตัวแปลงสัญญาณวิดีโอ มันไม่ได้ออกแบบมาเพื่ออนุญาตให้ส่งผ่าน

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

ฉันต้องเข้ารหัสอีกครั้งหรือไม่ ฉันไม่สามารถเปลี่ยนคอนเทนเนอร์ได้หรือไม่

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

คุณสามารถสลับคอนเทนเนอร์ได้อย่างง่ายดายด้วยFFmpegคุณเพียงแค่บอกให้คัดลอกวิดีโอและสตรีมเสียง:

ffmpeg -i input.mkv -c copy -map 0 output.mp4

นอกจากนี้ยังมีเครื่องมือเช่นmp4boxซึ่งยังสามารถสร้างภาชนะ MP4 - เดียวกันที่มีอยู่สำหรับ MKV กับMKVtoolnix

อย่างไรก็ตามมีข้อแม้ขนาดใหญ่: ใช้งานได้เฉพาะหากตัวแปลงสัญญาณเสียงและวิดีโอได้รับการสนับสนุนในคอนเทนเนอร์เป้าหมาย (MP4) ซึ่งเป็นกรณีของ H.264 / H.265 และ AAC แต่ไม่ใช่สำหรับตัวอื่น ๆ มากมาย การรองรับรูปแบบคำบรรยายสำหรับ MP4 นั้นแตกต่างจาก MKV และจริง ๆ แล้วค่อนข้าง จำกัด ดังนั้นคำสั่งนี้อาจล้มเหลว

ถ้าคำสั่งนี้ไม่ได้ทำงานและถ้าใส่ของคุณใช้ตัวแปลงสัญญาณที่ไม่ถูกต้องสำหรับภาชนะออกคุณอาจจะต้องมีการเข้ารหัสใหม่ ในกรณีนี้ตัวแปลงสัญญาณจะถูกปรับให้เข้ากับเอาท์พุทคอนเทนเนอร์

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

ทำไมการเข้ารหัสซ้ำจึงไม่ดี

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

บ่อยครั้งที่คุณต้องการเข้ารหัสวิดีโออีกครั้งเมื่อขนาดมีการเปลี่ยนแปลงหรือคุณต้องการอัตราบิตเฉพาะเพื่อบีบสตรีมวิดีโอของคุณเข้ามาหรือวิดีโอต้นฉบับของคุณใช้ตัวแปลงสัญญาณที่คุณไม่สามารถเล่นด้วยเหตุผลใด ๆ

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

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

โอเค แต่ฉันต้องเข้ารหัสอีกครั้งจริง ๆ !

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

Sane CRF มีค่าตั้งแต่ 19 ถึง 24 โดยที่ต่ำกว่าหมายถึง "ดีกว่า" ดังนั้นคุณสามารถลองใช้ Rate Factor ที่ 19 ได้เช่นกันตรวจสอบให้แน่ใจว่าได้ตั้งค่าโปรไฟล์ "สูง" ซึ่งทำให้ตัวเข้ารหัสสามารถใช้ระฆังและนกหวีดทั้งหมดและปรับคุณภาพของบิตเรทให้เหมาะสม


ขอขอบคุณ! ดูเหมือนว่าคุณเป็นคนเดียวที่ดูเหมือนจะสนใจคำถามนี้และช่วยฉันฉันทำตามคำแนะนำของคุณและดูเหมือนว่าคุณภาพจะเหมือนเดิม! :)
สีส้ม

สำหรับไฟล์ mkv บางไฟล์จะล้มเหลวด้วย (ไม่สามารถเขียนส่วนหัวสำหรับไฟล์เอาต์พุต ... ตัวแปลงสัญญาณที่ไม่ถูกต้อง) ใช้ ffprobe -i file.mkv เพื่อดูว่าฟอร์แมต a / v อยู่ในรูปแบบใดคุณอาจต้องเข้ารหัสวิดีโอ x264 และ aac / ac3 audio อีกครั้ง
ski_squaw

คุณแน่ใจ 100% ว่าการ rewrapping ไฟล์ไม่ทำให้คุณภาพลดลง
PrimitiveNom

1
@BallpointBen เป็นไปไม่ได้ไม่: github.com/HandBrake/HandBrake/issues/…
slhck

1
@Hashim ฉันพยายามชี้แจงโพสต์ตามที่ร้องขอ และเกี่ยวกับคำถามของคุณเนื่องจาก Handbrake ไม่อนุญาตให้ส่งผ่านการแปลงจาก MP4 เป็น MKV จะทำให้เกิดการสูญเสียคุณภาพ และจะใช้เวลานานมาก เพียงแค่ทำffmpeg -i input.mp4 -c copy output.mkvและคุณควรจะสบายดี
slhck

4

มันใช้งานได้ดีมากสำหรับฉัน ด้านล่างเป็นโค้ดสำหรับแปลงไฟล์. mkv เป็น. mp4 ทั้งหมดใน windows

  • คุณอาจต้องเพิ่ม ffmpeg ให้กับเส้นทางของคุณ คุณสามารถใส่พา ธ แบบเต็มไปยังไฟล์ปฏิบัติการ ffmpeg, D: \ apps \ ffmpeg \ bin \ ffmpeg.exe
  • ดาวน์โหลด ffmpeg สำหรับ windows ได้ที่นี่
  • การใช้งาน: วางไฟล์. mkv ลงไป มันจะทำไดเรกทอรีทั้งหมด

บันทึกในไฟล์ชื่อ convert.bat

for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
pause

ทำงานเหมือนจับใจ
Kit Johnson

ฉันใส่สิ่งนี้ไว้ในโฟลเดอร์ที่มี ffmpeg.exe และเปลี่ยนเป็นfor %%a in ("*.mkv") do %~dp0ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
davidtbernal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.