Eu encontrei uma solução que funciona muito bem.
Esta solução usa o VLC para todo o trabalho. O vídeo é capturado da Webcam USB, compactado e exibido na Web. Stream é compatível com HTML 5, por isso pode ser usado para streaming.
Esta solução está usando o VLC para todo o processo:
vlc -v v4l2:///dev/video0:width=320:height=240 --v4l2-chroma=UYVY --v4l2-fps=5 --sout "#transcode{vcodec=theo,vb=256,scale=1,acodec=none,fps=25}:standard{access=http,mux=ogg,dst=:8081/stream.ogg}"
Eu fiz testes com o Intel Atom D525. O uso da CPU é de cerca de 20% e a transferência de rede é de 60kB / s
Para reproduzir vídeo, basta abrir o navegador que suporta html5 ogg (Firefox) no endereço:
-
http://localhost:8081/stream.ogg
ou outro VLC
-
vlc http://localhost:8081/stream.ogg ----network-caching=100
Se você deseja melhorar a imagem, pode alterar
-
vb=1024
Basta fazer algumas provas. (bit (não byte) por segundo) - %código%. Verifique as resoluções disponíveis da webcam
Existem muitas coisas que você precisa verificar se a sua CPU está muito alta. Sua câmera precisa suportar nativamente a resolução escolhida e o espaço de cores. Qualquer conversão na CPU é lenta! Tente escolher outros width=640:height=480
(UYVY, YUY2, RV24, RV32, MJPEG, ...).
Para verificar quais são os recursos das câmeras, você pode usar o programa --v4l2-chroma=UYVY
. Pode ser instalado através do Centro de Software.