Bem vindo ao linuxnarede.com.br - Dedicação e amor ao Linux - 6 anos - irc freenode #gnulinux


tutoriais relacionados a linux - dividido por categorias use o fórum para postar sua dúvida, auxiliar com seu conhecimento alguem que esteja com dúvida, debater assuntos aplicativos para linux, selecionados e divididos por categoria - Uma lista dos melhores aplicativos para Linux Fique antenado com a segurança do seu linux - tutoriais e notícias relacionadas a segurança você encontra aqui. dicas interessantes uma seleção de walpapers para você embelezar seu desktop Quem disse que o linux é feio ! Mude o visual do seu linux com temas e skins voltar a página principal


Gravando vídeo no linux com placa de tv através do Transcode

postado por nightnux - comentários 0


Gravar vídeo no linux na minha opinião é complicado, a maioria dos softwares está longe da eficiência e perfeição comparado aos softwares existentes para windows.Desde que eu começei a usar linux sempre tive a frustração de não poder gravar vídeo no linux, justamente pela péssima qualidade dos softwares existentes.A maioria grava o vídeo com perda de "frames" (quadros de imagem) e perda de sincronismo entre vídeo e áudio.

Depois de muitos testes com diversos softwares , sempre acabava ficando com o gv4l ,
que é uma GUI que usa o transcode para capturar o vídeo.O problema é que o gv4l não usa de forma eficiente os recursos que o transcode tem o vídeo gravado usando o gv4l sempre fica sem sincronismo de áudio e vídeo.Depois de muito fuçar no gv4l eu acabei ativando um recurso que deu erro na execução do transcode (opção De-interlacing) , usando a opção que mostra o log de saída do transcode , ele mostrou o comando de execução do transcode, coisa que em funcionamento normal não aparece, copiando esse comando e tirando a opção dele que ativava o De-interlacing, eu rodei o comando, e o transcode gravou o vídeo da placa de tv normalmente , da mesma forma que o gv4l fazia.De posse do comando que faz o transcode capturar vídeo da placa de tv e lendo o manual do transcode , muito mal feito por sinal , eu acabei conseguindo chegar a um comando de execução do mesmo que permite gravar o vídeo do jeito que eu queria e sem o problema de perda de sincronismo, e esse é o comando que eu vou apresentar.

Instalação do transcode

pegue o transcode aqui :
http://www.jakemsr.com/transcode/transcode-1.0.0.tar.gz

descompacte :
$ tar -zxvf transcode-1.0.0.tar.gz

entre na pasta descompactada :
$ cd transcode-1.0.0

execute os comandos :
$ ./configure --enable-v4l
$ make
$ su (senha do root)
# make install

Config do xawtv

O transcode para funcionar corretamente precisa do arquivo de configuração do xawtv (software para sintonia dos canais de tv), mas não exige que se tenha o xawtv instalado , é pelo arquivo de configuração do xawtv que o transcode obtem o parâmetro do sistema de cor.

Para quem não tem o xawtv e seu arquivo de configuração :

crie o arquivo .xawtv em seu home e nele coloque as seguintes linhas :

[global]
ratio = 4:3
freqtab = us-cable
pixsize = 128 x 96
pixcols = 1
jpeg-quality = 75
keypad-ntsc = no
keypad-partial = yes
osd = yes
osd-position = 30 , 20
use-wm-fullscreen = yes

# [Station name]
# capture = overlay | grabdisplay | on | off
# input = Television | Composite1 | S-Video | ...
# norm = PAL | NTSC | SECAM | ...
# channel = #
# fine = # (-128..+127)
# key = keysym | modifier+keysym
# color = #
# bright = #
# hue = #
# contrast = #

[defaults]
group = main
norm = PAL-M
input = television
capture = over
channel = 3
color = 40%
bright = 50%
contrast = 40%
hue = 50%

[3]
group = main
norm = PAL-M
input = television
capture = over
channel = 3
color = 40%
bright = 50%
contrast = 50%
hue = 50%

comandos de execução do transcode para a gravação de vídeo :

-----------------------------------------------------------------------------
Gravação do canal 3 (entrada de RF)

352x240 | video bitrate 800 | audio bitrate 64 | frames/second 29.970 | msmpeg4 | television channel 3

transcode -H 0 -i /dev/video0 -p /dev/dsp -g 352x240 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 0,"3" -x v4l -o "/home/megatron/video-1.avi" -w 800 -b 64 -s 0 -J pv -e 44100,16,2 -Z 352x240 -j 6,16
----------------------------------------------------------------------------
Gravação da entrada de áudio e vídeo (A/V) - vídeo ligado na entrada RCA da placa de tv e áudio ligado na entrada auxiliar da placa de som

352x240 | video bitrate 800 | audio bitrate 64 | frames/second 29.970 | msmpeg4 | composite 1

transcode -H 0 -i /dev/video0 -p /dev/dsp -g 352x240 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 1,"0" -x v4l -o "/home/megatron/video-1.avi" -w 800 -b 64 -s 0 -J pv -e 44100,16,2 -Z 352x240 -j 6,16
----------------------------------------------------------------------------

para encerrar a gravação tecle CTRL esq + C no terminal onde o comando do transcode foi executado ...

obs.: antes de inciar uma gravação use o controle de volume aumix (mais fácil), e coloque em modo de gravação (botão vermelho) a entrada de áudio da placa de som, onde está o cabo de áudio da placa de tv (gravação da entrada de antena RF) ou a entrada de áudio onde estão os cabos de áudio da fonte de sinal de vídeo (gravação da entrada A/V).Caso no preview da captura de vídeo a imagem apareça "distorcida" , siguinifica que a placa de tv precisa ser iniciada por algum software antes de dar início a gravação de vídeo , nesse caso o recomendável é usar o xawtv pra sintonizar algum canal ou ativar a entrada A/V , portanto : se voce não tem o xawtv instalado , instale-o.Esse problema ocorre até com os softwares de captura no windows.

analisando as principais opções do comando do transcode :

-i /dev/video0 ---> dispositivo de vídeo da placa de tv

-p /dev/dsp ---> dispositivo da placa de som

-g 352x240 ---> resolução da captura de vídeo

-f 0,4 ---> frames/segundo a serem capturados
0,1 ---> 23.976
0,2 ---> 24
0,3 ---> 25
0,4 ---> 29.970
0,5 ---> 30
0,6 ---> 50
0,7 ---> 59.940
0,8 ---> 60
0,9 ---> 1
0,10 ---> 5
0,11 ---> 10
0,12 ---> 12
0,13 ---> 15

-y ffmpeg -F msmpeg4 ---> codec usado , no caso msmpeg4 (divx)

--import_v4l 1,"0" -x v4l ---> define qual entrada da placa de tv será usada
0,"3" ---> entrada de RF / canal 3
0,"5" ---> entrada de RF / canal 5
1,"0" ---> entrada de áudio e vídeo (A/V)
2,"0" ---> entrada super vhs (SVHS)

-o "/home/megatron/video-1.avi" ---> arquivo do vídeo capturado (video-1.avi)

-w 800 ---> bitrate de captura do vídeo (800K)

-b 64 ---> bitrate de captura do áudio (64K)

-J pv ---> ativa o preview da gravação do vídeo

-e 44100,16,2 ---> força o valor da frequencia de amostragem do som de entrada , bits por amostragem e número de canais de som

-Z 352x240 -j 6,16 ---> gera vídeo de saída com redimensionamento de bordas da tela na resolução especificada por -Z
esse comando é útil para eliminar um defeito da transmissão do sinal de vídeo da tv por assinatura tecsat , que gera uma faixa lateral na imagem e ainda mostra o id do receptor e o nome tecsat na parte inferior da imagem.

Megatron , líder dos Decepticons
megatron.lider.decepticon@gmail.com
http://planetacybertron.cjb.net
http://megatron.homelinux.org

Acompanhe

© linuxnarede.com.br - Todos os direitos reservados.
Linux é uma marca registrada de Linus Torvalds.