Portál AbcLinuxu, 10. května 2025 02:47
Zdravim vas,
bojuji se live streamem obrazu kamery od Hikvision (DS-6101HFI-IP, technicky se jedna o video server s pripojenou analogovou kamerou).
Na server (FreeBSD) mam nainstalovane VLC 1.1.5 (VLC media player 1.1.5 The Luggage), vlc bere z hikvision video stream (h264) pomoci rtsp ( vlc -I dummy rtsp://IP_adresa_hivision --rtsp-caching=30000 --rtsp-user=xxx --rtsp-pwd=yyy), tento stream transkoduji a nabizim dale pres http, zhruba takto --sout="#transcode{vcodec=flv,vb=512,fps=15,scale=1,acodec=none}:http{dst=:8081/streamXYZ.flv}"
Pomoci jwplayeru embeddovaneho do stranky se nasledne pripojuji k http streamu IP_adresa_stream_server:8081/streamXYZ.flv.
Po spusteni instance vlc a ~30 vterinach (nez se nalouduje rtsp cache) vidim v prehravaci live stream z kamery.
Bohuzel po nejake dobe toto prestane fungovat, vlc prubezne hlasi do konsole tyto chyby
vbv buffer overflow - velmi casto
number of reference frames exceeds max (probably corrupt input), discarding one - zridka
A nakonec vse zhavaruje na tomto
get_buffer() failed (-1 1073741824 2 0x0)
decode_slice_header error
no frame!
Otazka co s tim, kdyz ne vyresit uplne, aby stream jel, tak alespon detekovat kdy k tomu dojde a restartovat vlc (parsovat vystup z vlc, bezi mi jako demon a pripadne restart, lze poslat napr. signal do vlc procesu, aby zkusil znova restartovat stream, nebo musim celou instakci killnout a nahodit?). Stream vydrzi funkcni ~ 5minut, pote havaruje.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.