Я ретранслирую поток rtsp с vlc для двух камер. Вторая камера не имеет звука и работает нормально, для первой (в котором есть аудио) запуск потока завершается с ошибкой 9 из 10 раз "core decoder error: cannot continue streaming due to errors
". Однако, если потоки запускаются, он работает нормально до перезапуска. Однако я получаю некоторые ошибки на кулачке 1 (когда поток запускается правильно):
core mux warning: late buffer for mux input (145003)
И иногда (редко) получаю такие ошибки:
mux_ts предупреждение мультиплексора: пакет со слишком странным dts (dts = -6272, old = 0, pcr = 0)
Я использую VLC 2.2.4 на CentOS7 из репозитория nux-dextop:
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
Он установлен на виртуальной машине без рабочего стола и, возможно, не имеет поддержки звука (нет виртуального звукового оборудования).
vlc start скрипт для первой камеры (камер):
#!/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}}'
выход 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
Есть идеи, почему поток не запускается каждый раз? Обе камеры транслируют RTSP. Кодек h264 AVC, для звука первой камеры - mp4a
Обновить:
Подтверждено, что проблема связана со звуком. При остановленном аудиопотоке vlc работает нормально. Аудиокодек - AAC. Было установлено значение дискретизации 32 кГц / 32 кбит / с. Теперь выборка 48 кГц / 64 кбит / с - все та же проблема.
Обновить:
Пробовал разные настройки камеры для AAC - 16кГц - результат тот же. Установка звука на G.711 привела к ошибке «неподдерживаемое кодирование», но поток все еще мог начаться, хотя звук не работал.