Tentando transmitir dois C920 Logitech Webcams do Fedora usando o GStreamer para o Windows VLC Client

1

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:

link

Eu fui com a abordagem v4l2src.

Iniciando os fluxos

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

Iniciando um receptor local

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.

Iniciando minha estação de monitoramento

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

link

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;

Agora as coisas ficam suspeitas

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

    
por SciComputing 26.11.2015 / 23:05

0 respostas