ฉันพยายามที่จะแยกคำบรรยายจากภาพยนตร์ MP4 และ MKV ฉันใช้ mp4box (บน OS X) แต่ไม่สามารถหาวิธีการใช้งานได้
คำใบ้ใด ๆ
ฉันพยายามที่จะแยกคำบรรยายจากภาพยนตร์ MP4 และ MKV ฉันใช้ mp4box (บน OS X) แต่ไม่สามารถหาวิธีการใช้งานได้
คำใบ้ใด ๆ
คำตอบ:
MP4Box ที่ฟรีและข้ามแพลตฟอร์มใช้ได้กับคอนเทนเนอร์ MP4 หรือ 3GP เท่านั้น คุณสามารถติดตั้งได้จากหน้าแรก ก่อนอื่นคุณต้องดูที่แทร็คต่างๆและดูว่า ID ใดเป็นของแทร็กคำบรรยาย
MP4Box -info input.mp4
ดูรหัสถัดจากแทร็กคำบรรยาย จากนั้นตามรหัสแทร็คที่<trackId>
คุณต้องการแตกให้เรียกใช้คำสั่งต่อไปนี้:
MP4Box -raw <trackID> input.mp4
หรือหากต้องการส่งออกไปยังรูปแบบ SRT ที่ใช้กันทั่วไป:
MP4Box -srt <trackID> input.mp4
ในการแยกคำบรรยายออกจากไฟล์ Matroska (MKV) คุณจำเป็นต้องมีmkvtoolnix
แพ็คเกจโอเพ่นซอร์สฟรี พวกเขามาสำหรับ Windows และ Linux และ Mac คุณสามารถติดตั้งพวกเขาผ่านHomebrewbrew install mkvtoolnix
กับ
จากนั้นตรวจสอบไฟล์:
mkvmerge -i input.mkv
นี่จะแสดงรายการแทร็กตัวอย่างเช่นนี้:
File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)
อ้างอิง ID ของแทร็กเรียกคำสั่งต่อไปนี้โดยที่<trackID>
คุณระบุไว้ข้างต้น <output>
เป็นเพียงชื่อจำลองคุณสามารถใช้สิ่งที่คุณต้องการ
mkvextract tracks input.mkv <trackID>:<output>.srt
ดังนั้นในกรณีของเรานั่นจะเป็น:
mkvextract tracks input.mkv 3:subs.srt
MP4Box
Arch Linux คุณต้องติดตั้งgpac
จาก repo ชุมชน
นี่เป็นวิธีแก้ปัญหาสำหรับทุกรูปแบบไฟล์ที่รองรับffmpeg
(รองรับไฟล์รีโมต):
ffmpeg -i video.mp4 subtitle.srt
ffmpeg
มีอยู่ใน Ubuntu รุ่นใหม่กว่าโดยค่าเริ่มต้นสำหรับ Mac OS X และ Windows คุณจะต้องติดตั้ง (โดยการดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการหรือผ่านโฮมบรูว์)
นี่video.mp4
คือชื่อไฟล์วิดีโอโลคัลหรือรีโมตต้นทางและsubtitle.srt
เป็นชื่อไฟล์คำบรรยายเอาต์พุต มันเป็นสิ่งสำคัญที่จะระบุนามสกุลไฟล์สำหรับเอาท์พุทเนื่องจากffmpeg
ตรวจพบสิ่งที่คุณต้องการที่จะแยกมัน นั่นคือคุณสามารถระบุ.mp3
นามสกุลไฟล์เพื่อแยกเสียง mp3 จากไฟล์วิดีโอหรือเพียงแค่ตั้งค่าคอนเทนเนอร์วิดีโออื่นเพื่อแปลงระหว่างรูปแบบ
MP4Box
ในgpac
แพ็คเกจพร้อมใช้งานผ่าน apt-get