Câu trả lời:
Phụ đề con dao quân đội perl swiss (cuộn đến cuối trang).
Ở đây bạn có thể tìm thấy nhiều lựa chọn hơn.
Ngoài ra, mplayer / mencoder có một số tùy chọn dumpXXXsub, có thể hoạt động. Tôi chưa bao giờ thử điều này, nhưng đọc người đàn ông, nó sẽ làm việc. Thí dụ:
-dumpmpsub (MPlayer only)
Convert the given subtitle (specified with the -sub option) to MPlayer's subtitle format, MPsub. Creates a dump.mpsub file in the current directory.
Chương trình mã nguồn mở Subtitle Edit có trình chuyển đổi dòng lệnh và có sẵn cho cả Windows và Linux.
Cú pháp :
SubtitleEdit /convert "pattern" "name-of-format-without-spaces"
Ví dụ 1 :
SubtitleEdit /convert sub1.srt sami
Kết quả : Sẽ chuyển đổi sub1.srt sang sub1.sub sang định dạng SAMIVí dụ 2 :
SubtitleEdit /convert *.srt adobeencore
Kết quả : Sẽ chuyển đổi tất cả các tệp .srt sang định dạng Adobe Encore
Đối với Linux , dòng lệnh cần dài hơn một chút
Cú pháp :
mono SubtitleEdit.exe /convert "pattern" "name-of-format-without-spaces"
Có thể dễ dàng được bao bọc trong một kịch bản.
libmono-winforms
để GUI hoạt động (như đã nêu trong README) ... Có thể cần thêm một cái gì đó để CLI hoạt động ... Tôi gặp AttachConsole...
lỗi. sử dụng Ubuntu 10.04 ...
.ass
thành SubRip (.srt) ... Chỉ có một điều tôi chưa biết: nó tạo ra \r\n
kết thúc dòng (CRLF), ngay cả khi kết thúc dòng nguồn là \n
... nhưng điều đó hiếm khi là một vấn đề và dễ dàng được khắc phục sed
nếu Cần được.
Bạn muốn chuyển đổi chính xác là gì? Nếu nó nằm giữa các định dạng phụ đề thì nó phụ thuộc vào định dạng mà bạn đang nói đến. Những người dựa trên bitmap sẽ yêu cầu OCR chuyển đổi sang định dạng văn bản và thường luôn yêu cầu người dùng nhập liệu để xác nhận tính chính xác của OCR
Nếu đó là tất cả các định dạng văn bản sau đó Jubler hoặc Aegisub có thể được sử dụng
đổi tên tập tin bằng sed
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" ; done
nếu bạn muốn xóa .srt
tệp sau khi chuyển đổi, chỉ cần thêm lệnh rm sau đó.
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" && rm -f "$i" ; done
big.assassins.assured
(cộng với phần mở rộng) thì sao? Bạn sed
sẽ đặt tên cho nó bigassinsured
. Không có sed
và không có lỗ hổng này : "${i%.ass}.srt"
.
#!/bin/bash
file="*.srt" # Find file
ffmpeg -i "$file" "${file%.*}.vtt" # Convert file
rm "$file" # Remove file .srt from your dir