แปลง MKV ด้วยเสียง DTS เป็นวิดีโอ MP4 พร้อมเสียง AAC หรือ AC3


13

ฉันมีภาพยนตร์ขนาด 4.3 GB 720p และต้องการแปลง MKV นี้ด้วยเสียง DTS เป็นวิดีโอ MP4 พร้อมเสียง AAC หรือ AC3

บางครั้งฉันก็:

ffmpeg: unrecognized option '-c:v'

…และ:

aac unrecognized

¬และสิ่งอื่น ๆ ที่คล้ายกัน

ฉันต้องการให้ภาพยนตร์เรื่องนี้มีขนาดเล็กเหมือนที่พบในเว็บไซต์ฝนตกหนัก


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

คำตอบ:


19

ให้แน่ใจว่าคุณเรียกใช้รุ่นล่าสุดของFFmpeg สำหรับ Windows และ Linux การสร้างสแตติกจะเป็นประโยชน์จากหน้าแรก สำหรับ MacOS คุณสามารถติดตั้ง FFmpeg ผ่านHomebrew

จากนั้นในกรณีที่เรียกใช้ง่ายที่สุด:

ffmpeg -i input.mkv -c:v libx264 -c:a aac out.mp4

การตั้งค่าคุณภาพวิดีโอ

สำหรับการควบคุมคุณภาพของวิดีโอตั้งพารามิเตอร์ที่เริ่มต้นถึง 23 ต่ำแสดงว่ามีคุณภาพดีกว่า แต่ขนาดไฟล์ที่สูงขึ้น ลองใช้ค่าระหว่าง 19 ถึง 26 เพื่อดูว่าเหมาะสมที่สุดหรือไม่ นอกจากนี้คุณยังสามารถตั้งค่าอัตราบิตบางอย่างขึ้นอยู่กับขนาดไฟล์ที่คุณต้องการ ตัวอย่างเช่น 500 kBit / s:crf

ffmpeg -i input.mkv -c:v libx264 -crf 23 …
ffmpeg -i input.mkv -c:v libx264 -b:v 500k …

-b:aสำหรับเสียงคุณสามารถตั้งค่าอัตราบิตเกินไปกับ

เสียงหลายช่องทาง

หากกระแสข้อมูลเสียงของคุณใช้หลายช่องสัญญาณ (เช่นเสียง 5.1) คุณจะต้องใช้โปรแกรมเข้ารหัส AAC อื่น ( libfdk_aac) ตัวเข้ารหัสนี้ไม่สามารถใช้ได้ในการสร้างแบบคงที่ แต่สามารถรับได้ด้วยรุ่น ffmpeg ที่บรรจุล่วงหน้า / Homebrew

ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a libfdk_aac -b:a 384k out.mp4

กำลังคัดลอกสตรีมทั้งหมด

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

ใช้-map 0เพื่อแนะนำ ffmpeg ให้รับสตรีมทั้งหมดจากไฟล์อินพุต (ดูFFmpeg Wikiสำหรับข้อมูลเพิ่มเติม) สิ่งนี้มีประโยชน์สำหรับการเก็บรักษาภาษาและคำบรรยายต่าง ๆ ที่อาจมีอยู่ในต้นฉบับ

ffmpeg -i input.mkv -c:v libx264 -c:a aac -map 0 out.mp4

2

MKV เป็นเพียงภาชนะบรรจุ คุณสามารถมีวิดีโอ MPEG-4 ภายใน.mkvคอนเทนเนอร์

คำแนะนำของฉันคือ:

พุชไฟล์ไปที่.mkvคอนเทนเนอร์:

mkvmerge -o newfile.mkv inputfile.m4v

รับmkvdts2ac3.shสคริปต์พร้อมใช้งานที่นี่และเรียกใช้คำสั่งนี้:

mkvdts2ac3.sh newfile.mkv

ทำ!

ทีวีของฉันรองรับ AC3 แต่ไม่ใช่ DTS ดังนั้นการตั้งค่านี้จึงมหัศจรรย์สำหรับฉัน

โปรดทราบว่าmkvdts2ac3.shมีข้อกำหนดการพึ่งพาบางอย่างที่เป็นพื้นฐาน คุณจะเห็นพวกเขาเมื่อคุณเรียกใช้สคริปต์


root @ Frenzen: ~ / Downloads / 2.Days.In.New.York.2012.720p.BluRay.X264- 7SinS # mkvmerge -o 7s-2days-in-ny-720p.mkv inputfile.m4v mkvmerge v3.0.0 (' วางสาย Hang-Ups ของคุณ ') สร้างเมื่อวันที่ 29 ธันวาคม 2009 00:24:14 ข้อผิดพลาด: ไม่สามารถเปิดไฟล์ต้นฉบับ' inputfile.m4v 'ได้สำเร็จหรือการดึงขนาดโดยการค้นหาจนถึงจุดสิ้นสุดไม่ทำงาน root @ Frenzen: ~ / Downloads / 2.Days.In.New.York.2012.720p.BluRay.X264-7SinS #
dale

ฟังดูเหมือนไฟล์อินพุตเสียหาย
UtahJarhead

@ เดลคุณช่วยกรุณารวมเอาท์พุทที่ฉันถามคุณในความคิดเห็นเกี่ยวกับคำถามเดิมของคุณ? นั่นจะช่วยเราแก้ไขปัญหาของคุณ
slhck

นอกจากนี้ UtahJarhead OP ดูเหมือนว่าต้องการไฟล์ผลลัพธ์ MP4 จากไฟล์อินพุต MKV เขาไม่มีm4vไฟล์ซึ่งเป็นสาเหตุที่คำสั่งของคุณไม่ทำงาน นอกจากนี้เดลยังใช้ไวยากรณ์ที่ไม่ถูกต้องโดยระบุไฟล์ที่มีอยู่ของเขาเป็นเอาต์พุตและกำหนดinputfile.m4vเป็นอินพุตซึ่งไม่มีอยู่จริง
slhck

mp4 เป็นตัวแปลงสัญญาณไม่ใช่คอนเทนเนอร์ mkv เป็นคอนเทนเนอร์ไม่ใช่ตัวแปลงสัญญาณ นั่นเหมือนกับการพูดว่าพวกเขาต้องการสร้างโรงรถจาก Cadillac ตัวแปลงสัญญาณอะไรคือไฟล์อินพุต. mkv เพราะอาจสร้างความแตกต่าง
UtahJarhead

1

คุณสามารถทำสิ่งนี้:

ffmpeg -i input.mkv -c:v copy -c:a libfaac out.mp4

หรือถ้าไม่มีความสุขลองแก้ไข bitstream ภายใน

การแปลงเป็นสเตอริโอและ asc:

ffmpeg -i input.mkv -c:v copy -c:a libfaac    \
-bsf:a aac_adtstoasc -ac 2 -ar 48000 -ab 256k \
out.mkv

หากเป็น 5.1 เสียงรอบทิศทางและเสียงที่ได้ยินยากเป็นเพราะกล่องโต้ตอบอยู่ที่ช่องกลางและคุณได้ยินเฉพาะเสียงไมค์จากช่อง R & L แต่เสียงดนตรีและเสียงเฟื่องฟู

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

ffmpeg -i input.mkv -c:v copy -c:a libfaac -bsf:a aac_adtstoasc   \
  -af aresample=matrix_encoding=dplii -ac 2 -ar 48000 -ab 256k    \
  out.mkv

0

ดังที่@UtahJarhead กล่าวว่า MKV เป็นคอนเทนเนอร์ โดยทั่วไปสิ่งที่คุณต้องการคือการแปลงเสียง DTS เป็น AC3 หรือ AAC

วิธีที่ดีที่สุดในการทำเช่นนี้คือใช้ FFmpeg สำหรับเสียงและ MKVToolNix เพื่อรวมเสียงและวิดีโอ

ถ้าคุณต้องการ GUI แทนของคำสั่งที่ผมอธิบายวิธีการทำเช่นนี้ได้ที่นี่: การแปลงเสียงได้รับการสนับสนุนจากวิดีโอ


1
คุณควรอธิบายกระบวนการที่นี่จากนั้นให้ลิงค์ดาวน์โหลดไปยังแอปพลิเคชัน
Ramhound

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