2009-12-13 3 views
1

Я пытаюсь извлечь субтитры из незашифрованных DVD-дисков с помощью программы, поэтому я могу сохранить их отдельно. Я знаю, что есть программы, которые это делают (я нашел эту страницу, например: http://www.bunkus.org/dvdripping4linux/en/separate/subtitles.html), но я хотел бы иметь возможность сделать это с помощью вызова библиотеки или чего-то подобного (например, libdvdread или libdvdnav), предпочтительно используя ruby.Извлечение субтитров DVD программно

ответ

0

Я не знаю ни одной библиотеки, которая могла бы это сделать.

В рубине вы можете позвонить программам. Например, чтобы получить список каталогов, вы можете сделать

files= `ls "#{dir}"`.to_a 

Вариант backtick дает вам стандартную программу calle.

Чтобы узнать Wheter файл существует

system("ls \"#{file}\"") 

system вариант говорит вам, возвращаемое значение вызываемой программы, было ли 0.

Используя эти два метода, вы можете делать почти все с неинтерактивными программами. Программы, описанные в классе http://www.bunkus.org/dvdripping4linux/en/separate/subtitles.html, подходят для такого управления.

Будьте осторожны, избегая аргументов, которые вы предоставляете внешним программам. Если argumend "; rm -rf *; ls "., могут возникнуть нежелательные вещи.

+1

Используйте 'system (" ls ", file)' вместо этого, чтобы избежать инъекций. –

1

Вы можете взглянуть на ручной тормоз, он позволяет извлекать видео, аудио и субтитры.

Существует также руководство Handbrake here, а раздел субтитров here, который может предоставить дополнительную информацию.

Это не в Ruby, но вы можете иметь возможность вызвать CLI Handbrake из Ruby без проблем.

+0

Пожалуйста, не используйте короткую ссылку, если хотите связать источник. Используйте полный URL. – j0k

 Смежные вопросы

  • Нет связанных вопросов^_^