segunda-feira, 4 de maio de 2009

Convertendo AVI em DVD, Add Legenda e Queimando

Convertendo AVI em DVD, Add Legenda e Queimando

O ffmpeg é uma poderosa ferramenta para conversão de áudio e vídeo, e suporta nativamente uma série de codecs. Para converter um arquivo de vídeo qualquer em formato DVD Widescreen, utilizamos o comando

ffmpeg -i arquivo.avi -target ntsc-dvd -aspect 16:9 arquivo.mpg

Ou para o formato de TV

ffmpeg -i arquivo.avi -target ntsc-dvd -aspect 4:3 arquivo.mpg

Isto toma como entrada (-i) o vídeo arquivo.avi e gravará o resultado em arquivo.mpg O -aspect especificado também pode ser numérico, conforme a tabela abaixo

Aspect Ratio Codes
-aspect Tamanho
1 1:1 pixels
2 4:3 display
3 16:9 display (widescreen)
4 2.21:1 display (cinema)

Melhorando a qualidade

Existem uma série de switches do ffmpeg que podem ser usados para melhorar a qualidade do vídeo, entre elas, podemos alterar o -qmin e também efetuar a conversão em duas passagens. Para isso executaremos dois comandos

ffmpeg -i arquivo.avi -target ntsc-dvd -qmin 1 -aspect 16:9 -pass 1 -y arquivo.mpg
ffmpeg -i arquivo.avi -target ntsc-dvd -qmin 1 -aspect 16:9 -pass 2 -y arquivo.mpg

Na primeira conversão (pass 1) ele gera um arquivo de log com detalhes sobre todas as cenas. Na segunda vez (pass 2) ele lê este arquivo e utiliza estas informações para melhorar a qualidade final do vídeo. O switch -y faz com que qualquer arquivo seja sobreescrito caso já exista. Apesar de termos especificado -aspect 16:9, é possível especificar outro aspecto caso o vídeo não seja widescreen.

Adicionando legendas

Para adicionar legendas ao recém-gerado arquivo.mpg, utilizaremos o utilitário spumux, que faz parte do pacote dvdauthor. É necessário criar um arquivo de configuração, que chamaremos de spumux.xml






Este arquivo está especificando o arquivo de legendas sub.srt com a fonte Vera.ttf tamanho 24. O arquivo de fonte deve estar presente em ~/.spumux/Vera.ttf. Para adicionar as legendas ao arquivo mpeg, certifique-se que elas se encontram no arquivo sub.srt no mesmo diretório do arquivo spumux.xml, e execute

spumux spumux.xml <> dvd.mpg

Isso adicionará as legendas e gravará o resultado em dvd.mpg.

Gerando a estrutura do DVD

Discos de vídeo DVD têm uma estrutura especial, que é gerada pelo dvdauthor com o arquivo de configuração dvdauthor.xml







Isto especifica que será criado um dvd chamado DVD, a partir do arquivo dvd.mpg, com quatro capítulos, nos pontos zero, trinta segundos, cinco minutos e dez minutos e quinze segundos, especificados no formato hh:mm:ss (é possível omitir a hora como mostra o exemplo). Para gerar o dvd, executar no mesmo diretório do arquivo dvd.mpg

dvdauthor -x dvdauthor.xml

Com isso será criado um subdiretório DVD com as pastas VIDEO_TS e AUDIO_TS. A estrutura deve ser semelhante à apresentada abaixo

AUDIO_TS:

VIDEO_TS:
VIDEO_TS.BUP VTS_01_0.BUP VTS_01_1.VOB VTS_01_3.VOB
VIDEO_TS.IFO VTS_01_0.IFO VTS_01_2.VOB VTS_01_4.VOB

Gerando o .iso e gravando o disco

Os arquivos no DVD não podem ser gravados de qualquer maneira. Para que exista compatibilidade entre todos os players, existe uma ordem correta em que eles devem ser gravados no disco, o que não é problema, pois o famoso mkisofs já possui a opção -dvd-video que gera o ISO no formato adequado. Para isso executamos

mkisofs -o dvd.iso -dvd-video DVD/

Onde -o especifica o arquivo de saída e DVD/ é o diretório gerado pelo dvdauthor. Com a imagem pronta, é possível listá-la com o comando

isoinfo -i dvd.iso -l

A saída deste comando deve ser parecida com

Directory listing of /
d--------- 0 0 0 2048 Aug 14 2004 [ 282 02] .
d--------- 0 0 0 2048 Aug 14 2004 [ 282 02] ..
d--------- 0 0 0 2048 Aug 14 2004 [ 284 02] AUDIO_TS
d--------- 0 0 0 2048 Aug 11 2004 [ 283 02] VIDEO_TS

Directory listing of /AUDIO_TS/
d--------- 0 0 0 2048 Aug 14 2004 [ 284 02] .
d--------- 0 0 0 2048 Aug 14 2004 [ 282 02] ..

Directory listing of /VIDEO_TS/
d--------- 0 0 0 2048 Aug 11 2004 [ 283 02] .
d--------- 0 0 0 2048 Aug 14 2004 [ 282 02] ..
---------- 0 0 0 8192 Aug 12 2004 [ 289 00] VIDEO_TS.BUP;1
---------- 0 0 0 8192 Aug 12 2004 [ 285 00] VIDEO_TS.IFO;1
---------- 0 0 0 81920 Aug 12 2004 [2191612 00] VTS_01_0.BUP;1
---------- 0 0 0 81920 Aug 12 2004 [ 293 00] VTS_01_0.IFO;1
---------- 0 0 0 88064 Aug 12 2004 [ 333 00] VTS_01_0.VOB;1
---------- 0 0 0 1073401856 Aug 13 2004 [ 376 00] VTS_01_1.VOB;1
---------- 0 0 0 1073467392 Aug 13 2004 [ 524498 00] VTS_01_2.VOB;1
---------- 0 0 0 1073444864 Aug 13 2004 [1048652 00] VTS_01_3.VOB;1
---------- 0 0 0 1073623040 Aug 13 2004 [1572795 00] VTS_01_4.VOB;1

Perceba que o arquivo VIDEO_TS.IFO está gravado no menor setor do disco (o número entre colchetes, descartando os diretórios).

O passo final é a gravação do disco, que deve ser efetuada com o growisofs do pacote dvd+rwtools

growisofs -dvd-compat

Fonte: http://linux.infoage.com.br/DVD_Video

Nenhum comentário:

Postar um comentário