Masterização de VCD's com menu interativo

Este artigo descreve passo-a-passo o processo direto de como fazer (termo correto: "masterizar") um VCD numa forma que será possível substituir as antigas fitas VHS por vídeos digitais até para o mais leigo Linuxer. E isso fazendo uso de um recurso simples, mas visualmente muito atraente, que são os menus interativos.

[ Hits: 66.004 ]

Por: Gustavo Vasconcelos em 03/10/2005


O arquivo de “authoring” XML



Aqui é onde é feito o "authoring" propriamente dito. Se quiséssemos colocar vários vídeos num CD e reproduzí-los como uma fita VHS, não precisaríamos nos dar ao trabalho de criar menus, editar trilhas de áudio, recomprimir, multiplexar etc. Mas nosso trabalho não seria melhor que uma fita de VHS comum. Se o VCD, mesmo sendo "retrógrado" para as tecnologias de xVCD e DVD disponíveis hoje em dia, ainda tem facilidades que o VHS nem sonha, por que não fazer uso das mesmas?

A masterização do VCD é feita através de um arquivo XML que é passado como parâmetro ao vcdxbuild ou ao dvdauthor para que qualquer um deles crie a imagem do VCD a ser gravada num CD-R/RW.

A criação do XML é uma tarefa extremamente cansativa. Felizmente a suíte tovid nos fornece um script para fazer desse um processo deveras indolor: makexml.

A sintaxe do makexml é a seguinte:

$ makexml -vcd -topmenu menuprincipal.mpg -menu menu1.mpg meuvideo1.mpg meuvideo2.mpg meuvideo3.mpg -menu menu2.mpg meuvideo4.mpg meuvideo5.mpg meuvideo6.mpg meuvcd

Onde:
  • -topmenu especifica qual arquivo será o menu "top-level" (o primeiro menu a ser exibido quando da reprodução do VCD.
  • -menu especifica um menu secundário. Depois disso todos os vídeos que foram especificados serão chamados a partir deste menu, até a próxima ocorrência de -menu, onde inicia-se mais uma seqüência de vídeos do próximo menu.
  • meuvcd é o arquivo .xml a ser gerado. Não é necessário especificar uma extensão, ela é adicionada automaticamente.

Uma vez criado o XML, a tarefa fica resumida a editá-lo, apenas mudando ou adicionando as configurações desejadas. Se você não quiser modificá-lo pode usar como está e seu VCD se comportará da seguinte maneira:
  • O menu top-level é exibido;
  • Os menus secundários são chamados a partir das teclas 1 - 9 do seu DVD player;
  • Os vídeos são chamados a partir das teclas 1 - 8 do menu ao qual eles pertencem;
  • A tecla n + 1 é reservada para a função "voltar ao menu anterior". Ex: se você tiver 8 vídeos no menu, 9 será a tecla de voltar. Se tiver 3 vídeos a tecla 4 tomará este papel.
  • Os menus serão reproduzidos em loop infinito, até que uma opção seja escolhida.

Para que se seja possível modificar o arquivo XML, algumas informações sobre seu formato devem ser dadas. Não será algo muito abrangente, se você precisar de um guia detalhado de todas as funções do XML, existe um muito bom de autoria de Michael Tam (em inglês) aqui:
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Informações sobre o VCD
   3. Software necessários
   4. Editando os vídeos
   5. Criação dos menus
   6. O arquivo de “authoring” XML
   7. Estrutura do XML
   8. Gerando a imagem e queimando o CD
   9. Considerações finais
   10. Alguns agradecimentos especiais
Outros artigos deste autor

Gravação de CD's com o NeroLINUX

Instalação e configuração do AUTO97

Leitura recomendada

Porque o PC popular é ruim?

SNMP em Linux e Windows para monitoramento no Cacti

Pirataria - Como prejudica desenvolvedores, cria monopólios e facilita ações de crackers

Instalando o VMWare no Slackware

Linux na Globo! (Hoje, 05/10)

  
Comentários
[1] Comentário enviado por fabio em 03/10/2005 - 02:07h

Fala Tango,

Em primeiro lugar, meus parabéns pelo artigo, sem dúvida um dos melhores que já foram publicados aqui no VOL. Antes de perdermos os 3 meses de banco, seu artigo estava na fila de espera e masterização de VCDs era algo que eu já queria pesquisar fazia tempo, pois estava louco pra queimar uns VCDs de vídeos pessoais.

Por incrível que pareça, seu artigo foi o primeiro que me veio em mente quando pensei: "putz, perdi 3 meses de artigos". Fique danado por não tê-lo lido enquanto estava na fila de espera :), ainda bem que tinhas backup em casa.

[]'s,
Fábio

[2] Comentário enviado por komodo em 03/10/2005 - 13:16h

Tango,

muito bom o artigo, estava mesmo pesquisando algo sobre isso.

[]'s

Silésio Gabriel

[3] Comentário enviado por cesarcardoso em 03/10/2005 - 17:31h

Tango, parabéns! Artigo completo e bem explicado. :)

[4] Comentário enviado por ETerNal em 03/10/2005 - 20:40h

Fantastico, muito bom mesmo, parabens!

p.s. linda sim sua sobrinha... :P

Att.

Germano Zang

[5] Comentário enviado por lordello em 03/10/2005 - 21:05h

Cara, seu artigo ficou show e sua sobrinha é linda mesmo :-)
Eu trabalho com vídeo e adoro assuntos sobre multimídia.
Crio DVD com auxílio de programas fechados, infelizmente, por falta de opções realmente eficazes e rápidas na criação de DVDs complexos :-/

Tem umas coisas que gostaria de dizer:
- A resolução 352x288 citada é para imagens em PAL, sistema europeu. Aqui no Brasil usamos o sistema ntsc para criar DVDs e VCDs, portanto a resolução correta seria 352x240.
- Audacity: é melhor editar e converter as músicas usando ele, assim pode adicionar fades e alterar o volume da música como achar melhor. É bom que a música de fundo de menu seja baixa, para não incomodar na hora de assistir.
- Margens: as margens de segurança são de 10% nas bordas da imagem e não 30 pixeis como você disse. Ou seja, se a imagem vai ter 352x240 a margem fica em torno de 35x24. Isso vale para qualquer imagem que seja reproduzida em televisores normais, telas LCD, plasma etc.. não seguem esse cálculo.
- A opção --speed do cdrdao é dispensável, se nada for especificado ele irá gravar na velocidade máxima do gravador. O dispositivo pode ser especificado como um dispositivo comum para quem já usa o Linux 2.6, o comando ficaria assim:
$ cdrdao write --device /dev/hda videocd.cue

É isso aí cara, parabéns :-)

[6] Comentário enviado por Tango em 04/10/2005 - 12:54h

Valeu pelos adenos, Lordello. A dica do Audacity fop muito boa mesmo, evita um bocado de passos.

A questão do PAL e NTSC me deixou meio perdido. Todo o sistema de televisão brasileiro segue o padrão PAL (-M para ser mais específico). Por que o formato de VCD's e DVD's deveria ser diferente?

A opção --speed estava aí com o objetivo de ser auto-explicativa. Nem todas as distros gravam em velocidade máximo por padrão, alguras gravam a 2x ou 4x quando não especificado. E se você especificar o dispositivo como /dev/hdX o cdrdao usará a interface ATAPI para comunicação. É mais aconselhável usar a ATA, que é mais rápida e requer menos processamento.

Abraços e Obrigado

[7] Comentário enviado por lordello em 04/10/2005 - 17:49h

Na verdade o sistema aqui do Brasil é uma mistureba feita usando o NTSC e PAL, criando um sistema completamente diferente dos dois.
Resumindo, técnicamente PAL-M é NTSC+PAL piorado, sacou?

A transmissão de TV fica assim:
NTSC 330x525 30 quadros/seg
PAL 330x625 30 quadros/seg
PAL-M 330x625 30 quadros/seg

No caso de DVD/VCD/SVCD não existe PAL-M, só NTSC e PAL. Existe uma variação do NTSC que possui 24 quadros/seg, mas é o mesmo NTSC com menos quadros, usado em filmes somente. Não sei se você sabe, mas os filmes que vemos no cinema têm 24 quadros/seg.

DVD/VCD/SVCD
NTSC 720x480/352x240/480x480 30 quadros/seg
PAL 720x576/352x288/480x576 30 quadros/seg

Dizem as más linguas que PAL é muito melhor do que o NTSC, mas como nunca vi uma TV PAL.


Quanto ao "--speed", acho que você deve ter se engado, já usei quase todas as distribuições e nenhuma delas limita (nas configurações) a velocidade de gravação. Mas tudo bem, é sempre bom lembrar ao pessoal da existência dessa função.

Falou ae.

[8] Comentário enviado por Tango em 04/10/2005 - 19:00h

Obrigado pelas informações técnicas lordello. Esclareceu muita coisa!

[]'s
TNG

[9] Comentário enviado por Tango em 07/10/2005 - 08:37h

Atualização quanto a opção "--speed", sendo mais específico: Fedora Core 4, se a velocidade não for especificada ele gravará numa velocidade máxima de 8x, mesmo que sua gravadora suporte mais que isso.

[10] Comentário enviado por lindbergluiz em 09/10/2005 - 17:37h

cara... sem comentários... vc mandou bem mesmo no assunto. òtimo. Sem palavras.... Mais um artigo de qualidade no VOL.

parabens

[11] Comentário enviado por zereis em 10/10/2005 - 08:54h

Caro colega Tango,

Excelente artigo... Me embaralhei numa situação: como fazer menus com o Gimp? Não tenho habilidades com a ferramenta e imaginei: como o cada item desenvolvido pelo menu será identificado? Se tiver algum artigo que explique isto no Gimp, me envie, por favor, pois fiquei no meio da estrada...

Zé Reis

[12] Comentário enviado por Tango em 10/10/2005 - 20:33h

Olá Zé,

O menu do GIMP não é nada além de uma imagem e ponto final. Quem define como o menu se comporta é o XML. A finalidade do mesmo é somente de informar ao usuário quais teclas do controle remoto estão disponíveis e a função de cada uma.

Nada impede que você faça um menu completamente branco, só vai ser mais complicado para quem estiver assistindo de descobrir o que apertar para ver o vídeo. ;-)

Você pode utilizar a ferramenta que bem entender, o GIMP foi somente a mais acessível e prática. A única exigência é que a mesma salve figuras no formato PPM RAW.

[13] Comentário enviado por andersonmo7 em 11/12/2005 - 16:24h

Primeiramente parabéns pelo excelente artigo.
Eu capturei um VHS pela placa de captura. Foi gerado um avi (audio: 8bit mono, 44100, com 12 frames/sec, e resolucao de 384x288)
Quando eu abro ele no avidemux, ele corta parte do começo do video.
Além disso quando tento selecionar o "VCD res" ele informa: cannot find PAL/NTSC type". Entretanto se eu tento com um arquivo mpeg, ele funciona certinho, conforme seu artigo.

[14] Comentário enviado por Tango em 31/12/2005 - 21:18h

Anderson,

O problema que você está tendo se deve ao fato de que o seu vídeo possui um framerate bem peculiar (12fps). O Avidemux não sabe que tipo de formato dar ao vídeo, se PAL ou NTSC. Já enfrentei este problema antes com um vídeo Quicktime e na época não havia solução disponível.

Agora porém existe uma maneira bem simples (para Avidemux >= 2.0.40): Siga todos os passos descritos acima até chegar em V Filter. Neste momento, antes de selecionar "VCD res" clique em "Adicionar" e escolha "Resample FPS". Mude para 25 ou 30 quadros por segundo e todo o procedimento pode ser seguido normalmente.

Por favor, me dê um retorno se isso foi suficiente para resolver seu problema, reamostragem de quadros ainda é algo que não experimentei extensivamente e apesar de estar bem certo de que irá funcionar, não posso dar garantias.

Abraços.
E Feliz 0x7D6 para todos. ;)

[15] Comentário enviado por lanux em 25/12/2006 - 12:32h

Muito bom, parabéns.

Só queria lembrar o excelente tovid. Vale a pena conferir:
http://tovid.wikia.com/wiki/Main_Page
http://www.linux.com/article.pl?sid=05/08/01/1734201

Abraços!

[16] Comentário enviado por kazzttor em 07/07/2007 - 19:03h

Vamos lá, meu povo!

Umas observações legais para serem feitas:

1. Audacity - Façam uso dele caso desejem uma trilha sonora para o menu mais incrementada, depois salve como wav. Uma dica: Execute o efeito "Compressor" no áudio, caso acho que o som contenha clippings, e em seguida, o "Normalize", para ajustar o som a um volume mais agradável.

2. Padrão de Cor - Essa é a grande questão. Se você grava programas da televisão, não recomendo você salvar o arquivo em PAL e sim em NTSC. Eu explico: O sistema de cor daqui do Brasil é PAL-M, que é o vídeo em formato PAL, mas com a taxa de 29,97 frames por segundo, a mesma do NTSC. Ao salvar um vídeo em PAL com a gravação de TV daqui, o vídeo perde qualidade, pois o video PAL roda a 25 quadros por segundo e por isso o programa tem que jogar fora quase 5 frames a cada segundo e o vídeo, evidentemente perde qualidade. Só utilize o formato Pal, se você, evidentemente gravou o vídeo de uma câmera que opere em modo PAL (e não PAL-M) também.

3. Queimando etapas com o K3b - Como sabemos, o K3b é um aplicativo do gerenciador de janelas kde para gravação de CD's. O K3b, na verdade é um frontend de vários aplicativos úteis em gravação e autoria de CD's e DVD's, inclusive da maioria dos citados nesse tutorial. Se você puder utilizá-lo, você criará facil e rapidamente uma ferramenta poderosa para criação de seus VCD's.

4. Margens do menu - A questão da margem é importante, mas pode ser descartada, visto que grande parte dos televisores modernos não cortam a imagem.

5. Juntando audio e vídeo no menu - Esse ponto é importantíssimo. pois pode causar um efeito indesejado ao menu. Duas coisas podem ocorrer com o menu: ou o som acaba e o vídeo continua, ou o vídeo acaba antes da música e corta o som de repente. Qual a dica? Calcular quantos frames serão necessários para que áudio e vídeo terminem juntos. O cálculo é simples: Mutiplique o tempo da música em segundos pela taxa de frames por segundo utilizada pelo vídeo.

6. Gravação de boa qualidade - A premissa de que a pressa é inimiga da perfeição é válida para a gravação de CD's. Não utilize a velocidade máxima para gravar o CD, e sim uma velocidade menor, pois assim a qualidade dos dados gravados será superior. Uma gravação boa utiliza uma velocidade de 12x ou menos. Eu costumo usar 8x.

Esse tutorial é estupendo, sobretudo na criação de menus. Um abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts