O módulo da câmera oficial Raspberry Pi pode ser usado como uma câmera de segurança. Você pode compartilhar o fluxo de vídeo da câmera na rede e acessá-lo remotamente de qualquer dispositivo em sua rede local (LAN).
Você pode usar o reprodutor de mídia VLC para compartilhar o fluxo de vídeo em uma porta TCP e acessá-lo de qualquer dispositivo em sua rede local (LAN) usando o reprodutor de mídia VLC.
Neste artigo, mostrarei como construir uma câmera de segurança Raspberry Pi e transmitir a transmissão de vídeo da câmera do Raspberry Pi usando o reprodutor de mídia VLC.
Então vamos começar!
Coisas que você vai precisar
Para seguir este artigo, você precisará dos seguintes itens:
- Raspberry Pi 3 ou Raspberry Pi 4
- Módulo de câmera Raspberry Pi
- Adaptador de alimentação micro-USB (Raspberry Pi 3) ou USB Type-C (Raspberry Pi 4)
- Cartão MicroSD de 16 GB ou 32 GB com Raspberry Pi OS instalado
- Conectividade de rede no Raspberry Pi
- Laptop ou um computador desktop para desktop remoto VNC ou acesso SSH ao Raspberry Pi.
NOTA : Se não quiser acessar seu Raspberry Pi remotamente via SSH ou VNC, você também precisa conectar um monitor, um teclado e um mouse ao Raspberry Pi. Não vou precisar de nenhum deles, pois estarei conectando meu Raspberry Pi remotamente via VNC ou SSH. Minha configuração é chamada de configuração sem cabeça de Raspberry Pi.
Se você precisar de ajuda para atualizar a imagem do Raspberry Pi OS no cartão microSD, consulte meu artigo: Como instalar e usar o Raspberry Pi Imager.
Se você é um iniciante do Raspberry Pi e precisa de ajuda para instalar o Raspberry Pi OS em seu Raspberry Pi, verifique meu artigo: Como instalar o Raspberry Pi OS no Raspberry Pi 4 .
Se você precisar de qualquer ajuda na configuração sem cabeça do Raspberry Pi, verifique meu artigo: Como instalar e configurar o Raspberry Pi OS no Raspberry Pi 4 sem monitor externo.
Se precisar de ajuda para conectar o módulo da câmera Raspberry Pi ao Raspberry Pi, consulte meu artigo: Usando o Módulo de Câmera Raspberry Pi .
Ativando o Módulo de Câmera Raspberry Pi
A interface da câmera é desabilitada por padrão no Raspberry Pi OS. Você pode habilitá-lo na ferramenta de configuração Raspberry Pi, raspi-config .
Inicie a ferramenta de configuração Raspberry Pi com o seguinte comando:
$ sudo raspi-config
Selecione Opções de interface e pressione .
Selecione Câmera e pressione .
Selecione e pressione .
pressione .
Selecione e pressione .
Selecione e pressione . O Raspberry Pi deve reiniciar e as alterações devem ser aplicadas.
Instalando o VLC Media Player
O VLC Media Player está disponível no repositório oficial de pacotes do Raspberry Pi OS. Portanto, é fácil instalá-lo no Raspberry Pi OS.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
Para instalar o VLC Media Player, execute o seguinte comando:
$ sudo apt install vlc -y
O VLC Media Player deve estar instalado. No meu caso, já está instalado.
Criando um servidor de câmera com o VLC Media Player
o raspivo comando é usado para gravar vídeo do módulo de câmera Raspberry Pi. Eu expliquei como usar o raspivo comando para gravar um vídeo usando Raspberry Pi em meu artigo Usando o Módulo de Câmera Raspberry Pi .
O VLC Media Player possui um reprodutor de linha de comando cvlc . Você pode usar o cvlc comando para compartilhar um fluxo de vídeo em uma porta TCP. Neste caso, o fluxo de vídeo do módulo da câmera Raspberry Pi.
Para compartilhar o vídeo da câmera Raspberry Pi em uma porta TCP usando o VLC Media Player, execute o seguinte comando:
$ raspivid -o - -t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv stream: /// dev / stdin--sout '#standard {access = http, mux = ts, dst =: 9000}': demux = h264
o raspivo comando é usado para gravar o vídeo do módulo de câmera Raspberry Pi.
Aqui está o seguinte significado do comando abaixo:
- A largura do vídeo será de 1920 pixels
- A altura do vídeo será de 1080 pixels ( -h 1080 )
- O vídeo será invertido horizontalmente ( -hf )
- O vídeo será gravado a 30 quadros por segundo ( -fps 30 )
- O vídeo será gravado por um número ilimitado de segundos ( -t 0 )
- O fluxo de vídeo será impresso no terminal em vez de salvá-lo no arquivo ( -ou - )
Você pode alterar qualquer uma dessas opções conforme achar adequado.
o cvlc comando é usado para abrir uma porta TCP e enviar o vídeo da câmera Raspberry Pi na porta TCP.
O feed de vídeo é obtido da entrada padrão ( stream: /// dev / stdin ) do terminal (usando um tubo | )
O VLC usará o codec TS para multiplexação ( –Sout ‘#standard {…, mux = ts,…}’ ) o feed de vídeo de entrada e o codec H264 para demultiplexação ( : demux = h264 ) o feed de vídeo de saída.
O stream de vídeo estará disponível na porta HTTP 9000 ( –Sout ‘#standard {access = http,…, dst =: 9000}’ )
Depois de executar o comando e o armazenamento em buffer estiver concluído, você pode transmitir o vídeo de qualquer dispositivo na rede usando o VLC Media Player.
Transmitindo o feed da câmera do servidor da câmera Raspberry Pi
Para acessar o feed da câmera de outros dispositivos em sua rede doméstica (LAN), você precisa saber o endereço IP do seu Raspberry Pi.
Você pode encontrar o endereço IP do seu Raspberry Pi na interface de gerenciamento da web do seu roteador doméstico. No meu caso, o endereço IP é 192.168.0.103. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu a partir de agora.
Se você tiver acesso ao console do Raspberry Pi, também poderá executar o seguinte comando para localizar o endereço IP.
$ hostname -I
Depois de saber o endereço IP do seu Raspberry Pi, abra o aplicativo VLC Media Player e vá para Metade > Abrir fluxo da rede ... como mostrado na imagem abaixo.
Digite a URL do servidor da câmera no Insira um URL de rede seção. No meu caso, o URL é http://192.168.0.103:9000 .
Depois de digitar o URL, clique em Toque .
O VLC Media Player deve começar a transmitir o feed de vídeo do Raspberry Pi, como você pode ver na captura de tela abaixo.
Agora, pare o servidor de câmera pressionando + C .
Iniciando o servidor da câmera na inicialização do sistema
Iniciar manualmente o servidor da câmera a cada vez que você inicializa o Raspberry Pi não é muito prático. Portanto, podemos criar um serviço systemd para o servidor de câmera que irá iniciar automaticamente o servidor de câmera na inicialização.
Primeiro, crie um camera-stream- HTTP. Serviço arquivo no / etc / systemd / system / diretório da seguinte forma:
$ sudo nano /etc/systemd/system/camera-stream-http.service
Digite as seguintes linhas no camera-stream-http.service Arquivo.
[Unidade]Description = Servidor de streaming da câmera Raspberry Pi
Depois de = network.target
[Serviço]
WorkingDirectory = / home / pi
Ambiente = APP_RES_WIDTH = 800
Ambiente = APP_RES_HEIGHT = 450
Ambiente = APP_RES_FPS = 24
Ambiente = APP_PORT = 9000
ExecStart = / bin / bash -c 'raspivid -o - -t 0 -hf -w $ APP_RES_WIDTH -h
$ APP_RES_HEIGHT -fps $ APP_RES_FPS | cvlc -vvv stream: /// dev / stdin
--sout '#standard {access = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = herdar
StandardError = herdar
Reiniciar = sempre
User = pi
[Instalar]
WantedBy = multi-user.target
Você pode ajustar as seguintes variáveis de ambiente para configurar o servidor da câmera conforme achar necessário.
Ambiente = APP_RES_WIDTH = 800Ambiente = APP_RES_HEIGHT = 450
Ambiente = APP_RES_FPS = 24
Ambiente = APP_PORT = 9000
Quando terminar, pressione + X seguido pela E, e para salvar o camera-stream-http.service Arquivo.
Recarregue os daemons do systemd para que as alterações tenham efeito da seguinte forma:
$ sudo systemctl daemon-reload
Como você pode ver, o camera-stream-http O serviço systemd não está sendo executado no momento.
$ sudo systemctl status camera-stream-http.service
Você pode começar o camera-stream-http serviço do sistema com o seguinte comando:
$ sudo systemctl start camera-stream-http.service
o camera-stream-http o serviço deve estar ativo / funcionando, como você pode ver na imagem abaixo. Então, camera-stream-http O serviço systemd está funcionando.
$ sudo systemctl status camera-stream-http.service
Você pode adicionar o camera-stream-http serviço systemd para a inicialização do sistema do Raspberry Pi OS com o seguinte comando:
$ sudo systemctl enable camera-stream-http.service
Para que as alterações tenham efeito, reinicie o Raspberry Pi com o seguinte comando:
$ sudo reboot
Assim que seu Raspberry Pi for inicializado, o camera-stream-http O serviço systemd deve estar ativo / em execução, como você pode ver na captura de tela abaixo.
$ sudo systemctl status raspi-home-automation.service
Conclusão
Neste artigo, mostrei como construir uma câmera de segurança Raspberry Pi e acessar o feed de vídeo de sua rede doméstica (LAN) usando o VLC Media Player. Se você deseja apenas uma configuração simples de câmera de segurança Raspberry Pi, este artigo deve ajudá-lo a começar.