บรรทัดคำสั่ง Mkvmerge บน Windows ไม่ทำงานกับหลายภาษาคำบรรยาย


2

ฉันกำลังพยายามที่จะรวมคำบรรยายหลายภาษาไว้ในไฟล์เดียวกัน (MKV เป็นเอาต์พุต) แต่มันไม่ทำงาน ฉันลองทำสิ่งต่อไปนี้จากไฟล์แบตช์:

FOR /R %%A IN (*.mp4 *.webm) DO mkvmerge -o "%%~nA.mkv" "%%~A" --language 0:eng "%%~nA.en.srt" --language 1:spa "%%~nA.es.srt" --language 2:ger "%%~nA.de.srt" --language 3:por "%%~nA.pt.srt"

ผมทำอะไรผิดหรือเปล่า?

I get the following result:
Error: The file 'video1.en.srt' could not be opened for reading: open file error.

กำลังอ่านไฟล์ทั้งหมดอย่างถูกต้อง แต่จะไม่ประมวลผลคำสั่ง


คุณแน่ใจหรือvideo1.en.srtไม่ว่ามีอยู่ในไดเรกทอรีที่มีการใช้งานFORลูป เพื่อให้แน่ใจว่า ... หรืออาจจะเปิดในโปรแกรมอื่นที่ไม่มีSHARE_READสิทธิ์ ...
zx485

ใช่. มันมีอยู่ แต่บางครั้งก็ไม่มี บางครั้งฉันได้รับ es.srt แทนที่จะเป็น en.srt เพราะวิดีโอบางรายการมีคำบรรยายเป็นภาษาอังกฤษบางรายการเป็นภาษาสเปน คุณคิดว่าเป็นปัญหาหรือไม่? ถ้าใช่ฉันจะแปลอัตโนมัติทั้งหมดเพื่อ en.srt
GL

1
ฉันเดาว่าคุณต้องตรวจสอบว่ามีไฟล์อยู่ก่อนส่งต่อmkvmergeหรือไม่
zx485

ตกลง. ฉันจะทดสอบวันนี้ถ้ามันจะแก้ปัญหาได้ นั่นคือฉันมีชุดเพื่อบันทึกวิดีโออัตโนมัติใน "en.srt" ฉันไม่คิดว่ามันจะใช้งานได้ แต่ฉันจะลอง
GL

คำตอบ:


0

ตอนนี้คำสั่งของฉันทำงาน

zx485 ถูกต้อง ไฟล์ทั้งหมดจะต้องมีอยู่เพื่อให้มันทำงานได้ นอกจากนี้ค่าสถานะภาษาทั้งหมดจะต้องตั้งค่าเป็นศูนย์เพื่อให้สามารถใช้งานได้

FOR /R %%A IN (*.mp4 *.webm *.avi) DO mkvmerge -o "%%~nA.mkv" "%%~A" --language 0:eng "%%~nA.en.srt" --language 0:spa "%%~nA.es.srt" --language 0:ger "%%~nA.de.srt" --language 0:por "%%~nA.pt.srt"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.