Palestra do FISL: Suporte Multimídia no Kernel

Continuando os resumos das palestras, ontem minha segunda participação no evento na palestra Suporte Multimídia no Kernel, realizada pelo professor Mauro Carvalho Chehab.

Mauro é o atual mantenedor do módulo V4L (Video For Linux), que disponibiliza suporte à dispositivos de vídeo e audio no kernel.

Algo que percebi desde o primeiro momento era o altíssimo nível técnico ministrado pelo palestrante. Pessoas como eu, que não são ligadas diretamente ao desenvolvimento de extenções do kernel, podem ficar um pouco confusas com o uso de systemcalls como ioctl(), dentre outras, que foram utilizadas naturalmente pelo Professor Mauro. Escrevo aqui então algumas informações que foram por mim abstraídas nos 45 minutos de palestra.

Bem, o início da palestra foi marcada com algumas citações à fontes de leitura para pessoas que queiram contribuir com o projeto ou mesmo com o kernel. Segue abaixo alguns sítios Web que agregam informações importantes:

Mauro contou um pouco da história do V4L, que inicialmente era chamado de BTTV, que foi inicialmente desenvolvido em 1996.

Também foi citado os tipos de dispositivos suportados pelo driver, como WebCams, placas de rádio e TV, CCTV (Closed-Circuit Television) e placas de captura de imagens.

O driver V4L está hoje em sua segunda versão, sendo também chamado V4L2, que agora tem suporte à quatro interfaces de comunicação diferentes:

  • Captura de vídeo obtem os dados do vídeo de uma câmera ou outro dispositivo. Na verdade, esta é a interface mais facilmente associada ao V4L2.
  • Saída de vídeo permite que aplicativos manipulem periféricos que podem prover imagens, como na forma de um sinal de televisão, fora do computador.
  • VBI providencia um acesso aos dados transmitidos durante os intervalos de vídeo, como recursos de closed-caption.
  • Rádio provê acesso a streamings AM e FM de dispositivos receptores.

Existe um subsistema para WebCams chamado de Sensor que irá realizar a captação da luz ambiente e irá transformar estas informações em dados que será enviado ao decodificador de vídeo para que possa realizar a decodificação de acordo com a luz ambiente.

O V4L2 é dividido em camadas distintas de acordo o nível de abstração das instruções:

  1. v4l2-common, ir-common, video-buf, tuner (código comum, à nível de aplicação do usuário)
  2. v4l1-compat, compat-ioctl32 (compatibilidade de API)
  3. videodev, is2_core (núcleo do V4L)

I2C é o protocolo de comunicação utilizado no barramento interno do kernel, sendo que V4L também o utiliza para comunicação entre os outros processos.

O V4L2 disponibiliza hoje 90 comandos possíveis para manipulação dos dados por ele processados, dentre comandos para acesso ao meio e coleta de informações.

Desde que Mauro Carvalho Chehab assumiu as atividades do projeto, algumas atividades importantes já foram realizadas, como:

  • Conversão da API V4L1 para V4L2.
    Acesso direto ao kernel através de uma nova systemcall.
  • Separação da ponte com o usuário do sensor da webcam, permitindo assim o reuso de sensores entre várias webcams.
  • Criação de um API para softwares que desejam utiliza os recursos específicos do V4L2.

O novo driver para o kernel 2.6.22 já tem suporte às tecnologias ivtv e zr364xx (suporte à várias câmeras USB)

Hoje o V4L2 suporte todos os principais padrões da TV Digital, como:

  • DVB
  • ATSC
  • ISDB
  • GB 20600

A palestra foi encerrada com algumas perguntas sobre a TV Digital e seu novo formato para ser utilização no Brasil.

Fui em outras palestras ontem, tenho inclusive as anotações, mas irei postando assim que puder cada uma delas.

Até mais! 😀

Um comentário sobre “Palestra do FISL: Suporte Multimídia no Kernel

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *