LINUX.ORG.RU

DVD to plain AVI


0

0

Прочитал кучу руководств в инете по конвертации DVD в MPEG4 и т.п. форматы, но у меня есть иной вопрос.

Представим ситуацию: есть DVD диск с 2 фильмами, каждый содержит русскую и английскую звуковые дорожки, а также субтитры на перечисленных языках.

Первый вопрос: как перегнать второй фильм на диске с английской звуковой дорожкой и нарисованными (т.е. встроенными в видео ряд) же английскими субтитрами в plain (т.е. несжатый) AVI файл + звук превратить из AAC в WAV PCM.

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

Третий вопрос: см вопрос 1, но только субтитры в отдельный известный kaffeine/media player classic формат.

Если не трудно, приведите команды для mencoder/transcode/etc.

★★★★★

По поводу обычного конвертирования зайди в faq.

Субтитры впрямую не встроить (ну, можно обходным маневром - раскидать потоки видео и субтитров в картинки, затем их склеить и собрать видеоряд обратно).

Лучше и проще забрать их прямо с DVD. Ты очень ленивый, посколько в man mplayer это написано:

-dumpsub (MPlayer only) (BETA CODE)
Dumps the subtitle substream from VOB streams. Also see the -dump*sub and
-vobsubout* options.

Займет метров сто, наверно. Их после этого можно сконвертить. А с помощью transcode и проекта gocr английские ты сможешь перевести в текстовый формат. Если я не путаюсь в скриптах, то делалось это так:

----------грабим субтитры----------

#!/bin/sh

# Устанавливаем имена входных файлов

OUTF=all.srt
PSF=en
CODE=0x20

READYPH=/mnt/dos/dvd/ready
PH=/mnt/dos/dvd
PHT=/mnt/dos/dvd/pgm

cat *.vob | tcextract -x ps1 -t vob -a $CODE > $PHT/$PSF

subtitle2pgm -o $PHT/$PSF -c 255,255,0,255 < $PHT/$PSF

pgm2txt -f $PHT/$PSF $PHT/$PSF

srttool -s -i $PHT/$PSF".srtx" -o $READYPH/$OUTF

rm ./pgm/*

--------------------------

Если авишки делим на две-три части, то субтитры тоже нужно поделить:

--------------------------деление---------------------

#!/bin/bash

#Название части

READYPH=/mnt/dos/dvd/ready

#Смещение времени
SHIFT=00:00:05,011

#Номера последнего в первом файле и первого во втором строк субтитров
KEY=646
KEY2=647


srttool -c 1,$KEY -i $READYPH/all.srt -o $READYPH/part1.srt
srttool -r -c $KEY2,9999 -a $SHIFT -i $READYPH/all.srt -o $READYPH/part2.srt

---------------------------

И под конец во второй, к примеру, части нужно сдвинуть время:

---------------------------сдвигаем---------------------------

#!/bin/bash

#Название части

OUTF=part2
READYPH=/mnt/dos/dvd/ready

#Время начала

SHIFT=00:00:00,800

#Время высчитывается так:
# t(shift) = t(sub) - t(pp) + 1 sec, где
#
# t(sub) - время в получившемся субтитре,
# t(pp) - общая длительность предыдущих частей

srttool -a $SHIFT -i $READYPH/$OUTF".srt" -o $READYPH/$OUTF"-new.srt"

------------------------------------


jackill ★★★★★
()

Теперь о звуке. По кой тебе перегонять качественный звук в плоскую помойку, которая занимает огромное количество места?

Два варианта - скидываешь звук с помощью (для файлов лень приводить команду, вместо alang можно aid с номером от 128)

mplayer dvd://1 -alang ru -dumpaudio -dumpfile твой_звук.ac3

Далее тупо его разворачиваешь чем хочешь, хоть xmms'ом в wav и приклеиваешь (avimerge) к avi-шнику.

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.