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
|