ฉันจะรวมสองไฟล์ * .srt ได้อย่างไร


11

โปรดดูนี้คำถาม

ฉันมีเพียงแค่สองรวมไฟล์ avi cd1.aviและcd1.aviเข้าmovie.aviใช้:

avimerge -o movie.avi -i cd{1,2}.avi

ปัญหาคือฉันต้องบรรยายไฟล์ที่เชื่อมโยงกับaviไฟล์แรก:

cd1.srt
cd2.srt

ตอนแรกฉันพยายามที่จะต่อไฟล์เข้าด้วยกัน:

cat cd{1,2}.srt > movie.srt

แต่นั่นทำให้เกิดความเสียหายกับคำบรรยาย ... คำแนะนำใด ๆ ?

คำตอบ:


19

สิ่งนี้ทำได้ค่อนข้างเล็กน้อยเนื่องจาก.srtไฟล์เป็นเพียงไฟล์ข้อความที่มีการประทับเวลา - สิ่งที่คุณต้องทำคือเพิ่มความยาวของcd1.aviเวลาของคำบรรยายcd2.srtทั้งหมด คุณสามารถค้นหาความยาวของcd1.aviด้วยffmpeg:

ffmpeg -i cd1.avi  # Look for the Duration: line

แล้วเพิ่มสิ่งนั้นลงในการcd2.srtใช้srttool

srttool -d 12345 -i cd2.srt  # 12345 is the amount to add in seconds

หรือ:

srttool -a hh:mm:ss -i cd2.srt  # The first subtitle will now start at hh:mm:ss

จากนั้นคุณควรจะสามารถเชื่อมไฟล์เข้าด้วยกันและทำการเรียงหมายเลขใหม่:

srttool -r -i cd.srt

ฉันเลือกsrttoolเพราะใน Arch มันมาพร้อมกับtranscodeที่คุณติดตั้งสำหรับคำถามนี้ ; มีเครื่องมืออื่น ๆ อีกมากมายที่สามารถเลื่อนและรวม.srtไฟล์ได้ด้วยและอย่างน้อยหนึ่งเว็บไซต์ก็จะจมลงใต้น้ำ


+1 ขอบคุณไมเคิลขอขอบคุณสำหรับความพยายามของคุณกับคำถามของฉัน
Stefan

1
ขอบคุณ! มันใช้งานได้ดีมาก ปัญหาเดียวที่ฉันพบคือ srttool วางเอาท์พุทไปยังบรรทัดคำสั่ง ที่จริงแล้วฉันไม่ได้แก้ไขไฟล์ที่คุณต้องการ การเปลี่ยนเส้นทางเล็กน้อย (>) และ WHAMMO ทำงานได้อย่างสมบูรณ์แบบ นี่เป็นความช่วยเหลือครั้งใหญ่และขอบคุณมาก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.