[ << ] [ >> ]           [Top] [Contents] [Índice] [ ? ]

20. Renderizando arquivos

Renderizar significa pegar uma seção da linha do tempo, com todas as escolhas de edição, efeitos e composição e armazená-los em um arquivo puro de vídeo. Você pode então apagar todos os arquivos fonte, reproduzir o arquivo renderizado em um reprodutor de vídeos ou trazê-lo de volta ao Cinelerra para mais edições. É muito difícil retocar quaisquer decisões de edição no arquivo puro de vídeo, entretando, então mantenha os arquivos fonte originais e o arquivo XML por vários dias após tê-los renderizado.

Todas as operações de render são baseadas numa região de linha do tempo a ser renderizada. Você precisa definir esta região na linha do tempo. A seção de navegação descreve métodos para se definir regiões. See section Barra de tempo. As funções de renderização definem a região baseadas em uma série de regras. Quando uma região está em destaque ou pontos de entrada/saída estão marcados, a região afetada é renderizada. Quando nenhuma região estiver em destaque, tudo após o ponto de inserção será renderizado. Ao simplesmente posicionar o ponto de inserção ao início de uma trilha e desmarcando todos os pontos de entrada/saída, toda a trilha é renderizada.


20.1 Renderização de um arquivo único

O jeito mais rápido de fazer com que a mídia vá para o disco é usar a função de renderização de um arquivo único.

Vá para Arquivo->renderizar ou pressione SHIFT-R para revelar a caixa de diálogo de render. Selecione o íncone de lupa manual_images_intl/magnify para revelar uma caixa de diálogo de seleção de arquivo. Isso determina o nome de arquivo a ser escrito pela renderização e os parâmetros de codificação.

manual_images_intl/render_window

A janela de renderização

Na caixa de diálogo de render, selecione um formato do menu Formato de Arquivo. O formato do arquivo determina se você pode renderizar áudio ou vídeo ou ambos. Selecione a opção Renderizar trilhas de áudio para gerar trilhas de áudio e Renderizar trilhas de vídeo para gerar trilhas de vídeo.

Selecione o ícone de ferramenta manual_images_intl/wrench perto a cada opção para configurar os parâmetros de compressão. Se o formato de arquivo não pode armazenar áudio ou vídeo, os parâmetros de compressão estarão em branco. Se Renderizar trilhas de áudio ou Renderizar trilhas de vídeo for selecionado e o formato de arquivo não os suporta, tentar fazer a renderização gerará uma imagem de erro.


20.2 Renderização de arquivos separados

A opção Criar novo arquivo a cada marcador faz com que um novo arquivo seja criado onde cada marcador na linha do tempo for encontrado. Isso é útil para dividir gravações longas de áudio em trilhas individuais. Quando se usa a fazenda de renderização, Criar novo arquivo a cada marcador faz com que um trabalho de fazenda de renderização seja criado a cada marcador ao invés de usar o algoritmo interno de carregar balanceamento para espaçar trabalhos.

Quando Criar novo arquivo a cada marcador estiver selecionado, um novo nome de arquivo será criado para cada arquivo de saída. Se o nome de arquivo informado na caixa de diálogo de render possuir números de dois dígitos nele, os números de dois dígitos serão sobrescritos com um número incremental diferente para cada arquivo de saída. Se nenhum número de dois dígitos for informado, o Cinelerra automaticamente concatena um número ao final de dado nome de arquivo para cada arquivo de saída.

No nome de arquivo `/hmov/trilha01.wav', o `01' seria sobrescrito para cada arquivo de saída. O nome de arquivo `/hmov/trilha.wav', entretanto, se tornaria `/hmov/trilha.wav001' e assim por diante. A regeneração de nome de arquivo é usada apenas quando o modo de fazenda de renderização estiver ativo ou quando criar novos arquivos para cada marcador estiver ativado.


20.3 Estratégia de inserção de arquivos renderizados

Finalmente, a caixa de diálogo permite que você selecione um modo de inserção. Os modos de inserção são os mesmos dos de carregar arquivos. Neste caso, se você selecionar Não inserir, o arquivo será escrito no disco sem alterar o projeto atual. Para outras estratégias de inserção, assegure-se de preparar a linha do tempo para ter os arquivos de saída inseridos na posição correta antes da operação de renderização estar terminada. See section Editando. A seção Editando descreve como fazer a saída ser inserida na posição correta.

Deve ser notado que mesmo que você tenha apenas áudio ou apenas vídeo sendo renderizado, uma estratégia de inserção de colar se comportará como uma operação normal de cola, apagando qualquer região selecionada da linha do tempo e colando apenas a informação que foi renderizada. Se você renderizar apenas áudio e possui algumas trilhas de vídeo armadas, as trilhas de vídeo ficarão truncadas enquanto a saída de áudio será colada nas trilhas de áudio.


20.4 Renderização em grupo

A renderização em grupo é uma das grandes mas pouco conhecidas forças do Cinelerra. Ela permite que você elimine repetições manuais de teclado e mouse e automatiza a renderização de arquivos de áudio/vídeo. Ela ainda permite que o Cinelerra seja utilizada por programas externos, sem a necessidade de o usuário interagir manualmente com a interface do programa.

Se você quer renderizar vários projetos para arquivos de mídia sem ter que ficar usando o diálogo de Renderização repetidamente, renderização em grupo é a função a ser usada. Com esta função, você especifica um ou mais arquivos de projetos XML do Cinelerra (EDL) para serem renderizados e cada arquivo de saída respectivo. O Cinelerra então carrega cada arquivo de projeto e o renderiza automaticamente, sem qualquer intervenção do usuário. Cada arquivo de projeto XML do Cinelerra, combinado com as configurações de renderização de um arquivo de saída, é chamado de grupo. Isso permite que uma grande quantidade de mídia seja processada e aumenta bastante o valor de um computador caro.

A primeira coisa a se fazer quando se prepara para uma renderização em grupo é criar um ou mais projetos do Cinelerra (EDL) para serem renderizados e salvá-los normalmente como arquivos de projetos (`meuprojeto.cin.xml'). O renderizador em grupo requere um arquivo de projeto separado para cada grupo a ser renderizado. Você pode usar o mesmo arquivo de projeto se você for dar saída a diferentes formatos, por exemplo, a partir do mesmo vídeo.

Para criar um arquivo de projeto do Cinelerra que possa ser usado na renderização em grupo, configure um projeto do Cinelerra e defina a região que será renderizada ou destacando-a por meio de uma seleção, ou marcando pontos de entrada/saída, ou ainda posicionando o ponto de inserção antes dele. Salve, então, o projeto normalmente para um arquivo EDL `meuprojeto.cin.xml'. Defina quantos projetos quiser desta forma. O renderizador em grupo usará a região ativa do arquivo EDL para renderizar.

Com todos os arquivos de projeto do Cinelerra (EDL) preparados com regiões ativas, vá para Arquivo->renderização em grupo. Isso revelará o diálogo da renderização em grupo. A interface para a renderização em grupo é um pouco mais complexa do que para a renderização de arquivos únicos.

Uma lista de grupos deve ser definida antes de se usar a operação de renderização em grupo. A tabela de grupos aparece na base da caixa de diálogo de renderização em grupo e é chamada de grupos para renderizar. Acima disso estão os parâmetros de configuração para um grupo único.
Um grupo é simplesmente um par de um arquivo de projeto do Cinelerra com sua(s) respecitiva(s) escolha(s) de arquivo de saída e configurações de renderização.

Marque os parâmetros de caminho de saída, formato de arquivo, Áudio, Vídeo e Criar novo arquivo a cada marcador como se fosse para um arquivo único. Esses parâmetros serão aplicados a apenas um grupo. Além dos parâmetros padrões de renderização, você deve selecionar o arquivo de projeto do Cinelerra (`meuprojeto.cin.xml') a ser usado no grupo. Faça isso marcando o caminho EDL. Use a lupa para evidenciar um menu com seus arquivos ou informe manualmente o caminho para seu arquivo de projeto do Cinelerra (`meuprojeto.cin.xml'). Neste caso, o caminho EDL não tem nada a ver com os arquivos EDL como eles foram criados em Arquivo/Exportar EDL.
O Cinelerra no modo de renderização em grupo não sobrescreverá um arquivo de saída existente. O renderizador de grupos simplesmente falhará. Antes de começar, assegure-se que nenhum arquivo com o mesmo nome das saídas já existam no local onde serão renderizados os arquivos.

Se a lista de grupos para renderizar estiver vazia e nada estiver em destaque, clique em Novo para criar um novo grupo. O novo grupo conterá todos os parâmetros que você acabou de configurar.
Pressione o botão Novo repetidamente para criar mais grupos com os mesmos parâmetros. Destaque qualquer grupo e edite a configuração ao topo da janela de renderização em grupo. O grupo destacado é sempre sincronizado para a informação exibida.
Clique e arraste grupos para mudar a ordem de renderização. Pressione delete para remover permanentemente o grupo destacado.
Na caixa de lista está uma coluna que habilita ou desabilita o grupo. Desta forma, grupos podem ser pulados sem ser apagados. Clique na coluna Habilitado na lista para habilitar ou desabilitar um grupo. Caso ela esteja habilitada, o grupo será renderizado. Se estiver em branco, o grupo será pulado.

As outras colunas na lista de grupos são informativas.

Para começar a renderização a partir do primeiro grupo habilitado, pressione Iniciar.
Uma vez renderizando, a janela principal mostra o progresso do grupo. Uma vez que o grupo termine, a coluna "passado" (elapsed) na lista de grupos é atualizada e o próximo grupo é renderizado até que todos os grupos habilitados tenham terminado. O grupo que estiver sendo renderizado no momento estará sempre destacado em vermelho.
Para parar a renderização antes que os grupos tenham terminado sem fechar a caixa de diálogo de renderização em grupo, pressione Parar.
Para parar a renderização antes que os grupos tenham acabado e fechar a caixa de diálogo de renderização em grupo, pressione Cancelar.
Para sair da caixa de diálogo esteja algo sendo renderizado ou não, pressione Cancelar.

Você pode automatizar as renderizações em grupo a partir de outros programas. Na caixa de diálogo de renderização em grupo, uma vez que você tenha criado sua lista de trabalhos de renderização em grupo, você pode clicar no botão Salvar Lista e escolher um arquivo para o qual salvar sua lista de renderização em grupo. Sugerimos que você use um nome de arquivo como `minhalistaderender.grupoderender.cin.xml'. Uma vez criado este arquivo, você pode iniciar uma renderização em grupo sem a necessidade de interagir com a interface do Cinelerra. A partir de um terminal (ou de um script, ou outro programa), execute:
cinelerra -r minhalistaderender.grupoderender.cin.xml
(mudando `minhalistaderender.grupoderender.cin.xml' para o nome sob o qual você salvou sua lista de renderização em grupo).
Quando invocado com esses parâmetros, o Cinelerra será iniciado e executará os trabalhos de renderização daquela lista, sem criar suas janelas usuais.

Uma nota aos programadores: esta é realmente uma ferramenta poderosa. Isso significa que você pode criar arquivos de projetos XML do Cinelerra válidos e arquivos de listas de renderização a partir de outros programas (o que requere apenas um pequeno grau de habilidade com sua biblioteca XML preferida), e então você pode ganhar completo acesso automático a todas as funcionalidades do Cinelerra sem precisar interagir com a interface de usuário do programa. As possibilidades para esta função são imensas. Você pode utilizar o poder do Cinelerra e incorporá-lo a seus próprios programas. É uma boa idéia se você puder criar um arquivo de projeto simples do Cinelerra e ser capaz de fazer uma renderização em grupo, além de estudar o formato XML. Por tentativa e erro, você será capaz de gerar arquivos de XML válidos para o Cinelerra e então criar sua própria biblioteca de automação do Cinelerra em sua linguagem favorita de programação.


20.5 A fazenda de renderização

Quando a interpolação bicúbica e o HDTV foram primeiro feitos no Cinelerra, o tempo necessário para se produzir uma saída bem simples se tornou intolerável mesmo no Xeon 1.7 GHz duplo mais rápido. O suporte à Fazenda de Renderização mesmo em sua forma mais simples traz o HDTV de volta ao alinhamento com o DV padrão enquanto faz com que o DV padrão fique mais rápido do que em tempo-real.

Embora a interface da fazenda de renderização não seja espetacular, ela é simples o suficiente para ser usada dentro de uma suíte de edição com menos do que uma dúzia de nós sem passar pela mesma quantidade de confusão que você passaria com uma fazenda de várias centenas de nós. A fazenda de renderização é evocada transparentemente para todas as operações de arquivo->renderizar quando estiver habilitada nas preferências.

O Cinelerra divide a região selecionada da linha do tempo em um certo número de trabalhos que então são despachados a nós diferentes dependendo do balanço de carregamento ("load balance"). Os nós processam os trabalhos e escrevem sua saída a arquivos individuais no sistema de arquivos. Os arquivos de saída não são concatenados. É importante para todos os nós ter acesso ao mesmo sistema de arquivos no mesmo ponto de montagem para os blocos de edição.

Se um nó não consegue acessar um bloco de edição de entrada, ele mostrará mensagens de erro em seu console, mas provavelmente não morrerá. Se ele não pode acessar um bloco de edição de saída, isso fará a renderização ser abortada.

Deve ser notado que na caixa de diálogo de renderização, a opção Criar novo arquivo a cada marcador faz com que um novo trabalho da fazenda de renderização seja criado a cada marcador ao invés de pelo balanceador de carregamento. Se esta opção estiver selecionada quando não existem marcadores, apenas um trabalho será criado.

Uma fazenda de renderização do Cinelerra é organizada em um nó mestre e qualquer número de nós escravos. O nó mestre é o computador onde a interface gráfica está sendo rodada. Os nós escravos são qualquer outro lugar na rede e são rodados por linha de comando. Execute um nó escravo a partir da linha de comando com cinelerra -d.

Esta é a configuração mais simples. Digite cinelerra -h para ver mais opções. O número da porta padrão pode ser sobrescrito informando-se o número da porta após a opção `-d'.

Na maioria das vezes, você vai querer trazer a saída renderizada e fazer um ajuste fino de tempo na linha de tempo. Além disso, alguns formatos de arquivo como o MPEG não podem ser copiados diretamente. Devido a isso, os trabalhos são deixados em arquivos individuais.

Você pode carregá-los criando uma nova trilha e especificar concatenar às trilhas existentes na caixa de diálogo de carregar arquivos. Arquivos que suportem cópia direta podem ser concatenados em um arquivo único renderizando-se no mesmo formato de arquivo com a fazenda de renderização desabilitada. Também para se conseguir cópia direta, as dimensões da trilha, dimensões de saída e as dimensões dos blocos de edição ("asset") devem ser iguais.

Arquivos MPEG ou arquivos que não suportem cópia direta têm que ser concatenados com a utilização da linha de comando. Os arquivos MPEG podem ser concatenados usando o cat.

A configuração da fazenda de renderização é descrita no capítulo de configuração See section Fazenda de renderização. Os nós escravos tradicionalmente lêem e escrevem informação em um sistema de arquivos comum por sobre uma rede, então não precisam de discos rígidos.

Idealmente, todos os nós na fazenda de renderização possuem uma performance de CPU similar. O carregamento no Cinelerra faz um balanceamento em uma base de chegou primeiro é servido primeiro. Se o último segmento for despachado para o nó mais lento, todos os nós mais rápidos podem acabar esperando pelo nó mais lento terminar enquanto eles mesmos poderiam ter feito a renderização mais rápido.


20.6 Renderização por linha de comando

A opção de renderização por linha de comando consiste em uma forma de carregar a configuração atual de trabalhos de renderização em grupo e processá-los sem interface gráfica. Isso é útil se você estiver planejando matar o X repetidamente ou se quiser fazer a renderização do outro lado de uma rede de banda estreita. Você pode ter acesso a um super computador na Índia, mas ainda estar preso no Brasil, exilado por assim dizer. Uma interface de linha de comando é ideal para isso.

Para fazer a renderização a partir da linha de comando, primeiro rode o Cinelerra no modo gráfico. Vá para arquivo->renderização em grupo. Crie os grupos que você pretende renderizar na janela de grupos e feche a janela. Isso salvará os grupos em um arquivo. Configure os atributos desejados de fazenda de renderização em configurações->preferências e saia do Cinelerra. Essas configurações serão usadas na próxima vez que a renderização por linha de comando for usada.

Na linha de comando, rode: cinelerra -r para processar os trabalhos de grupo atuais sem uma interface gráfica. Configurar todos os parâmetros para esta operação é difícil. É por isso que a linha de comando aborta se qualquer arquivos de saída já existirem.

Outros parâmetros existem para especificar arquivos alternativos para as preferências e para os grupos. Tentar usar qualquer coisa que não os padrões é bem difícil, então isso ainda não foi testado.


20.7 Renderizando vídeos para a internet

Se você quer codificar um vídeo para colocá-lo na internet, recomendamos renderizá-lo como um arquivo Quicktime4linux, e então codificar aquele arquivo em MPEG4 de formatos FLV. O arquivo Quicktime4linux renderizado do Cinelerra deve ter as seguintes propriedades:


20.7.1 Codificando um vídeo em formato MPEG4 para a internet

Para obter a melhor qualidade, você deve codificar seu arquivo Quicktime4linux com o MEncoder em duas passagens.

Primeira passagem:

mencoder entrada.mov -ovc xvid -xvidencopts bitrate=600:pass=1 -vf scale=320:240 -oac mp3lame -lameopts abr:br=64 -o saída.avi

Segunda passagem:

mencoder entrada.mov -ovc xvid -xvidencopts bitrate=600:pass=2 -vf scale=320:240 -oac mp3lame -lameopts abr:br=64 -o saída.avi

Não esqueça de mudar o tamanho de saída do vídeo, marcado com a opção `-vf scale='.

Aqui estão algumas outras linhas de comando. Elas dão saída a arquivos de vídeo cujo tamanho é de mais ou menos 13 Mb para cada 3 minutos.
Primeira passagem:

mencoder -oac pcm -sws 2 -vf scale=${largura}:${altura},hqdn3d=2:1:2 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=${taxa_de_bits_do_video}:vlelim=-4:\
vcelim=7:lumi_mask=0.05:dark_mask=0.01:scplx_mask=0.3:naq:v4mv:mbd=2:\
trell:cmp=3:subcmp=3:mbcmp=3:aspect=4/3:sc_threshold=1000000000:\
vmax_b_frames=2:vb_strategy=1:dia=3:predia=3:cbp:mv0:preme=2:\
last_pred=3:vpass=1:cgop -ofps 25 -of avi movie.mov -o /dev/null\
-ffourcc DIVX

Segunda passagem:

mencoder -srate 32000 -oac mp3lame -lameopts cbr:br=${taxa_de_bits_de_áudio}:\
aq=0 -sws 2 -vf scale=${largura}:${altura},hqdn3d=2:1:2 -ovc lavc\
-lavcopts vcodec=mpeg4:vbitrate=${taxa_de_bits_do_vídeo}:vlelim=-4:vcelim=7:\
lumi_mask=0.05:dark_mask=0.01:scplx_mask=0.3:naq:v4mv:mbd=2:trell:\
cmp=3:subcmp=3:mbcmp=3:aspect=4/3:sc_threshold=1000000000:\
vmax_b_frames=2:dia=3:predia=3:cbp:mv0:preme=2:last_pred=3:vpass=3:\
cgop -ofps 25 -of avi movie.mov -o movie.avi -ffourcc DIVX

Você provavelmente vai ter que adaptar esses comandos se seu material tiver muito ruído; dê uma olhada nos filtros de pré-processamento do MEncoder. Os parâmetros *_mask são realmente importantes quando se codifica a uma taxa de bits baixa.

Se você quer que seu arquivo de vídeo seja exibido devidamente em um reprodutor de mídia conhecido, que rode em Windows, você deve saber que:


20.7.2 Codificando um vídeo em formato FLV para a internet

O peso de arquivos FLV (FLash Video) é muito pequeno e a única coisa necessária para reproduzi-los é um navegador de internet com o plugin flash versão 7 ou posterior instalada. Este formato é realmente útil quando alguém quer compartilhar um vídeo com uma audiência maior pela internet.

Primeira passagem:

ffmpeg -i vídeo.mov -b 430k -s 320x240 -aspect 4:3 -pass 1 -ar 22050 vídeo.flv

Segunda passagem:

ffmpeg -i vídeo.mov -b 430k -s 320x240 -aspect 4:3 -pass 2 -ar 22050 vídeo.flv

Atente à extensão do arquivo de saída. O FFMPEG a usa para determinar o formato de saída. A freqüência do áudio deve ser 22050 e o parâmetro `-ar' deve ser usado para que o vídeo seja propriamente codificado. O FFMPEG não escreve informação metadata no arquivo flv. A duração tem que ser escrita na informação metadata para que alguns reprodutores de flash exibam uma barra de progressão. O FLVTool2 (http://www.inlet-media.de/flvtool2) pode ser usado para inserir essa informação:

cat arquivo_de_entrada.flv | flvtool2 -U stdin arquivo_de_saída.flv

Há uma série de opções para embutir um arquivo flv em uma página da internet. Você pode usar o ming ou o flv2swf para criar um arquivo swf.
O site http://klaus.geekserver.net/flash/streaming.html possui instruções detalhadas para o ming e o site http://search.cpan.org/~clotho/FLV-Info-0.17/bin/flv2swf pode ser instalado com cpan> install FLV::ToSWF. Ou você pode usar o reprodutor JW FLV Player licenciado para uso não-comercial pelo Creative Commons http://www.jeroenwijering.com/?item=JW_FLV_Player, ou o FlowPlayer, sob uma licença Apache, http://flowplayer.org. Ambos permitirão que você use o arquivo flv conforme criado acima, além de ter os controles para pausar e reproduzir o vídeo, etc.


20.8 Tabela de compatibilidade do Quicktime para GNU/Linux

Scott Frase escreveu uma tabela de compatibilidade do Quicktime for Linux. Ela contém uma lista exaustiva de todos os esquemas de compressão do Quicktime disponíveis e sua compatibilidade com o Cinelerra, MPlayer e alguns outros reprodutores de mídia. Este documento possui duas seções principais, uma baseada em um projeto formatado para uma resolução HDV e outra para um projeto formatado para uma resolução DV.

Esta tabela está disponível aqui:
http://content.serveftp.net/video/qtcompatibility.ods

Algumas observações interessantes:


20.9 Fazendo um DVD


20.9.1 Renderizando para mpeg2

Aqui está um método para exportar vídeo em MPEG2 para DVD. Este método permite que você configure precisamente a opção de codificação que você quer e produz um arquivo MPEG2 que é 100% compatível com todos os aparelhos de DVD. Para como fazer um DVD a partir da saída, veja See section Autorando um DVD.

Áudio e vídeo são renderizados em separado e combinados depois em um procedimento externo ao Cinelerra.
O áudio é renderizado para .ac3, e o vídeo é renderizado para uma faixa yuv4mpeg, que é redirigida ("piped") ou para o mpeg2enc ou para o ffmpeg para um arquivo .m2v. As duas variantes estão descritas em detalhes abaixo.

(Aparentemente, dependendo das gravações e engenharia do reprodutor, uma ou outra variante pode produzir melhores resultados. Cheque qual funciona melhor para você renderizando um pequeno trecho de teste, de alguns segundos de duração, autorando um DVD de acordo com as seções abaixo e tocando-o no seu aparelho mais barato para realmente ver se ele está bom ou se mostra erros.)

Em ambos os casos, assegure-se de ter definido corretamente o formato de seu projeto antes de renderizar seu vídeo (menu Configurações->Formato...), preferivelmente mesmo antes de carregar os arquivos brutos.
Padrões de televisão:
NTSC é 720x480 a 29.97 quadros por segundo;
PAL é 720x576 a 25 quadros por segundo.


20.9.1.1 yuv4mpeg pipe via mpeg2enc

O programa mplex do mjpegtools deve estar instalado. O pacote mjpegtools é construído na distribuição do hvirtual e a função mplex pode ser extraída dali.

  1. Crie um script `~/cine_render.sh'
  2. Copie no `arquivo ~/cine_render.sh' as seguintes linhas:
    #/bin/bash
    mpeg2enc -v 0 -K tmpgenc -r 16 -4 1 -2 1 -D 10 -E 10 -g 15 -G 15 -q 6 -b 8600 -f 8 -o $1
  3. Ponha as premissões de execução neste arquivo: chmod 777 ~/cine_render.sh
  4. Dentro do Cinelerra e selecione a parte do projeto que você quer renderizar com os pontos de [ e ]
  5. Pressione SHIFT-R
  6. Selecione o formato YUV4MPEG Stream
  7. De-selecione Renderizar trilhas de áudio e selecione Renderizar trilhas de vídeo
  8. Clique no ícone da ferramenta
  9. Na nova janela que se abriu, indique o nome do arquivo `m2v' que você quer criar. Este arquivo conterá apenas o vídeo.
  10. Clique em Usar pipe e escreva este comando: /home/<seu usuário>/cine_render.sh %
  11. Clique em OK para fechar a segunda janela e em OK de novo para renderizar seu arquivo `m2v'
  12. Quando o arquivo m2v for renderizado, abra a janela de renderização de novo e renderize um arquivo AC3 a 224kbits
  13. Finalmente, combine o vídeo e o áudio com este comando: mplex -f 8 seu_arquivo_de_video.m2v seu_arquivo_de_audio.ac3 -o arquivo_de_video_e_audio.mpeg

Você pode modificar os parâmetros do mpeg2enc se quiser. Olhe a página do manual do mpeg2enc. Alguns detalhes sobre as configurações:

Se seu materia possuir bastante ruído (material de Hi8 analógica, por exemplo), você pode adicionar algumas ferramentas do mjpegtools na linha de comando escrita em `~/cine_render.sh':


20.9.1.2 yuv4mpeg pipe via ffmpeg

  1. Selecione Arquivo->Renderizar... ou pressione SHIFT-R. A caixa de diálogo de render aparecerá.
  2. Ali, você tem a escolha de renderizar: 1. todo o projeto; ou 2. a área destacada por seleção; ou 3. a partir do ponto de entrada "[" até o ponto de saída "]".
  3. Assegure-se de que a Estratégia de inserção é "Criar novos recursos somente".
  4. Selecione o formato de saída de áudio AC3.
  5. Especifique o nome da saída de áudio e o caminho (exemplo: seu-video.ac3).
  6. Selecione Renderizar trilhas de áudio e desabilite Renderizar trilhas de vídeo.
  7. Clique no ícone de ferramenta ao lado de "Áudio:". Uma nova caixa de diálogo "Cinelerra: Compressão de Áudio" aparecerá.
  8. Marque a taxa de bits para 128 kbps (ou deixe-a aí).
  9. Clique em OK e o diálogo de compressão de áudio desaparecerá.
  10. Na ciaxa de diálogo de render, clique em OK e ela desaparecerá. O áudio será renderizado. Renderizar arquivos de áudio é muito mais rápido do que os de vídeo, mas ainda assim deve levar alguns segundos. Veja a barra de progresso no canto inferior direito da janela principal.
  11. Novamente, pressione SHIFT-R. A caixa de diálogo de render aparecerá mais uma vez.
  12. Selecione o formato de arquivo YUV4MPEG Stream.
  13. Especifique o arquivo de saída de vídeo e caminho (examplo: seu-video.m2v).
  14. Desabilite Renderizar trilhas de áudio e selecione Renderizar trilhas de vídeo.
  15. Clique no ícone de ferramenta próximo a "Vídeo:". Uma nova caixa de diálogo "Cinelerra: YUV4MPEG stream" aparecerá. A primeira caixa de texto já deve conter o nome de saída do arquivo e o caminho especificado no diálogo de render.
  16. Selecione "Use Pipe:".
  17. Preencha a segunda caixa de texto com o seguinte comando:
    ffmpeg -f yuv4mpegpipe -i - -y -target dvd -flags +ilme+ildct %
  18. Clique em OK no diálogo do yuv4mpeg e no diálogo de render para renderizar a saída de vídeo.
  19. O .m2v resultante pode ser processado junto com o áudio .ac3 com o seguinte comando de terminal, produzindo uma faixa de mpeg compatível com DVD:
    ffmpeg -i seu-video.ac3 -i seu-video.m2v -target dvd -flags +ilme+ildct seu-video.mpg (Sim, a faixa é enviada de novo para o ffmpeg.)

Observação sobre as opções de linha de comando do ffmpeg:
-i diz ao ffmpeg para ler a partir da entrada padrão (no seu pipe, isso significa a partir da faixa de render do Cinelerra).
A opção -y permite que você sobrescreva quaisquer arquivos-alvo existentes (claro, é mais seguro omitir isso, mas aí você tem de assegurar que não existem arquivos com o mesmo nome cada vez que for renderiza uma nova versão).
As bandeiras ("flags") +ilme+ildct são para entrelaçamento correto, campos de baixo primeiro, testado com matrial PAL. Algumas versões do Cinelerra sugerem uma linha de comando similar nas pré-configurações de pipe do ffmpeg para DVD, entretanto, com a sintaxe errada das bandeiras de entrelaçamento ou mesmo sem as bandeiras.

Antes de continuar a colocar seu arquivo mpeg2 renderizado em um DVD, você pode querer assistir e checar o arquivo seu-video.mpg em um reprodutor como o mplayer, xine ou kaffeine.


20.9.2 Fazendo um menu de DVD

Um menu de DVD é composto de:

Você pode construir um meni com uma interface gráfica como o qdvdauthor, dvdstyler, dvdwizard ou tovid. Entretanto, o uso dessas interfaces gráficas não é perfeito no momento, uma vez que estes programas ainda têm erros ou são limitados no momento.

O método que explicamos abaixo é mais complicado do que usar a interface gráfica, entretanto, ele:

Se você prefere usar uma interface gráfica, recomendamos que você tente o tovid:
http://tovid.wikia.com/wiki/Main_Page

Aqui estão os passos necessários para criar seu menu de DVD:

Nós supomos que você vai querer criar um menu com um fundo animado. Abra o Cinelerra e crie um projeto contendo o que você vai querer como fundo para o seu menu. Você pode adicionar uma música se quiser. Atente para o fato de que este menu vai ser reproduzido em loop.

Para desenhar os botões, você tem duas possibilidades:

Renderize este vídeo para m2v e ac3 usando o método cine_render.sh explicado acima. Combine o áudio e o vídeo com o mplex como você faria com qualquer vídeo "normal".

Você obterá um arquivo MPEG2 contendo o fundo do menu e alguns botões dispostos em cima dele se você os adicionou no Cinelerra.

Nós temos que usar o spumux para definir cada posição de botão neste arquivo MPEG2. Se você não desenhou os botões no Cinelerra, você poderá colocá-los com o spumux.

O spumux é uma ferramenta em linha de comando que leva 2 argumentos:

Aqui está um arquivo XML de exemplo do spumux:

<subpictures> 
 <stream> 
  <spu start="00:00:00.0" image="botões_normal.png" highlight=
  "botões_em_destaque.png" select="botões_selecionados.png"> 
   <button name="1" x0="94 " y0="234 " x1="253 " y1="278" 
   down="2" right="4" />
   <button name="2" x0="63 " y0="287 " x1="379 " y1="331" up="1"
   down="3" right="5" />
  </spu>
 </stream> 
</subpictures>

Se você já fez os botões no Cinelerra, você tem que especificar imagens PNG vazias (100% transparentes) aqui.

As imagens PNG usadas no spumux devem:

Há uma linha por botão. Cada linha contém as coordenadas do botão, um botão possuindo uma forma retangular:

Você também tem que configurar para qual botão a navegação se moverá quando os botões para-cima, para-baixo, para-a-esquerda e para-a-direita do controle remoto do DVD forem usados. Aqui está um exemplo:

<button name="3" ...coordinates... up="1" down="5" left="2" right="4" />

Quando o botão 3 for selecionado, se o botão "para-cima" for pressionado no controle remoto então o botão 1 será destacado. Se o botão "para-a-direita" for pressionado no controle remoto, então o botão 4 será destacado.

Quando você houver terminado de editar seu arquivo XML do spumux, você terá que digitar este comando:
spumux menu.xml < menu.mpeg > menu_com_botões.mpeg
Isso gerará um `menu_com_botões.mpeg'. É um arquivo MPEG2 com botões.


20.9.3 Autorando um DVD

Após haver renderizado seus arquivos para MPEG2 e haver preparado um menu com o spumux, você precisa "autorar" o DVD com o dvdauthor, que é outro programa de terminal de comando.

O dvdauthor usa arquivos de XML para descrever a estrutura do DVD. Você precisa criar um arquivo XML em um editor de texto e salvá-lo como `exemplo_simples.xml' nas mesma pasta que seu arquivo de vídeo mpeg2 `seu-video.mpeg'. Você deve realmente prestar muita atenção à sintaxe do arquivo .xml, uma vez que ela é muito rigorosa. O risco é o DVD ser reproduzível em alguns aparelhos, mas não em todos.

Para ajudá-la(o) a usar o dvdauthor, aqui estão alguns exemplos de arquivos XML que você pode copiar e colar em seu arquivo `exemplo_simples.xml'. Substitua os nomes de arquivos nos exemplos e caminhos pelos seus nomes/caminhos corretos.

<dvdauthor dest="/caminho/para/a/pasta/que/conterá/o/dvd">
    <vmgm />
    <titleset>
        <titles>
            <pgc>
                <vob file="/o/arquivo/mpeg.mpeg" />
		<post>
                    jump chapter 1;
                </post>
            </pgc>
        </titles>
    </titleset>
</dvdauthor>

Este é um arquivo XML bem simples do dvdauthor. Não há menu; o arquivo de vídeo `/o/arquivo/mpeg.mpeg' será reproduzido assim que você inserir o DVD no aparelho.

O comando dentro da tag <post> significa que o vídeo deve ser reproduzido em repetição contínua ("loop"). Quando o aparelho de DVD chegar ao final do vídeo, ele pulará para o primeiro capítulo do vídeo (que o dvdautor assume ser o início do vídeo, uma vez que os capítulos não foram definidos). Para fazer com que o vídeo seja reproduzido apenas uma vez, remova as linhas seguintes de seu arquivo XML:

		<post>
                    jump chapter 1;
                </post>

Para autorar o DVD, vá para a pasta que contém os arquivos XML e de vídeo e digite o seguinte comando:
dvdauthor -x exemplo_simples.xml

Agora, vamos dar uma olhada em um exemplo mais complexo. Quando o DVD for inserido, um menu será exibido e você poderá escolher entre reproduzir quatro vídeos.

<dvdauthor dest="/caminho/para/a/pasta/que/conterá/o/dvd" jumppad="yes" >
<vmgm>
 <fpc> jump menu 1; </fpc>
  <menus>
   <video format="pal" aspect="4:3" resolution="720x576" />
   <pgc entry="title" >
    <vob file="menu.mpeg" pause="0" />
    <button name="1" > { g3=1; jump titleset 1 menu entry root; } </button>
    <button name="2" > { g3=2; jump titleset 1 menu entry root; } </button>
    <button name="3" > { g3=3; jump titleset 1 menu entry root; } </button>
    <button name="4" > { g3=4; jump titleset 1 menu entry root; } </button>
     <post> { jump cell 1; } </post>
   </pgc>
  </menus>
 </vmgm>
 <titleset>
  <menus>
   <pgc entry="root" >
    <pre> { if ( g3 gt 0 )  {
		if ( g3 eq 1 ) { g3=0; jump title 1  chapter 1; }
		if ( g3 eq 2 ) { g3=0; jump title 1  chapter 3; }
		if ( g3 eq 3 ) { g3=0; jump title 1  chapter 5; }
		if ( g3 eq 4 ) { g3=0; jump title 1  chapter 7; }
		jump vmgm menu entry title;
		}
	} </pre>
    <post> { jump vmgm menu entry title; } </post>
   </pgc>
  </menus>
  <titles>
   <video format="pal" aspect="4:3" resolution="720x576" />
   <pgc pause="0" >
    <vob file="vídeo_1.mpeg" pause="0" />
    <vob file="vídeo_preto.mpg" pause="0" />
    <vob file="vídeo_2.mpeg" pause="0" />
    <vob file="vídeo_preto.mpg" pause="0" />
    <vob file="vídeo_3.mpeg" pause="0" />
    <vob file="vídeo_preto.mpg" pause="0" />
    <vob file="vídeo_4.mpeg" pause="0" />
    <post> { call vmgm menu entry title; } </post>
   </pgc>
  </titles>
 </titleset>
</dvdauthor>

O arquivo `vídeo_preto.mpg' é usado para adicionar uma tela preta de dois segundos entre cada vídeo. Aqui está como criá-lo:
convert -size 720x576 xc:black -depth 8 quadro_preto.ppm
dd if=/dev/zero bs=4 count=960000 | toolame -b 128 -s 48 /dev/stdin áudio_vazio.mpa
ppmtoy4m -S 420mpeg2 -n 50 -F 25:1 -r quadro_preto.ppm | mpeg2enc -a 2 -n p -f 8 -o vídeo_preto.mpv
mplex -f 8 -o vídeo_preto.mpg vídeo_preto.mpv áudio_vazio.mpa


20.9.4 Queimando um DVD

Quando você houver terminado de autorar o DVD, você encontrará em uma pasta os seguintes diretórios: `AUDIO_TS' e `VIDEO_TS'. Para testar seu DVD antes de queimá-lo, entre nesta pasta (cd) e digite:
xine dvd:`pwd`

Se seu DVD for reproduzido corretamente em seu computador, é hora de queimá-lo. Quando você estiver na pasta contendo os arquivos `AUDIO_TS' e `VIDEO_TS', digite este comando:
nice -n -20 growisofs -dvd-compat -speed=2 -Z /dev/dvd -dvd-video -V VIDEO ./ && eject /dev/dvd

Se você tem um monte de cópias a fazer, você pode fazer um .iso mestre em sua pasta primeiro usando este comando:
nice -n -20 mkisofs -dvd-video -V VIDEO -o ../dvd.iso .
Este arquivo `../dvd.iso' pode ser queimado usando este comando:
nice -n -20 growisofs -dvd-compat -speed=2 -Z /dev/dvd=../dvd.iso && eject /dev/cdrom

Recomendamos que você não queime o DVD a uma velocidade maior do que 4x. Use um DVD-R de qualidade.


20.10 Usando a renderização de fundo

A renderização ao fundo permite que efeitos impossivelmente lentos sejam reproduzidos em tempo-real logo após o efeito ser colado na linha do tempo. Ele renderiza continuamente a saída temporária. Quando a fazenda de renderização estiver habilitada, a renderização ao fundo a usa continuamente. Desta forma, um vídeo de qualquer tamanho pode ser visto em tempo-real simplesmente criando-se uma rede rápida o suficiente com nós suficientes.

A renderização ao fundo é habilitada em configurações->preferências->performance. Ela possui uma função interativa: configurações->marcar rederização ao fundo. Isso marca o ponto onde a renderização ao fundo começa para onde o ponto de entrada estiver. Se algum vídeo existir, uma barra vermelha aparece na barra de tempo mostrando o que foi renderizado ao fundo.

Normalmente é útil inserir um efeito ou uma transição e então selecionar configurações->marcar rederização ao fundo logo antes do efeito para prevê-lo a uma taxa de quadros inteira.


[ << ] [ >> ]           [Top] [Contents] [Índice] [ ? ]

This document was generated by Raffaella Traniello on Maio, 30 2008 using texi2html 1.76.