Configurar um servidor de streaming em tempo real (RTSP)
Instale os pacotes necessários:
raspberrypi ~ $ sudo apt-get install vlc
Execute o UV4L com o driver raspicam :
raspberrypi ~ $ uv4l --driver raspicam --auto-video_nr --framerate 25 --encoding=h264 --extension-presence=0 [core] Dispositivo detectado! [core] Registrando o nó do dispositivo /dev/video0
Opcionalmente, forneça uma política de agendamento em tempo real ao processo do driver para melhor desempenho (que é o mesmo que executar uv4l com sudo uv4l –sched-rr ):
raspberrypi ~ $ sudo greyhound -a -r -p 99 `pgrep uv4l`
Execute o servidor de streaming VideoLan em tempo real no seu Raspberry Pi com a resolução preferida:
raspberrypi ~ $ cvlc -vvv v4l2c:///dev/video0:width=640:height=480:chroma=H264 --sout '#rtp{sdp=rtsp://:8554/}' --demux h264
embora mais apropriado em teoria, o comando acima foi relatado como vazando memória por causa de algumas versões com bugs do cvlc . Se este for o caso, tente o seguinte comando alternativo para executar o servidor:
raspberrypi ~ $ dd if=/dev/video0 bs=1M | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' --demux=h264
Agora você pode se conectar ao seu Raspberry Pi do cliente, por exemplo (não se esqueça da barra final):
mypc ~ $ vlc rtsp://raspberrypi:8554/
onde raspberrypi é o nome do host ou IP do seu RaspberryPi.
Você pode definir qualquer propriedade de imagem em tempo real (enquanto a câmera está transmitindo). Por exemplo, para listar todos os controles disponíveis e alterar o brilho:
raspberrypi ~ $ sudo apt-get install v4l-utils raspberrypi ~ $ v4l2-ctl --list-ctrls --device /dev/video0 brilho (int): min=0 max=100 step=1 default=50 value=50 contraste (int): min=-100 max=100 step=1 default=0 value=0 saturação (int): min=-100 max=100 step=1 default=0 value=0 iso (int): min=0 max=1200 step=1 default=400 value=400 horizontal_mirror (bool): default=0 value=0 vertical_mirror (bool): default=0 value=0 nitidez (int): min=-100 max=100 step=1 default=0 value=0 raspberrypi ~ $ v4l2-ctl --set-ctrl=brightness=50 --device=/dev/video0
Uma interface mais amigável para alterar as propriedades da imagem durante a transmissão com este/qualquer método é a página da Web do Painel de controle que acompanha o plug-in HTTP Streaming Server para UV4L.