คุณภาพการแปลง VOB ใน FFmpeg


16

ฉันพยายามแปลงไฟล์ VOB เป็น mpeg ดังนี้:

./ffmpeg.exe -i VTS_01_2.VOB -r 24  out1.mpeg

อย่างไรก็ตามคุณภาพไม่ดีมาก

ฉันเหนื่อย ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

แต่ขนาดไฟล์ใหญ่เกินไป (90% ของต้นฉบับ - 300 MB สำหรับวิดีโอ 4 นาที) และ Windows Movie Maker หยุดพยายามนำเข้า

ฉันจะรับ MPEG คุณภาพดีจาก VOB ได้อย่างไร


ดูคำแนะนำในหัวข้อนี้: แปลงถอดรหัส. vobs เป็น. avi ด้วย ffmpeg บน Ubuntu
harrymc

คำตอบ:


28
ffmpeg -i input.vob -c:v copy -c:a copy output.mpg  

คำสั่งนี้ไม่ลดขนาดหรือเปลี่ยนแปลงคุณภาพ นี่แค่ลบล้าง VOB และบรรจุใหม่เป็น MPEG คุณควรจะเหลือคุณภาพที่แน่นอน ขนาดเปลี่ยนไปเล็กน้อยเนื่องจากสูญเสียโอเวอร์เฮดของคอนเทนเนอร์ VOB

ถ้าคุณต้องการรักษาคุณภาพและลดขนาดคุณจะต้องแปลงมันด้วยเอนโค้ดเดอร์อื่นเช่น x264 หรือ XviD เป็น MKV หรือคอนเทนเนอร์ MP4 ตัวอย่างเช่น:

ffmpeg -i input.vob -c:v libx264 -c:a aac -strict experimental output.mp4

นี่จะให้วิดีโอ H.264 และเสียง AAC ของคุณ ตั้งค่า-crf 23สำหรับคุณภาพวิดีโอโดยที่น้อยหมายถึงคุณภาพที่ดีขึ้น (ค่าสติมาจาก 18–28) คุณภาพเสียงสามารถเปลี่ยน-b:a 192kเป็นบิตเรตคงที่หรือหากคุณต้องการใช้โปรแกรมเปลี่ยนไฟล์อื่นเช่น-c:a libfaacคุณสามารถเลือก VBR ด้วย-q:a 100(คุณภาพเริ่มต้น 100%)


ฉันรู้ว่านี่เป็นข้อมูลที่ดีที่ควรทราบ ยังคงมองหาวิธีที่เหมาะสมในการบีบอัดและรักษาคุณภาพ (4 นาทีที่คุณภาพดีควรเป็นไปได้ใน 10-20 MB แน่นอน ... อาจจะถึง 50MB ก็ได้)

1
จะเกิดอะไรขึ้นถ้ามี VOB อื่นที่เป็นส่วนหนึ่งของภาพยนตร์ ffmpeg รู้ที่จะรวมสิ่งเหล่านั้นหรือไม่?
อาทิตย์ที่

1
คุณสามารถcat *.VOB > output.vob
dmgl

สำหรับ Windows ถ้าคุณต้องการเป็นครั้งแรกที่จะผสาน VOBs copy /b "1.vob" + "2.vob" + "3.vob" "temp.vob"หลาย ดูstackoverflow.com/a/29729610
Basj

4

เมื่อเร็ว ๆ นี้ฉันได้ทำการเข้ารหัส VOB หลังจากฉีกดีวีดีที่ไม่สามารถถูกแทนที่ได้สองสามแผ่น การใช้ffmpeg version 1.2.4out of Homebrew บน OSX:

ffmpeg -probesize 2G -analyzeduration 2G \
    -i VTS_04.VOB \
    -map 0:0 -map 0:1 -map 0:2 -map 0:9 \
    -metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
    -metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
    -metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
    -c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
    -c:a copy \
    -c:s copy \
    OutputMovie.mkv

ฉันต้องตั้งค่า-probesizeและ-analyzedurationเนื่องจากไฟล์ VOB ขนาด 5.4GB มีสตรีมเริ่มต้นในภายหลังในไฟล์ที่ไม่พบหากไม่มีตัวเลือกเหล่านี้

ถัดไป-mapพารามิเตอร์อนุญาตให้ฉันเลือกสตรีมที่จะส่งผ่านไปยังเอาต์พุต - สตรีมวิดีโอสองสตรีมเสียงแรกและสตรีมที่ 9 ซึ่งเป็นคำบรรยาย ใช้ffprobe(พร้อม-probesize& -analyzedurationเพื่อดูรายการสตรีม)

เพิ่มบาง-metadataเสียงและกระแสคำบรรยายในการส่งออก

วิดีโอการเข้ารหัสตัวเลือกหลังจากที่-c:vคุณสามารถอ่านข้อมูลเกี่ยวกับที่อื่น ๆ

ในที่สุดก็คัดลอกตามที่เป็นเสียงและคำบรรยายกระแสไปยังไฟล์ที่ส่งออก ผลลัพธ์จะต้องMKVฝังคำบรรยายและข้อมูลเมตาทั้งหมดอย่างถูกต้อง

ใน Macbook Air 2011 ของฉันการเข้ารหัสนี้ใช้เวลาประมาณ 6 ชั่วโมงและแตกไฟล์ MKV 2.4GB ที่สมบูรณ์แบบออกมา


-1

ไวยากรณ์ในคำตอบก่อนหน้านี้ใช้ไม่ได้กับ Mac OS ของฉัน สิ่งนี้ดูเหมือนว่าจะทำงานได้ดีโดยมีตัวเลือกที่แตกต่างกันเล็กน้อย ( -sameqเพื่อให้ตรงกับตัวนับควอไลเซอร์-ssสำหรับเวลาเริ่มต้นที่ชดเชยและ-tในช่วงเวลา):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg

3
คำตอบจะถูกจัดเรียงตามการลงคะแนนไม่ใช่ตามเวลา คุณควรแก้ไขคำตอบเพื่อให้ชัดเจนซึ่งคำตอบก่อนหน้านี้ที่คุณหมายถึง
Isaac Rabinovitch

1
คุณต้องใช้เวอร์ชันเก่าเนื่องจาก-sameqตัวเลือกล้าสมัย ในรุ่นเก่าใช้-vcodec/ -acodecแทน/-c:v -c:a
mark4o
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.