rtsp-proxy -- проблемы приёма потока

204 views
Skip to first unread message

Dmitry

unread,
Apr 27, 2020, 12:36:41 AM4/27/20
to avreg-users
Приветствую!

Необходимо из одной подсети в другую перебросить rtsp поток от 2-х камер KENO

Поднят Debian 10 (2xEth), на нём Avreg 6.3 html5, (avreg-server-mysql + avreg-gst-rtsp-proxy)
Краткие рекомендации по настройке вы присылали.

Ситуация:
В режиме просто просмотрщика realtime avreg работает. Картинки с камер показывает.
---
Apr 27 05:36:21 hostname avregd: cam[2]: capture started(1)
Apr 27 05:36:22 hostname avregd: cam[3]: capture started(1)
---

Но как только включаем use_rtsp_proxy = gstreamer (Наблюдение -> трансляция -> rtsp proxy) - получаем в логах:
---
Apr 27 05:33:56 hostname avregd: msgbus: avreg-gst-rtsp-proxy: started (#1/1), pid=3419, fd=16
Apr 27 05:34:04 hostname avregd: cam[3]: capture (V) failed: Invalid data found when processing input
Apr 27 05:34:04 hostname avregd: cam[2]: capture (V) failed: Invalid data found when processing input
Apr 27 05:38:40 hostname avregd: critical error: unable to capture any video/audio frames during the last 10 seconds
---
В avreg-gst-rtsp-proxy.log:
---
2020-04-27 05:38:22 avreg-gst-rtsp-proxy-INFO: cam[2] address poll = [239.192.74.1..239.192.74.10]; ports = [2010..2019]; ttl = 1
2020-04-27 05:38:22 avreg-gst-rtsp-proxy-INFO: cam[2] add mount point "media" => "/avreg-media/2/media.amp"
2020-04-27 05:38:22 avreg-gst-rtsp-proxy-INFO: cam[3] address poll = [239.192.74.1..239.192.74.10]; ports = [2020..2029]; ttl = 1
2020-04-27 05:38:22 avreg-gst-rtsp-proxy-INFO: cam[3] add mount point "media" => "/avreg-media/3/media.amp"
2020-04-27 05:38:22 avreg-gst-rtsp-proxy-INFO: ready at rtsp://*:8554
0:00:00.999278330 3658 0x56482b83aca0 ERROR rtspclient rtsp-client.c:1012:find_media: client 0x56482b8500d0: not authorized to see factory path /avreg-media/3/media.amp
0:00:00.999338507 3658 0x56482b83aca0 ERROR rtspclient rtsp-client.c:2899:handle_describe_request: client 0x56482b8500d0: no media
2020-04-27 05:38:23 avreg-gst-rtsp-proxy-INFO: uridecodebin: setup "rtspsrc" source by gstprox_rtspsrc_opts = "latency=200 tcp-timeout=5000000 timeout=3000000"
0:00:21.005280455 3658 0x56482b83aca0 WARN rtspmedia rtsp-media.c:2991:wait_preroll: failed to preroll pipeline
0:00:21.005357681 3658 0x56482b83aca0 WARN rtspmedia rtsp-media.c:3295:gst_rtsp_media_prepare: failed to preroll pipeline
0:00:21.016696678 3658 0x56482b83aca0 ERROR rtspclient rtsp-client.c:1044:find_media: client 0x56482b8500d0: can't prepare media
0:00:21.017526232 3658 0x56482b83aca0 ERROR rtspclient rtsp-client.c:2899:handle_describe_request: client 0x56482b8500d0: no media
0:00:25.223002059 3658 0x7f09f800c4a0 ERROR rtspclient rtsp-client.c:1012:find_media: client 0x56482b850510: not authorized to see factory path /avreg-media/3/media.amp
... и далее в том же духе
---

При этом один из потоков с камер (как правило с
"avregd: cam[3]: capture (V) failed:") вообще отваливается...

Естественно - на выходе proxy ничего нет (((...
Что удивительно - пару раз на выходе картинка от
cam[2] всё-же появлялась - проверял vlc.
Но это если транслировать только эту одну камеру. И - всего пару раз, случайно. А штатно так-же ругается:
---
2020-04-27 05:48:46 avreg-gst-rtsp-proxy-INFO: cam[2] address poll = [239.192.74.1..239.192.74.10]; ports = [2010..2019]; ttl = 1
2020-04-27 05:48:46 avreg-gst-rtsp-proxy-INFO: cam[2] add mount point "media" => "/avreg-media/2/media.amp"
2020-04-27 05:48:46 avreg-gst-rtsp-proxy-INFO: ready at rtsp://*:8554
0:00:01.001260737 4162 0x557b966aec00 ERROR rtspclient rtsp-client.c:1012:find_media: client 0x557b966c3140: not authorized to see factory path /avreg-media/2/media.amp
0:00:01.001985210 4162 0x557b966aec00 ERROR rtspclient rtsp-client.c:2899:handle_describe_request: client 0x557b966c3140: no media
2020-04-27 05:48:47 avreg-gst-rtsp-proxy-INFO: uridecodebin: setup "rtspsrc" source by gstprox_rtspsrc_opts = "latency=200 tcp-timeout=5000000 timeout=3000000"
0:00:21.014984609 4162 0x557b966aec00 WARN rtspmedia rtsp-media.c:2991:wait_preroll: failed to preroll pipeline
0:00:21.015065247 4162 0x557b966aec00 WARN rtspmedia rtsp-media.c:3295:gst_rtsp_media_prepare: failed to preroll pipeline
0:00:21.027111848 4162 0x557b966aec00 ERROR rtspclient rtsp-client.c:1044:find_media: client 0x557b966c3140: can't prepare media
0:00:21.027332867 4162 0x557b966aec00 ERROR rtspclient rtsp-client.c:2899:handle_describe_request: client 0x557b966c3140: no media
---

Подскажите - в какую сторону "рыть" эту проблему с rtsp-proxy?


Спасибо.
Дмитрий.


avreg-users

unread,
Apr 27, 2020, 2:48:28 AM4/27/20
to avreg-users


понедельник, 27 апреля 2020 г., 8:36:41 UTC+4 пользователь Dmitry написал:

Подскажите - в какую сторону "рыть" эту проблему с rtsp-proxy?


Попробуйте вот что:

/etc/avreg/avreg.conf
    avregd {
          rtsp-transports = tcp
    }

или rtsp-transports = udp, т.е. что-то одно




Dmitry

unread,
Apr 27, 2020, 11:08:00 PM4/27/20
to avreg-users


понедельник, 27 апреля 2020 г., 9:48:28 UTC+3 пользователь avreg-users написал:

Попробуйте вот что:

/etc/avreg/avreg.conf
    avregd {
          rtsp-transports = tcp
    }

или rtsp-transports = udp, т.е. что-то одно


Приветствую!

Увы, не помогло  (ни tcp, ни udp)...

В логе появляется:
.... avregd: cam[2]: capture (V) failed: Invalid data found when processing input


В avreg-gst-rtsp-proxy.log   при rtsp-transports = tcp
---
2020-04-28 05:53:37 avreg-gst-rtsp-proxy-INFO: cam[2] add mount point "media" => "/avreg-media/2/media.amp"
2020-04-28 05:53:37 avreg-gst-rtsp-proxy-INFO: ready at rtsp://*:8554
0:00:01.000762907  9512 0x55dc7fc58b70 ERROR             rtspclient rtsp-client.c:1012:find_media: client 0x55dc7fc83140: not authorized to see factory path /avreg-media/2/media.amp
0:00:01.000841104  9512 0x55dc7fc58b70 ERROR             rtspclient rtsp-client.c:2899:handle_describe_request: client 0x55dc7fc83140: no media
2020-04-28 05:53:38 avreg-gst-rtsp-proxy-INFO: uridecodebin: setup "rtspsrc" source by gstprox_rtspsrc_opts = "latency=200 tcp-timeout=5000000 timeout=3000000"
0:00:21.012489274  9512 0x55dc7fc58b70 WARN               rtspmedia rtsp-media.c:2991:wait_preroll: failed to preroll pipeline
0:00:21.012569981  9512 0x55dc7fc58b70 WARN               rtspmedia rtsp-media.c:3295:gst_rtsp_media_prepare: failed to preroll pipeline
0:00:21.028092745  9512 0x55dc7fc58b70 ERROR             rtspclient rtsp-client.c:1044:find_media: client 0x55dc7fc83140: can't prepare media
0:00:21.028249302  9512 0x55dc7fc58b70 ERROR             rtspclient rtsp-client.c:2899:handle_describe_request: client 0x55dc7fc83140: no media
.......
0:02:50.566364741  9512 0x7f3b04003400 ERROR             rtspclient rtsp-client.c:1012:find_media: client 0x7f3af0129880: not authorized to see factory path /avreg-media/2/media.amp   
0:02:50.566428594  9512 0x7f3b04003400 ERROR             rtspclient rtsp-client.c:2899:handle_describe_request: client 0x7f3af0129880: no media
2020-04-28 05:56:27 avreg-gst-rtsp-proxy-INFO: uridecodebin: setup "rtspsrc" source by gstprox_rtspsrc_opts = "latency=200 tcp-timeout=5000000 timeout=3000000"
0:03:10.567668056  9512 0x7f3b04003400 WARN               rtspmedia rtsp-media.c:2991:wait_preroll: failed to preroll pipeline
0:03:10.567744712  9512 0x7f3b04003400 WARN               rtspmedia rtsp-media.c:3295:gst_rtsp_media_prepare: failed to preroll pipeline
0:03:10.578259392  9512 0x7f3b04003400 ERROR             rtspclient rtsp-client.c:1044:find_media: client 0x7f3af0129880: can't prepare media
0:03:10.579018303  9512 0x7f3b04003400 ERROR             rtspclient rtsp-client.c:2899:handle_describe_request: client 0x7f3af0129880: no media
0:03:14.790041902  9512 0x7f3b04003450 ERROR             rtspclient rtsp-client.c:1012:find_media: client 0x7f3af0129660: not authorized to see factory path /avreg-media/2/media.amp   
0:03:14.790124620  9512 0x7f3b04003450 ERROR             rtspclient rtsp-client.c:2899:handle_describe_request: client 0x7f3af0129660: no media
2020-04-28 05:56:51 avreg-gst-rtsp-proxy-INFO: uridecodebin: setup "rtspsrc" source by gstprox_rtspsrc_opts = "latency=200 tcp-timeout=5000000 timeout=3000000"
0:03:21.008626263  9512 0x7f3b0806f590 WARN         rtpjitterbuffer rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:02.609619858 too big, reset skew
0:03:21.010421137  9512 0x7f3af8003c50 WARN            uridecodebin gsturidecodebin.c:921:unknown_type_cb:<uribin> warning: No decoder available for type 'application/x-rtp, media=(    string)application, payload=(int)106, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-source-filter=(string)"\ incl\ IN\ IP4\ \*\ 192.168.1.123", a-sendonly=(stri    ng)"", ssrc=(uint)673453824, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'.
0:03:21.010607338  9512 0x7f3af8003c50 WARN                 default descriptions.c:1229:gst_pb_utils_get_codec_description: No description available for media type: application/x-rt    p
0:03:21.010664739  9512 0x7f3af8003c50 WARN               decodebin gstdecodebin2.c:4640:gst_decode_bin_expose:<decodebin11> error: no suitable plugins found:
Missing decoder: application/x-rtp (application/x-rtp, media=(string)application, payload=(int)106, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-source-filter=    (string)"\ incl\ IN\ IP4\ \*\ 192.168.1.123", a-sendonly=(string)"", ssrc=(uint)673453824, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1)
0:03:21.011464463  9512 0x7f3b0806f5e0 WARN               rtspmedia rtsp-media.c:2735:default_handle_message: 0x7f3b080841d0: got warning No decoder available for type 'application/    x-rtp, media=(string)application, payload=(int)106, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-source-filter=(string)"\ incl\ IN\ IP4\ \*\ 192.168.1.123", a-    sendonly=(string)"", ssrc=(uint)673453824, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'. (gsturidecodebin.c(921): unknown_type_cb (): /GstPipeline:media-pipelin    e/GstBin:GstRTSPMediaFactoryURI/GstBin:dynpay0/GstURIDecodeBin:uribin)
---

Кстати, если декодирование включено, последний блок лога (про "...warning: No decoder available for type..." и "... error: no suitable plugins found: Missing decoder...") появляется практически сразу.  А если декодирование выключено - всё равно появится, но через какое-то время.
У rtsp-proxy  свои режимы работы с декодерами, не используется avregd ?

Andrey Nikitin

unread,
Apr 28, 2020, 7:19:57 AM4/28/20
to avreg...@googlegroups.com
Dmitry писал(а):
> 0:03:21.011464463 9512 0x7f3b0806f5e0 WARN rtspmedia
> rtsp-media.c:2735:default_handle_message: 0x7f3b080841d0: got warning No
> decoder available for type 'application/ x-rtp,
> media=(string)application, payload=(int)106, clock-rate=(int)90000,
> encoding-name=(string)VND.ONVIF.METADATA, a-source-filter=(string)"\ incl\

> Кстати, если декодирование включено, последний блок лога (про "...warning:
> No decoder available for type..." и "... error: no suitable plugins found:
> Missing decoder...") появляется практически сразу. А если декодирование
> выключено - всё равно появится, но через какое-то время.
> У rtsp-proxy свои режимы работы с декодерами, не используется avregd ?

Декодеры есть и у прокси и у avregd и они совершенно независимы друг от друга.
Декодеры прокси используются для данных, про которые не знает мультиплексор/демультиплексор (rtp),
делается попытка перекодить во что-то понятное.

Декодера потока VND.ONVIF.METADATA payload=(int)106 в gstgreamer-е нет, но не думаю что причина в этом,
т.к., судя по https://bugzilla.gnome.org/show_bug.cgi?id=730868 , он давно научился игнорировать непонятные ему потоки.

Что можно попробовать (некоторые вещи в порядке эксперимента):
1) отключить в настройках камеры трансляцию VND.ONVIF.METADATA по RTP (если есть такая настройка)
2) откл. звук. поток.
3) видеопоток должен быть H264, не H265 и H264+.
4) попробовать забрать видео с камеры TCP ( gstprox_rtspsrc_opts = "protocols=tcp latency=1500 tcp-timeout=7000000" )
5) записать rtsp сеанс tcpdump-ом
sudo tcpdump -i any -nN -s0 -w /tmp/rtsp.pcap host 192.168.1.123 and port 554

Dmitry

unread,
Apr 29, 2020, 11:40:39 PM4/29/20
to avreg-users
Понятно.

Спасибо за разъяснения/рекомендации.

Попробуем всё по порядку....

Результаты - сообщу.


вторник, 28 апреля 2020 г., 14:19:57 UTC+3 пользователь avreg-support написал:
Reply all
Reply to author
Forward
0 new messages