Estou transmitindo novamente o fluxo de rtsp com vlc para duas câmeras. A segunda câmera não tem áudio e funciona bem, pois a primeira ( qual tem áudio ) começa a falhar 9 de 10 vezes com erro " core decoder error: cannot continue streaming due to errors
" . No entanto, se os fluxos começarem, funcionará bem até ser reiniciado. No entanto eu recebo alguns erros na cam 1 (quando o fluxo começa corretamente):
core mux warning: late buffer for mux input (145003)
E algumas vezes (raramente) recebo esses erros:
mux_ts mux warning: pacote com dts muito estranhos (dts = -6272, old = 0, pcr = 0)
Estou usando o VLC 2.2.4 no CentOS7 do repositório nux-dextop:
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
Ele está instalado na máquina virtual sem desktop e provavelmente não tem suporte de áudio (nenhum hardware de áudio virtual) .
script de inicialização vlc para a (s) primeira (s) câmera (s):
#!/bin/bash
URL="rtsp://192.168.40.201:554/axis-media/media.amp"
#--rtsp-frame-buffer-size=200000 \
sudo -u vlc cvlc -v \
--loop --http-reconnect --http-continuous -I dummy $URL \
--logfile=/var/log/bird-cam1.log \
--sout '#transcode{}'\
':duplicate{dst=std{access=livehttp{seglen=3,delsegs=true,numsegs=5,index=/var/www/html/live/cam1/mystream.m3u8,index-url=http://10.20.30.40/live/cam1/mystream-########.ts},mux=ts{use-key-frames},'\
'dst=/var/www/html/live/cam1/mystream-########.ts},'\
'dst=std{access=http,mux=ts,dst=:8081/video.mp4}}'
saída de vlc
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
[0000000000b4f348] core interface error: no suitable interface module
[0000000000a50118] core libvlc error: interface "globalhotkeys,none" initialization failed
[0000000000b4f348] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0000000000b4f348] core interface error: no suitable interface module
[0000000000a50118] core libvlc error: interface "dbus,none" initialization failed
[0000000000b4f348] dummy interface: using the dummy interface module...
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (100000). 75129 bytes of trailing data will be dropped!
[00007fb95c0009b8] core input error: ES_OUT_RESET_PCR called
[00007fb960005148] mux_ts mux warning: packet with too strange dts (dts=-6457,old=0,pcr=0)
[00007fb9604d1228] mux_ts mux warning: packet with too strange dts (dts=-6457,old=0,pcr=0)
[00007fb95c0009b8] core input error: ES_OUT_RESET_PCR called
[00007fb96051d348] core decoder error: cannot continue streaming due to errors
Alguma idéia de por que o fluxo não é iniciado toda vez? Ambas as câmeras transmitem RTSP. Codec h264 AVC, para o primeiro áudio da câmera é mp4a
Atualização:
Confirmado que o áudio está causando o problema. Com fluxo de áudio parado vlc funciona muito bem. Codec de áudio é AAC. Foi configurado para amostragem de 32kHz / 32 kbit / s. Agora é amostragem de 48kHz / 64kbit / s - continua o mesmo problema.
Atualização:
Eu tentei configurações diferentes na câmera para AAC - 16kHz - mesmo resultado. A configuração de áudio para o G.711 resultou em um erro "sem suporte codificado", mas o fluxo ainda podia ser iniciado mesmo que o áudio não estivesse funcionando.
Tags video-streaming linux centos7