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 ...
.assthành SubRip (.srt) ... Chỉ có một điều tôi chưa biết: nó tạo ra \r\nkế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 sednế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 .srttệ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 sedsẽ đặt tên cho nó bigassinsured. Không có sedvà 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