ฉันพยายามแปลงไฟล์ VOB ที่คัดลอกมาจาก DVD เป็น avi ใน Ubuntu 13.10 ฉันลองdvdrip
ซึ่งล้มเหลวเนื่องจากข้อผิดพลาดในการนับเฟรมหรือบางสิ่ง ฉันลอง acidrip ด้วย แต่ก็เลือกแทร็กเสียงที่ฉันไม่ต้องการใช้เสมอ ฉันต้องการมีโซลูชันบรรทัดคำสั่งเพื่อสร้าง avi ด้วยคุณสมบัติต่อไปนี้:
- ใช้งานได้กับ mplayer (เช่นการใช้ฟังก์ชั่นขั้นตอน)
- พร้อมคำบรรยายตามต้องการ (หรือไม่มีเลย)
- ด้วยแทร็กเสียงที่ถูกต้อง
- พร้อมซิงค์วิดีโอและเสียง
ฉันลองffmpeg
และavconv
คำสั่งและจัดการเพื่อสร้าง avi แต่วิดีโอและเสียงนั้นไม่ได้ซิงค์กันเลย ดังนั้นฉันควรใช้ตัวเลือกใดในการแปลงไฟล์ VOB เป็นไฟล์ avi
ฉันขอขอบคุณคำอธิบายเกี่ยวกับตัวเลือกที่แนะนำ!
ข้อมูลเพิ่มเติม:
ffmpeg
คำสั่งให้การส่งออกต่อไปนี้สำหรับแฟ้มใส่Input #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB': Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 8:9 DAR 4:3], 7500 kb/s, 27.68 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s Stream #0.3[0x81]: Audio: ac3, 0 channels [buffer @ 0x15ca6e0] w:720 h:480 pixfmt:yuv420p
คำสั่งดังต่อไปนี้
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
ตัวอย่างเช่นเกิดความผิดพลาดในเซสชัน Ubuntu ของฉัน
คำสั่งดังต่อไปนี้
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
ตัวอย่างเช่นเกิดข้อผิดพลาดต่อไปนี้:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
คำสั่งดังต่อไปนี้
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k output.avi
ตัวอย่างเช่นเกิดข้อผิดพลาดต่อไปนี้:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
คำสั่งดังต่อไปนี้
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a ac3 -b:a 128k output.avi
ตัวอย่างเช่นดูเหมือนว่าจะทำงานในบางเฟรม แต่เร็ว ๆ นี้ฉันพบข้อผิดพลาดมากมายของแบบฟอร์ม
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
คำสั่งดังต่อไปนี้
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
มีการแปลงบ้าง แต่ (i) ใช้คำบรรยายแม้ว่าฉันไม่ต้องการใช้พวกเขา (ii) ได้เสียงผิด (เสียงและวิดีโอหายไปอย่างน่ากลัว) และ (iii) ดูเหมือนจะช้ากว่าที่ภาพยนตร์จะใช้จริง 2 ชั่วโมงสำหรับภาพยนตร์ 90 นาที)
ฉันพยายามที่จะสั่งให้ที่นี่ (โพสต์ที่สามจาก Xeratul) แต่มันก็หยุดด้วยข้อผิดพลาด
FATAL: Cannot initialize video driver.
ฉันพยายามทำข้อเสนอแนะด้านล่างเพื่อดูที่หน้า mencoder หน้านี้แนะนำให้ใช้สองรอบ:
ครั้งแรกที่อ่านข้อมูลเกี่ยวกับภาพยนตร์ครั้งที่สองใช้ข้อมูลนั้นเพื่อเข้ารหัส
แต่ไม่ว่ามันจะมีการอธิบายซึ่งข้อมูลที่จะดึงหรือวิธีการที่จะใช้พวกเขาในรหัสผ่านที่สอง ดังนั้นฉันใช้คำสั่งต่อไปนี้:
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosound -ovc x264 \ -x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ -vf scale=-1:-10,harddup -o video.avi
ซึ่งทำการแปลงวิดีโอ แต่มีคำบรรยายที่ไม่ต้องการ มันไม่ชัดเจนเลยว่าฉันจะหลีกเลี่ยงการใช้คำบรรยายได้อย่างไร
avconv
แล้วแปลงไฟล์ VOB เป็น avi คำสั่งavconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
ให้ข้อผิดพลาดApplication provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
...
avconv -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi
ลองใช้ดู
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
mencoder yourvob -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o /dev/null
แล้วmencoder yourvob -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o video.avi
- เอาส่วนหนึ่งจาก Arch doc @ dg99 ที่เชื่อมโยง
ffmpeg
avconv
จะเลิกตั้งแต่เวลานานมาแล้วที่คุณควรจะใช้ทายาทของตัวเอง: