Capturando vídeo através do mencoder
Este artigo se propõe a explicar, de forma simples e objetiva, como capturar vídeos de VHS, TV ou qualquer outro dispositivo acoplado à sua placa de captura de vídeo, utilizando o mencoder.
[ Hits: 52.072 ]
Por: andre uebe em 21/07/2006
O mencoder
O mencoder é um dos programas mais versáteis que conheço para Linux . Toda parte de captura de vídeo, efeitos e etc pode ser feita através dele. O mencoder tem um programa parceiro, que é um tocador de vídeo (avi, mpeg, etc), chamado mplayer (o qual não entraremos no mérito neste artigo).
Onde obter
Existem diversos locais na qual você pode fazer o download gratuito do mencoder.
Caso esteja usando uma distribuição baseada no Debian , simplesmente digite (como root):
# apt-get install mencoder
Página anterior Próxima página
Páginas do artigo
1.
Introdução
2. O mencoder
3.
Como fazer
4.
Entendendo a linha de comando do mencoder
Outros artigos deste autor
Compartilhando a tela do Computador no Celular via Deskreen
Compiz Fusion: Ativando o efeito de "janela pegando fogo" e outros efeitos 3D
Configurando a placa de rede wireless RTL8187 no Ubuntu 9.04
Convertendo arquivo de vídeo em áudio via ffmpeg (incluindo metadados)
Como submeter dados de CDDB de um CD de áudio ao Freedb
Leitura recomendada
Obtendo Gnome 2.10 de modo prático!
Fãs do pinguim, vamos à luta!
LaTeX - Figuras e tabelas
O Linux e eu - uma parceria ideológica, funcional e divertida
Atualizando para KDE-3.2 usando o APT no SuSE 9
Comentários
Legal o artigo. Mas tenho uma dúvida. Poderia enviar através de HTTP ao invés de mandar para arquivo?
MARCOLINUX
tem como fazer essa mesma capturar a partir de uma webcam usb?
Mensagem
tem como fazer essa mesma capturar a partir de uma webcam usb?
cara, mesmo capturando de vhs, o ideal é pegar a imagem a 640*480, quanto mais qualidade, melhor, mas isso não vem ao caso, o que importa é que a dica é muito boa hehehe... parabens
Mensagem
cara, mesmo capturando de vhs, o ideal é pegar a imagem a 640*480, quanto mais qualidade, melhor, mas isso não vem ao caso, o que importa é que a dica é muito boa hehehe... parabens
Para a duvida do marcolinux, tem um artigo do cabelo abordando o assunto em
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2699&pagina=1 . Nesse caso ele usa o programa ffserver, mas a interface eh o v4l ou o v4l2 (se funcionar com o mencoder vai funcionar com o ffmpeg).
Sobre a pergunta do edivaldo, a webcam eh tratada pelo v4l tambem, entao funciona com webcam.
Mensagem
Para a duvida do marcolinux, tem um artigo do cabelo abordando o assunto em http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2699&pagina=1 . Nesse caso ele usa o programa ffserver, mas a interface eh o v4l ou o v4l2 (se funcionar com o mencoder vai funcionar com o ffmpeg).
Sobre a pergunta do edivaldo, a webcam eh tratada pelo v4l tambem, entao funciona com webcam.
As placas de TV que usam chipset Philips também funcionam muito bem no linux e são baratas também. Eu tenho uma.
Mensagem
As placas de TV que usam chipset Philips também funcionam muito bem no linux e são baratas também. Eu tenho uma.
Amigos, aproveitando a deixa, estou me iniciando no universo LINUX e ainda estou escolhendo a melhor distro para a edição de videos, pois sou videomaker e documentarista. O que vocês me recomendam? Ja utilizei Kurumim e atualmente estou no KUBUNTU Drapper. Caso alguem queira me recomendar DEBIAN, SUSE, enfim, estou apto a aprender a melhor forma de poder editar meus videos com qualidade o LINUX. Obrigado a todos!
Mensagem
Amigos, aproveitando a deixa, estou me iniciando no universo LINUX e ainda estou escolhendo a melhor distro para a edição de videos, pois sou videomaker e documentarista. O que vocês me recomendam? Ja utilizei Kurumim e atualmente estou no KUBUNTU Drapper. Caso alguem queira me recomendar DEBIAN, SUSE, enfim, estou apto a aprender a melhor forma de poder editar meus videos com qualidade o LINUX. Obrigado a todos!
Atualizei o mencoder e, após isto, tive que alterar alguns parâmetros do script que chama o modulo de captura do mencoder (conforme descrito no Capitulo 3 - Como Fazer, deste artigo).
Na versão original, tem-se:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=352:height=240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
A nova maneira é:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:vbitrate=900:scale=352:240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
Ou seja, em vez de:
width=352:height=240
Deve-se digitar:
scale=352:240
Outro detalhe é que -tv passa a não ser mais utilizado para este caso.
Obs.: acrescentei a opção vbitrate para que possamos ter a opção de definir o bitrate. Quanto maior o valor do bitrate, melhor a qualidade da imagem e maior o tamanho do arquivo.
Aproveito e deixo uma dica de escala:
- Para VCD:
scale=352:240
vbitrate=1200 (ou superior)
- Para avi (divx)
scale=384:288
vbitrate=900 (é suficiente)
Um abraço a todos
Andre
Mensagem
Atualizei o mencoder e, após isto, tive que alterar alguns parâmetros do script que chama o modulo de captura do mencoder (conforme descrito no Capitulo 3 - Como Fazer, deste artigo).
Na versão original, tem-se:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=352:height=240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
A nova maneira é:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:vbitrate=900:scale=352:240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
Ou seja, em vez de:
width=352:height=240
Deve-se digitar:
scale=352:240
Outro detalhe é que -tv passa a não ser mais utilizado para este caso.
Obs.: acrescentei a opção vbitrate para que possamos ter a opção de definir o bitrate. Quanto maior o valor do bitrate, melhor a qualidade da imagem e maior o tamanho do arquivo.
Aproveito e deixo uma dica de escala:
- Para VCD:
scale=352:240
vbitrate=1200 (ou superior)
- Para avi (divx)
scale=384:288
vbitrate=900 (é suficiente)
Um abraço a todos
Andre
Se estiver gravando e o video gravado estiver sem audio, experimentoe desligar a opção Saída -> PCM no Kmix, ao gravar, ligando-a novamente, ao reproduzir o video.
Mensagem
Se estiver gravando e o video gravado estiver sem audio, experimentoe desligar a opção Saída -> PCM no Kmix, ao gravar, ligando-a novamente, ao reproduzir o video.
Conforme meus ultimos testes, uma sugestão para o mencoder:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -lavcopts vbitrate=900 -endpos 00:00:05 -ovc divx4 -oac mp3lame -o <path e nome do arquivo>
Não se esqueçam de desligar a opção Saída -> PCM no Kmix, ao gravar, ligando-a novamente, ao reproduzir o video.
Um abraço
Mensagem
Conforme meus ultimos testes, uma sugestão para o mencoder:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -lavcopts vbitrate=900 -endpos 00:00:05 -ovc divx4 -oac mp3lame -o <path e nome do arquivo>
Não se esqueçam de desligar a opção Saída -> PCM no Kmix, ao gravar, ligando-a novamente, ao reproduzir o video.
Um abraço
Artigo de excelente qualidade. Consegui capturar video sem problemas, porém o som eu não consigo capturar. Uso gnome e quando vou gravar dou o comando alsamixer e deixo mute o PCM para gravar e retiro quando vou ouvir porém não consigo êxito. Peço algum amigo se possível dar uma dica, coloquei a entrada do áudio no microfone.
Valeu..
Mensagem
Artigo de excelente qualidade. Consegui capturar video sem problemas, porém o som eu não consigo capturar. Uso gnome e quando vou gravar dou o comando alsamixer e deixo mute o PCM para gravar e retiro quando vou ouvir porém não consigo êxito. Peço algum amigo se possível dar uma dica, coloquei a entrada do áudio no microfone.
Valeu..
No Mixer (Kmix no KDE).
Tente selecionando a opção "Mix" ou "Mix Mono" em vez de "Line" ou "Aux". Tenha certeza que a opção "capture" esteja clicada.
Mensagem
No Mixer (Kmix no KDE).
Tente selecionando a opção "Mix" ou "Mix Mono" em vez de "Line" ou "Aux". Tenha certeza que a opção "capture" esteja clicada.
botinha
Os kurumin acima de 6.o estão com problema de captura de audio. Nao sei se este é o seu caso mas se estiver usando o Kurumin, tente bootar com o 5 e testar.
Abs
Andre
Mensagem
botinha
Os kurumin acima de 6.o estão com problema de captura de audio. Nao sei se este é o seu caso mas se estiver usando o Kurumin, tente bootar com o 5 e testar.
Abs
Andre
Eu estou usando o ubuntu 6 com uma placa PixelView PlayTv pro Ultra, e todos esses comandos não deram certo, sempre resulta em erro.
alex@chacal:~$ mencoder tv:// -tv driver=v4l2:input=1:normid=4:vbitrate=900:scale=352:240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
MEncoder 2:0.99+1.0pre7try2+cvs20060117-0ubuntu8 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP/XP-M Barton,Thorton (Family: 6, Stepping: 0)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
91 audio & 204 video codecs
Option tv: Unknown suboption vbitrate
Exiting... (error parsing cmdline)
Alguém tem idéia de como resolver?
Mensagem
Eu estou usando o ubuntu 6 com uma placa PixelView PlayTv pro Ultra, e todos esses comandos não deram certo, sempre resulta em erro.
alex@chacal:~$ mencoder tv:// -tv driver=v4l2:input=1:normid=4:vbitrate=900:scale=352:240 -ovc divx4 -oac mp3lame -ofps 23.976 -endpos 00:30:00.0 -of avi -o motivacao_sucesso.avi
MEncoder 2:0.99+1.0pre7try2+cvs20060117-0ubuntu8 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP/XP-M Barton,Thorton (Family: 6, Stepping: 0)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
91 audio & 204 video codecs
Option tv: Unknown suboption vbitrate
Exiting... (error parsing cmdline)
Alguém tem idéia de como resolver?
Uma outra opção para quem quer um video final com XVid (Divx) e MP3 é substituir
-ovc divx4 -divx4opts q=3:br=1024:pass=1 -vf scale=384:288 -ofps 29.97
por
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -ofps 29.97
Esta ultima opção costuma funcionar com mais frequencia que a anterior.
Neste ultimo caso, "-ovc lavc -lavcopts vcodec=mpeg4 " equivale a "-ovc divx4 -divx4opts "
Abs
Andre
Mensagem
Uma outra opção para quem quer um video final com XVid (Divx) e MP3 é substituir
-ovc divx4 -divx4opts q=3:br=1024:pass=1 -vf scale=384:288 -ofps 29.97
por
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -ofps 29.97
Esta ultima opção costuma funcionar com mais frequencia que a anterior.
Neste ultimo caso, "-ovc lavc -lavcopts vcodec=mpeg4 " equivale a "-ovc divx4 -divx4opts "
Abs
Andre
Botinha
Seguinte configuraçao no Kmix:
Saida -> PCM Ligado
Entrada -> Capture ligado (bola vermelha acesa) no máximo
Alternadores -> Escolha Mix
Repare que ao Escolher Mix, a Entrada de Line e Aux são desativadas. Escolhi o Mix pois, neste, o som é capturado mais alto que nas entradas normais.
Se o som estiver "sibilando", experimente baixar o volume de gravação em -lavcopts (veja os parametros que coloquei para o Luke Duke, abaixo)
Abs
Andre
Abs
Andre
Mensagem
Botinha
Seguinte configuraçao no Kmix:
Saida -> PCM Ligado
Entrada -> Capture ligado (bola vermelha acesa) no máximo
Alternadores -> Escolha Mix
Repare que ao Escolher Mix, a Entrada de Line e Aux são desativadas. Escolhi o Mix pois, neste, o som é capturado mais alto que nas entradas normais.
Se o som estiver "sibilando", experimente baixar o volume de gravação em -lavcopts (veja os parametros que coloquei para o Luke Duke, abaixo)
Abs
Andre
Abs
Andre
Luke Duke
Tente estes outros parâmetros:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -ovc lavc -ofps 29.97 -lavcopts vcodec=mpeg4:vbitrate=900 -oac mp3lame -lameopts q=5:vbr=2:abr=160:aq=5:ratio=50:mode=0:vol=4.5 -endpos 00:00:05.0 -of avi -o teste.avi
Se o som estiver "sibilando", experimente baixar o volume de gravação em -lavcopts. O do meu ficou bom com vol=4.5
Mensagem
Luke Duke
Tente estes outros parâmetros:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -ovc lavc -ofps 29.97 -lavcopts vcodec=mpeg4:vbitrate=900 -oac mp3lame -lameopts q=5:vbr=2:abr=160:aq=5:ratio=50:mode=0:vol=4.5 -endpos 00:00:05.0 -of avi -o teste.avi
Se o som estiver "sibilando", experimente baixar o volume de gravação em -lavcopts. O do meu ficou bom com vol=4.5
André Uebe,
Achei este comando em um site. Pelo que entendi, grava e mostra o vídeo ao mesmo tempo. Testei, mas não consegui fazê-lo funcionar. Acho que a impossibilidade de se ver o que se está gravando a grande restrição o mencoder. Se resolver isto...
To record a show using mencoder you could use this:
mencoder tv:// -tv driver=v4l2:norm=PAL:fps=25:outfmt=yuy2:quality=0:input=0:width=720:height=578:chanlist=europe-west:volume=80:amode=1:normid=0:audiorate=32000:adevice=/dev/sound/dsp2:channel=SE13 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1500:keyint=25 \
-oac mp3lame -lameopts cbr:br=128:mode=0 \
-endpos 01:00:00 \
-vf pp=hb/vb/dr/al/lb,denoise3d \
-o videocap.avi
Mensagem
André Uebe,
Achei este comando em um site. Pelo que entendi, grava e mostra o vídeo ao mesmo tempo. Testei, mas não consegui fazê-lo funcionar. Acho que a impossibilidade de se ver o que se está gravando a grande restrição o mencoder. Se resolver isto...
To record a show using mencoder you could use this:
mencoder tv:// -tv driver=v4l2:norm=PAL:fps=25:outfmt=yuy2:quality=0:input=0:width=720:height=578:chanlist=europe-west:volume=80:amode=1:normid=0:audiorate=32000:adevice=/dev/sound/dsp2:channel=SE13 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1500:keyint=25 \
-oac mp3lame -lameopts cbr:br=128:mode=0 \
-endpos 01:00:00 \
-vf pp=hb/vb/dr/al/lb,denoise3d \
-o videocap.avi
Zereis
A principio este comando do mencoder só captura. Realmente, só ví usos do mencoder para captura e conversão. Tanto que para visualização, tem-se o mplayer (do mesmo pacote).
O que se pode tentar é usar um "|" (pipe).
Não sei se dá certo mas algo do tipo
mencoder (...) | mplayer
Sei lá. rs
Mensagem
Zereis
A principio este comando do mencoder só captura. Realmente, só ví usos do mencoder para captura e conversão. Tanto que para visualização, tem-se o mplayer (do mesmo pacote).
O que se pode tentar é usar um "|" (pipe).
Não sei se dá certo mas algo do tipo
mencoder (...) | mplayer
Sei lá. rs
Outra opção:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -lavcopts vbitrate=900 -endpos 00:00:05 -ovc lavc -lavcopts=mpeg4 -oac mp3lame -o teste.avi
Mensagem
Outra opção:
mencoder tv:// -tv driver=v4l2:input=1:normid=4:width=384:height=288 -lavcopts vbitrate=900 -endpos 00:00:05 -ovc lavc -lavcopts=mpeg4 -oac mp3lame -o teste.avi
PADRÃO DE CORES
--------- -- --------
Se as cores do video gravados estão irregulares ou o vídeo está em "preto e branco", altere, em "driver=v4l2:input=1:normid=4(...)" a opção:
normid=4
para
normid=1
alterando de PAL-M para NTSC
as opções possíveis para NORMID são:
0 - PAL
1 - NTSC (padrão EUA)
2 - NTSC2
3 - SECAM
4 - PAL-Mc
5 - PAL-M (padrão Brasil)
6 - PAL-N
7 - NTSC-JP7
8 - PAL-60
Abs
Andre
Mensagem
PADRÃO DE CORES
--------- -- --------
Se as cores do video gravados estão irregulares ou o vídeo está em "preto e branco", altere, em "driver=v4l2:input=1:normid=4(...)" a opção:
normid=4
para
normid=1
alterando de PAL-M para NTSC
as opções possíveis para NORMID são:
0 - PAL
1 - NTSC (padrão EUA)
2 - NTSC2
3 - SECAM
4 - PAL-Mc
5 - PAL-M (padrão Brasil)
6 - PAL-N
7 - NTSC-JP7
8 - PAL-60
Abs
Andre
tentei gravar imagem da minha placa de captura. tenho a pixelview mepeg 2. estou tentando montar um script. olhe aí o que está no script:
mencoder tv:// -tv driver=v4l2:input=0 :normid=4:width=680:height=480 -ovc divx4 -oac mp3lame -ofps 25 -endpos 00:00:30.00 -of avi -o teste.avi
e olhe o erro do shell:
MEncoder dev-SVN-r27834-4.2.3 (C) 2000-2008 MPlayer Team
CPU: AMD Sempron(tm) Processor 3100+ (Family: 15, Model: 12, Stepping: 0)
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compilado para CPU x86 com extenções: MMX MMX2 SSE SSE2
Error parsing option on the command line: -ovc
Saindo... (error parsing command line)
./gravarTv.sh: line 7: divx4: comando não encontrado
./gravarTv.sh: line 8: motivacao_sucesso.avi: comando não encontrado
onde eu estou errando?
grato.
Mensagem
tentei gravar imagem da minha placa de captura. tenho a pixelview mepeg 2. estou tentando montar um script. olhe aí o que está no script:
mencoder tv:// -tv driver=v4l2:input=0 :normid=4:width=680:height=480 -ovc divx4 -oac mp3lame -ofps 25 -endpos 00:00:30.00 -of avi -o teste.avi
e olhe o erro do shell:
MEncoder dev-SVN-r27834-4.2.3 (C) 2000-2008 MPlayer Team
CPU: AMD Sempron(tm) Processor 3100+ (Family: 15, Model: 12, Stepping: 0)
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compilado para CPU x86 com extenções: MMX MMX2 SSE SSE2
Error parsing option on the command line: -ovc
Saindo... (error parsing command line)
./gravarTv.sh: line 7: divx4: comando não encontrado
./gravarTv.sh: line 8: motivacao_sucesso.avi: comando não encontrado
onde eu estou errando?
grato.
dsbonafe
Quanto ao erro:
./gravarTv.sh: line 7: divx4: comando não encontrado
Substitua o codec
- ovc divx
para usar o divx3:
- ovc msmpeg4
Quanto ao erro:
./gravarTv.sh: line 8: motivacao_sucesso.avi: comando não encontrado
Deve ser alguma coisa errada que você digitou em -o. Veja que no comando do mencoder há:
-o teste.avi
e o erro fala de um video chamado motivacao_sucesso. Você postou o script certo?
Aguardo.
Abs
Andre
Mensagem
dsbonafe
Quanto ao erro:
./gravarTv.sh: line 7: divx4: comando não encontrado
Substitua o codec
- ovc divx
para usar o divx3:
- ovc msmpeg4
Quanto ao erro:
./gravarTv.sh: line 8: motivacao_sucesso.avi: comando não encontrado
Deve ser alguma coisa errada que você digitou em -o. Veja que no comando do mencoder há:
-o teste.avi
e o erro fala de um video chamado motivacao_sucesso. Você postou o script certo?
Aguardo.
Abs
Andre
Caros
Atualmente utilizando a Claro TV (Antiga TV Embratel), com o Ubuntu 12.04, fiz uso da seguinte configuração do mencoder:
mencoder tv:// -tv driver=v4l2:alsa:input=1:normid=1:norm=NTSC:width=720:height=576 -ovc xvid -xvidencopts bitrate=658:pass=2 -fps 29.97 -oac mp3lame -lameopts cbr:br=96 -endpos 0:00:25.0 -of avi -o teste.avi
O que mudou?
----------------------
1) Inclui o codec de audio "alsa" como padrão (pois senão ele pega o OSS e dá o erro:
Unable to open '/dev/dsp': No such file or directory
2) Passei o receptor da TV para NTSC e indiquei este formato em "norm"
No receptor da Claro TV: Ajustes --> Opções --> Sistema de Cor = NTSC
3) Diminui o volume do receptor de TV (no controle remoto) e na captura para evitar o som ficar sibilando.
-lameopts vol=0.1
Obs.: Se o som estiver sibilando, v'a baixando o volume do receptor de TV at'e ficar bom. O meu funciona bem entre 2% a 5% do volume total
Mensagem
Caros
Atualmente utilizando a Claro TV (Antiga TV Embratel), com o Ubuntu 12.04, fiz uso da seguinte configuração do mencoder:
mencoder tv:// -tv driver=v4l2:alsa:input=1:normid=1:norm=NTSC:width=720:height=576 -ovc xvid -xvidencopts bitrate=658:pass=2 -fps 29.97 -oac mp3lame -lameopts cbr:br=96 -endpos 0:00:25.0 -of avi -o teste.avi
O que mudou?
----------------------
1) Inclui o codec de audio "alsa" como padrão (pois senão ele pega o OSS e dá o erro:
Unable to open '/dev/dsp': No such file or directory
2) Passei o receptor da TV para NTSC e indiquei este formato em "norm"
No receptor da Claro TV: Ajustes --> Opções --> Sistema de Cor = NTSC
3) Diminui o volume do receptor de TV (no controle remoto) e na captura para evitar o som ficar sibilando.
-lameopts vol=0.1
Obs.: Se o som estiver sibilando, v'a baixando o volume do receptor de TV at'e ficar bom. O meu funciona bem entre 2% a 5% do volume total
Contribuir com comentário
Enviar