Minhas desculpas antecipadamente por violar qualquer etiqueta / regras relativas à postagem no SuperUser. Este é meu primeiro post.
Primeiro de tudo, eu sou um amador de streaming de vídeo - a solução que eu tenho "remendada" é apenas pesquisando vários sites.Em segundo lugar, não estou preso a nenhuma arquitetura escolhida (com a exceção de o Fedora ser a fonte de streaming). VLC / windows podem todos sair pela janela se as pessoas tiverem melhores soluções. As soluções pagas também são bem-vindas, mas o código aberto é o preferido.
Eu tenho 6 estações de teste onde as pessoas fazem testes e gostaria de monitorá-las usando duas Webcams Logitech C920. Os testes são executados no Fedora e seria bom aproveitar os mesmos computadores para transmitir as webcams. Todos os sistemas são executados em uma rede de 1 gigabit.
Para configurar o gstreamer, pesquisei os exemplos configurados pelo OZ9AEC em seu site:
Eu fui com a abordagem v4l2src.
Então, para transmitir as duas câmeras, eu corro os seguintes comandos.
gst-launch-1.0 v4l2src device = / dev / video1! video / x-h264, largura = 1280, altura = 720, f ramerate = 30/1! h264parse! rtph264pay config-interval = 3! clientes multiudpsink = 192.168.2.57:2511,127.0.0.1:2511
gst-launch-1.0 v4l2src device = / dev / video2! video / x-h264, largura = 1280, altura = 720, f ramerate = 30/1! h264parse! rtph264pay config-interval = 3! clientes multiudpsink = 192.168.2.57:2512,127.0.0.1:2512
De acordo com meu conhecimento limitado do gstreamer, isso deve ser transmitido para dois clientes UDP - minha máquina windows e meu localhost
Para verificar se as coisas estão realmente transmitindo, eu lancei dois clientes locais do gstreamer localmente na mesma máquina.
gst-launch-1.0 udpsrc port = 2511 caps = 'aplicativo / x-rtp, mídia = (string) video, cl ock-rate = (int) 90000, nome-de-codificação = (string) H264 '! rtph264depay! avdec_h264! uma utovideosink fps-update-interval = 1000 sync = falso
gst-launch-1.0 udpsrc port = 2512 caps = 'aplicativo / x-rtp, mídia = (string) video, cl ock-rate = (int) 90000, nome-de-codificação = (string) H264 '! rtph264depay! avdec_h264! uma utovideosink fps-update-interval = 1000 sync = falso
Eu lancei esses comandos e duas telas de vídeo aparecem, transmitindo os vídeos.
O próximo passo é usar o VLC para monitorar minhas 12 webcams.
Eu configurei 12 arquivos sdp, cada um representando cada um dos meus streams
Eu escolho o VLC porque ele tem um ótimo botão para gravar o fluxo a qualquer momento, então não podemos monitorar, mas também gravar quando quisermos.
Aqui estão dois arquivos sdp de amostra:
192.168.124.1_2511.sdp
v = 0 c = IN IP4 192.168.124.1 s = ESP H264 + AAC STREAM m = video 2511 RTP / AVP 96 a = mapa rtp: 96 H264 / 90000 a = fmtp: 96 media = video; taxa de relógio = 90000; nome-de-codificação = H264;
192.168.124.1_2512.sdp
v = 0 c = IN IP4 192.168.124.1 s = ESP H264 + AAC STREAM m = video 2512 RTP / AVP 96 a = mapa rtp: 96 H264 / 90000 a = fmtp: 96 media = video; taxa de relógio = 90000; nome-de-codificação = H264;
Se eu iniciar o VLC e abrir os arquivos sdp, apenas o primeiro aberto se conectará e mostrará um fluxo.
A segunda janela VLC simplesmente desistirá e terminará.
Se eu lançar o 192.168.124.1_2511 primeiro, então 192.168.124.1_2512 irá falhar.
Se eu lançar o 192.168.124.1_2512 primeiro, então 192.168.124.1_2511 irá falhar.
No entanto, com 6 estações, recebo apenas 6 streams de vídeo, não 12.
O trabalho atual é comprar um segundo sistema de monitoramento e apenas transmitir 192.168.124.1_2511 para um e 192.168.124.1_2512 para o outro, mas isso não é adequado, porque temos mais de uma estação de monitoramento, então, em vez de 3 computadores para 3 estações de monitoramento, precisamos de 6 computadores. Cada computador é configurado com placas gráficas avançadas, por isso os custos aumentam rapidamente.
Talvez os problemas estejam com o gstreamer e eu estou empurrando muitos dados pela minha rede? Qualquer conselho sobre como reduzir a carga da rede também é bem-vindo.
Minhas desculpas novamente se eu tiver cometido algum erro em minha postagem ou violado a etiqueta de postagem.
Muito obrigado antecipadamente e feliz Dia de Ação de Graças dos EUA,
DrDeveloper