mencoder arquivo.flv - O Espaço do Software Livre
Transcrição
mencoder arquivo.flv - O Espaço do Software Livre
Capacitação realizada através de parceria entre o Núcleo de Tecnologia Educacional Municipal - NTM Núcleo de Tecnologia Educacional Estadual - NTE de Volta Redonda Capacitação 2010 Aula2: Utilizando o Canivete Suíço Mencoder O MEncoder é uma ferramenta em linha de comando para encodação de vídeos sob a Licença Pública Geral (GPL). O MEncoder é distribuído juntamente com o MPlayer e permite converter todos os formatos de vídeo aceitos pelo MPlayer para um grande número de outros players. Possui diversos filtros de áudio e vídeo para a manipulação dos arquivos. Devido a enorme quantidade de opções, o MEncoder pode parecer pouco amigável no começo, mas ele é uma ferramenta extremamente poderosa para conversão de vídeo. Alguns frontends foram desenvolvidos para tornálo mais acessível. O Básico Um mal entendido muito comum é o de que o MPlayer, por ser capaz de reproduzir diversos containers e codecs de áudio e vídeo, seria também capaz de codificar arquivos nestes mesmos formatos. A lista de codecs para codificação de mídia é muito longa, mas alguns de código livre não estão inclusos por exemplo: FLAC e Theora. Mas não é algo com o que se preocupar, ainda restam diversas opções, até mesmo se você deseja codificar um arquivo para reprodução em Windows ou Mac. Antes de entrar em detalhes, vamos observar o funcionamento básico num processo de re-codificação de um arquivo em um formato que o MPlayer não pode reproduzir, para o formato MPEG4: mencoder arquivo.flv -o arquivo.avi -ovc lavc -oac pcm Explicando cada opção -arquivo.flv: nome do arquivo de vídeo original que você deseja recodificar. Por exemplo arquivos realplayer, windows, mpeg, avi, divx, xvid, theora, matroska e etc. -o arquivo.avi: O nome do arquivo de saída, o qual será dado ao arquivo após a recodificação, no caso, arquivo.avi; -ovc <codec_de_video>: OVC significa "Output video codec". Biblioteca que você deseja utilizar para a codificação do vídeo; -oac <audio_codec> OAC significa "Output audio codec" Biblioteca que você deseja utilizar para a codificação do áudio. Concluindo Acredite ou não, isto é tudo o que você precisa saber para recodificar arquivos. O exemplo acima irá codificar o vídeo para DivX (mpeg4) e a trilha de áudio para pcm (WAV). Se você deseja verificar como um determinado arquivo foi codificado, execute o comando file arquivo.avi no arquivo gerado para obter uma saída resumida. Caso você tenha o programa transcode instalado você poderia usar o comando tcprobe -i arquivo.avi. Codecs e Formatos Eliminando possíveis confusões, codecs e formatos não são a mesma coisa. MPEG-4 é um formato de vídeo. Você pode criar arquivos de vídeo MPEG-4 com alguns codecs opcionais. DivX, XviD e lavc são codecs que criam os vídeos realmente para você. MPEG-2 é um outro formato de vídeo. Vídeos DVDs são armazenados neste formato. É por isto que você pode ripar um DVD com qualidade similar e tamanho reduzido em formato MPEG-4. Antes de você começar a codificar os seus arquivos, é uma boa ideia decidir o formato que você deseja. MPEG-4 será utilizado como padrão aqui, pois resulta em arquivos altamente comprimidos e com qualidade muito boa. Containers Multimídia Um container multimídia é onde você coloca seu áudio e vídeo codificados. Alguns exemplos de containers multimídia são: AVI, ASF, OGG, Matroska e MOV. Eles são chamados de containers porque você pode colocar (na teoria) qualquer coisa dentro deles. Por exemplo, o fato de um arquivo ter uma extensão .avi não significa que ele é um MPEG4. Pode ser qualquer tipo de arquivo que o container AVI tenha suporte para áudio e vídeo. É por isso que você pode codificar filmes com tantos codecs e ainda colocá-los no mesmo container. Vamos dar uma rápida olhada em alguns containers multimídia. Novamente, embora o MPlayer seja capaz de reproduzir uma diversidade destes, ele não é capaz de codificar todos eles. De qualquer forma, dispondo do MEncoder, isto não se torna uma limitação. AVI O AVI (Audio Video Interleave) foi criado pela Microsoft, apesar de não ser aberto e bem suportado. O MPlayer e o MEncoder, podem reproduzi-lo e codificá-lo. O AVI é muito comum, e por isso você verá em diversos dos nossos exemplos. Matroska É um container multimídia de código aberto, similar ao AVI, exceto pelo fato de que ele possui opções e configurações muito mais avançadas que podem ser inclusas no meta-dado. O MPlayer e o MEncoder também são capazes de reproduzi-lo, porém não é capaz de codificá-lo. Os arquivos de áudio e vídeo matroska possuem as extensões .mka e .mkv, respectivamente. ASF O ASF (Advanced Streaming Format) é mais um container multimídia, desenvolvido pela Microsoft, mais utilizado para streaming (reprodução online) multimídia. Tecnicamente, tudo que pode ser colocado dentro de um container AVI também pode ser colocado em um container ASF, mas de maneira geral, são utilizados os codecs Windows Média Vídeo (WMV) e Windows Média Áudio (WMA). OGG O container OGG é também um container multimídia de código livre, parte do projeto Xiph. OGM é uma extensão do OGG para suportar alguns codecs de vídeo proprietários. Assim como o Matroska, o MPlayer é capaz de reproduzir, mas não de criar vídeos OGG e OGM. Links para aprofundamento Formatos suportados pelo Mplayer: http://www.mplayerhq.hu/DOCS/HTML/en/video-formats.html Limitações do container AVI: http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-muxing-avi-limitations Comparação entre diversos containers: http://en.wikipedia.org/wiki/Comparison_of_container_formats Codecs de Vídeo Disponíveis A primeira coisa a fazer é verificar quais codecs podemos utilizar para codificação. O seguinte comando lhe dará uma lista de opções: mencoder -ovc help "ovc" significa output video codec A saída deste comando depende de como você tenha compilado o MPlayer. Já que há vários à disposição. Nós iremos analisar brevemente alguns deles. Se você não sabe qual utilizar, utilize -ovc lavc com as opções padrão. mencoder -ovc help copy - frame copy, without re-encoding. Doesn't work with filters. frameno - special audio-only file for 3-pass encoding, see DOCS. raw - uncompressed video. Use fourcc option to set format explicitly. nuv - nuppel video lavc - libavcodec codecs - best quality! vfw - VfW DLLs, read DOCS/HTML/en/encoding-guide.html. qtvideo - QuickTime DLLs, currently only SVQ1/3 are supported. libdv - DV encoding with libdv v0.9.5 xvid - XviD encoding x264 - H.264 encoding lavc O lavc/libavcodec é parte do projeto da biblioteca FFMPEG. De acordo com a página oficial do FFMPEG: "A libavcodec é uma biblioteca que contém todos os codificadores e decodificadores FFMPEG de áudio e vídeo. A maior parte dos codecs foram desenvolvidos do zero para garantir a melhor performance e capacidade de reutilização do código." O uso da lavc como seu codec de vídeo, lhe fornece diversas opções, incluindo uma porção de formatos para codificação. Segue um exemplo que cria um container AVI DivX usando a biblioteca lavc para codificar o vídeo em MPEG4 e o áudio em PCM. lavc mencoder arquivo.flv -ovc lavc -oac pcm -ffourcc DX50 -o arquivo.avi Se você não deseja alterar muito as configurações de vídeo, este exemplo acima será o bastante para a maioria dos players disponíveis. A opção -ffourcc DX50 está inclusa porque embora o vídeo produzido seja MPEG4, o cabeçalho padrão é FMP4 o qual não é largamente reconhecido. Um cabeçalho com DX50 diz que o vídeo produzido é compatível com DivX 5 (MPEG4) e deve estar apto a ser reproduzido em qualquer player que seja capaz de reproduzir vídeo MPEG4. O Pulo do Gato Se você não tem a menor ideia do que deve escolher e não tem tempo para ficar testando configurações, faça a opção pelo MPEG4. Como o MPEG4 é a opção padrão, você não precisará adicionar nenhuma opção especial. Apenas use a linha abaixo: mencoder arquivo.flv -o arquivo.avi -ovc lavc -oac pcm Xvid Com o XviD podemos criar vídeos MPEG4 com altíssima qualidade. "O XviD é um software livre para codificação de vídeos em MPEG4 que possui algumas características que o faz muito melhor do que o codec DivX. Ele produz vídeos com qualidade muito boa e com ótima performance devido as otimizações para a maioria dos processadores modernos." Conforme o documento de dúvidas freqüentes (FAQ) do XviD, "O DivX é um software proprietário, com um ciclo de desenvolvimento que segue apenas uma lógica comercial. O XviD é um software livre (licenciado sob a GNU GPL), aberto a contribuições externas e que objetiva a qualidade superior, obediência aos padrões, velocidade de processamento, portabilidade e a interoperabilidade." Codificação com o XviD A utilização da opção bitrate realizará a codificação em uma taxa de bits constante. bitrate=valor Os valores podem ser higher, que implica em uma melhor qualidade e arquivos maiores e lower, que implica em uma menor qualidade e arquivos menores. Com algumas otimizações você pode obter uma qualidade próxima a dos DVDs (bitrate por volta de 800), VCDs (bitrate entre 400 e 500) e também uma qualidade para Streaming (bitrate em torno de 80 à 150). Para obter uma boa qualidade num filme de tamanho 720x480 você precisaria de aproximadamente 800kb/s. O bitrate padrão do Mencoder é de 687 kbits/s, mas você pode ter que especificar o valor dependendo da sua versão. mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=800 -o arquivodesaida.avi arquivo.flv Codecs de Áudio Disponíveis A primeira coisa a fazer é verificar quais codecs podemos utilizar para codificação. O seguinte comando lhe dará uma lista de opções: mencoder -oac help "oac" significa output audio codec copy - frame copy, without re-encoding (useful for AC3) pcm - uncompressed PCM audio mp3lame - cbr/abr/vbr MP3 using libmp3lame lavc - FFmpeg audio encoder (MP2, AC3, ...) twolame - Twolame MP2 audio encoder faac - FAAC AAC audio encoder copy Cópia de quadro, sem recodificação (útil para AC3). Se você estiver ripando um DVD e desejar manter o Dolby Digital Stream, então use esta opção. Em seguida é só redirecionar a saída para o receptor com SPDIF. mencoder arquivo.vob -o arquivo_copy.avi -ovc lavc -oac copy pcm Áudio PCM descomprimido. Soará bem, mas a parte mais volumosa do seu arquivo final será a porção de áudio. Essencialmente uma opção inútil para codificação de filmes. Se você não deseja perda, apenas faça um dump AC3 (como citado acima no copy), e você terá o som exatamente igual ao original, sem transcodificação. A vantagem é que o som já é comprimido de antemão, então a descompressão dele não adiciona qualidade e apenas aumenta o tamanho, o qual não pode ser reobtido completamente sem perda. mencoder arquivo.flv -o arquivo_pcm.avi -ovc lavc -oac pcm mp3lame Codificação utilizando lame. mencoder arquivo.flv -o arquivo_lamec.avi -ovc lavc -oac mp3lame É possível passar mais parâmetros de configuração utilizando -lameopts alguma=coisa abr: Seta o bitrate médio; cbr: Utiliza bitrate constante; br=<0-1024>: Seta o bitrate em kbps, para cbr e abr somente. mencoder arquivo.flv -o arquivo_abr.avi -ovc lavc -oac mp3lame -lameopts abr:br=192 q=<0-9>: Qualidade (0 - Maior, 9 - Menor, apenas com VBR) mencoder arquivo.flv -o arquivo_vbr.avi -ovc lavc -oac mp3lame -lameopts vbr=2:q=1 Como você converte vídeo do Youtube? O que acontece quando faz isso? Vamos tentar de outro jeito? mencoder arquivo.flv -o arquivo.avi -ovc lavc -oac pcm Se você quiser extrair o áudio de um arquivo de vídeo para mp3... mencoder arquivo.avi -of rawaudio -oac mp3lame -ovc copy -o arquivofinal.mp3 Se você quiser juntar vários arquivos de vídeo mencoder -oac pcm -ovc lavc part1.avi part2.avi part3.avi -o arquivofinal.avi Inserir legendas e tentar sincronizar Áudio e Vídeo mencoder -sub subs.ssa -utf8 -subfont-text-scale 4 -oac mp3lame -lameopts cbr=128 -ovc lavc -lavcopts vcodec=mpeg4 -ffourcc xvid -o arquivofinal.avi arquivo.flv Se você precisar rotacionar um vídeo no sentido horário mencoder -vf rotate=1 -oac pcm -ovc lavc arquivo.avi -o arquivofinal.avi Se você precisar rotacionar um vídeo no sentido anti-horário mencoder -vf rotate=2 -oac pcm -ovc lavc arquivo.avi -o arquivofinal.avi Se quiser mudar a escala... mencoder arquivo.mpg -oac pcm -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=320:240 -o arquivofinal.avi Quer cortar pedaços de um vídeo? mencoder arquivo.flv -ss 10 -endpos 35.5 -ovc lavc -oac pcm -o arquivofinal.avi Quer adicionar uma pista de áudio ao vídeo mencoder arquivo.avi -o arquivofinal.avi -ovc copy -oac copy -audiofile audio.mp3 Inserir subtítulos ou legendas mencoder arquivo.avi -sub subtitulo.srt -oac copy -ovc lavc -o arquivofinal.avi -subcp latin1 -font font.ttf -subfont-text-scale 3.8 Com Áudio em português e Sem Legendas mencoder dvd://2 -alang pt -oac mp3lame -lameopts \ mode=0:br=128:vol=10 -ovc lavc -lavcopts \ vcodec=msmpeg4:vbitrate=6000 -vf lavcdeint,scale \ -zoom -xy 720 -o video.avi Com Áudio Inglês e Legenda em Português mencoder dvd://2 -alang en -slang pt -oac mp3lame -lameopts \ mode=0:br=128:vol=10 -ovc lavc -lavcopts \ vcodec=msmpeg4:vbitrate=6000 -vf lavcdeint,scale \ -zoom -xy 720 -o video.avi Receitinhas de Bolo Convertendo arquivos .FLV em .AVI mencoder arquivo.flv -ofps 23.976 -ovc lavc -oac pcm -o arquivofinal.avi Convertendo um .FLV em .AVI (XviD) mencoder arquivo.flv -oac mp3lame -ovc xvid -lameopts preset=standard:fast -xvidencopts pass=1 -o arquivofinal.avi Receitinhas de Bolo Convertendo .WMV em .AVI mencoder arquivo.wmv -ofps 23.976 -ovc lavc -oac copy -o arquivofinal.avi Encodando um arquivo no formato MPEG4 mencoder arquivo.avi -oac pcm -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -o arquivofinal.avi Receitinhas de Bolo Converter mpg em wmv mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq -oac mp3lame -lameopts br=98 -o arquivofinal.wmv arquivo.mpg Receitinhas de Bolo Converter vídeo ogv em avi: mencoder arquivo.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o arquivofinal.avi Receitinhas de Bolo Com Áudio em português e Sem Legendas mencoder dvd://2 -alang pt -oac mp3lame -lameopts \ mode=0:br=128:vol=10 -ovc lavc -lavcopts \ vcodec=msmpeg4:vbitrate=6000 -vf lavcdeint,scale \ -zoom -xy 720 -o video.avi Com Áudio Inglês e Legenda em Português mencoder dvd://2 -alang en -slang pt -oac mp3lame -lameopts \ mode=0:br=128:vol=10 -ovc lavc -lavcopts \ vcodec=msmpeg4:vbitrate=6000 -vf lavcdeint,scale \ -zoom -xy 720 -o video.avi Créditos Este material é a 2ª aula da capacitação: “Edição de Áudio e Vídeo com Criação de DVDs” O desenvolvimento desta capacitação, bem como o material da mesma, está sendo produzido através de uma parceria entre o Núcleo de Tecnologia Educacional Municipal – NTM e o Núcleo de Tecnologia Educacional Estadual – NTE de Volta Redonda. Responsáveis pelo projeto: Giany Abreu [email protected] Rosi Nogueira [email protected] Sergio Graças [email protected]
Documentos relacionados
O transcode - Linux Magazine
Embora esse codec esteja disponível em formato nativo para o Linux, seu uso não é recomendado devido a algumas falhas e ao fato de seu código-fonte ser fechado. Quaisquer codecs reconhecidos pela b...
Leia mais