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, vou mostrar 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 você não deseja acessar seu Raspberry Pi remotamente via SSH ou VNC, você precisa conectar um monitor, um teclado e um mouse ao seu Raspberry Pi também. Não vou precisar de nada disso, pois vou conectar 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 o meu artigo: Como instalar e usar o Raspberry Pi Imager.
Se você for um iniciante do Raspberry Pi e precisar de ajuda para instalar o Raspberry Pi OS no seu Raspberry Pi, consulte meu artigo: Como instalar o Raspberry Pi OS no Raspberry Pi 4.
Se você precisar de ajuda na configuração do Raspberry Pi sem cabeça, consulte o 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 é desativada por padrão no Raspberry Pi OS. Você pode habilitá-lo na ferramenta de configuração do 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
Aperte
Selecione
Selecione
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 ser instalado. No meu caso ja esta 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 (-30 fps).
- 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 (-o -).
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, poderá executar o seguinte comando para encontrar o endereço IP também.
$ hostname -I
Depois de saber o endereço IP do seu Raspberry Pi, abra o aplicativo VLC Media Player e vá para meios de comunicação > 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 Jogar.
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
Iniciando o servidor da câmera na inicialização do sistema
Iniciar manualmente o servidor da câmera a cada vez que você inicializa seu Raspberry Pi não é muito prático. Assim, 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 stream da câmera-HTTP. Serviço arquivo no / etc / systemd / system / diretório da seguinte forma:
$ sudo nano / etc / systemd / system / camera-stream-http.serviço
Digite as seguintes linhas no camera-stream-http.serviço Arquivo.
[Unidade]Description = Servidor de streaming da câmera Raspberry Pi
Depois de = rede.alvo
[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 = multiusuário.alvo
Você pode ajustar as seguintes variáveis de ambiente para configurar o servidor da câmera como achar melhor.
Ambiente = APP_RES_WIDTH = 800Ambiente = APP_RES_HEIGHT = 450
Ambiente = APP_RES_FPS = 24
Ambiente = APP_PORT = 9000
Assim que terminar, pressione
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á em execução no momento.
$ sudo systemctl status camera-stream-http.serviço
Você pode começar o camera-stream-http serviço do sistema com o seguinte comando:
$ sudo systemctl start camera-stream-http.serviço
O camera-stream-http o serviço deve estar ativo / em execução, como você pode ver na captura de tela abaixo. Então, camera-stream-http o serviço systemd está funcionando.
$ sudo systemctl status camera-stream-http.serviço
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.serviço
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 imagem abaixo.
$ sudo systemctl status raspi-home-automação.serviço
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.