O manifesto DASH para Livestream gerado pelo FFMPEG é inválido, mas ainda pode ser reproduzido em alguns players

O manifesto DASH para Livestream gerado pelo FFMPEG é inválido, mas ainda pode ser reproduzido em alguns players

Estou tentando incorporar um fluxo RTSP de uma câmera IP em um site. Eu descobri que incorporar um RTSP diretamente é complicado e cheio de recursos, além de exigir que o usuário execute algumas ações cruciais (instalar diferentes players como o VLC ou ativar alguns plug-ins do navegador), então decidi converter o stream RTSP em um live transmitir (HLS ou MPEG-DASH) em tempo real, usando FFMPEG. Quando tento gerar arquivos HLS, a carga da CPU salta para 100%, então pensei (como meu servidor de vídeo é muito fraco, com uma CPU de núcleo único) que MPEG-DASH é a opção para eu continuar, pois é adiciona 2-3% da carga da CPU, o que é mais do que aceitável. No entanto, quando tento validar meu arquivo manifest.mpd comhttps://conformance.dashif.org/ele retorna o seguinte:

✔ XLink resolving
✖ MPD Validation
✖ Schematron Validation

Tentei reproduzir o manifesto da transmissão ao vivo comDash.jsmas o player fica preso no estado Carregando. No entanto, quando tento reproduzir o manifesto deste livestram comVLC,JW Jogador 8eOOPlayer, funciona perfeitamente. Ainda assim, ffproberetorna: http://MY_PUBLIC_IP:PORT/mpeg-dash/manifest.mpd: Invalid data found when processing input. O que estou fazendo de errado e como gerar meus arquivos de painel para que possam ser reproduzidos com reprodutores convencionais (e gratuitos) comoDash.js?

Recursos:

Atualmanifest.mpd.

O comando que estou usando:ffmpeg -i rtsp://USERNAME:[email protected]:554/live -an -c:v copy -b:v 2000k -f dash -window_size 10 -extra_window_size 0 -min_seg_duration 2000000 -use_timeline 1 -use_template 1 -remove_at_exit 1 /var/www/camera/mpeg-dash/manifest.mpd

informação relacionada