VLC работает на 1 из 3 конвейеров с одинаковой кодировкой и удалением от gst-rtsp-сервера - PullRequest
0 голосов
/ 09 ноября 2019

Привет, ребята

У меня странная вещь, у меня есть 3 различных Media Fatory, добавленных на мой RTSP-сервер, один из которых (третий ниже), я могу играть только с gst-старт на другой машине.

Первые два ниже прекрасно работают на vlc и gst-launch, я не понимаю, почему третий не работает, все конвейеры имеют только разные источники, кодировка и спад одинаковы на всех 3 конвейерах

Работа на другой машине с vlc и gst-launch

compositor name=mix sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=640 sink_1::ypos=0 sink_2::xpos=0 sink_2::ypos=480 sink_3::xpos=640 sink_3::ypos=480 ! queue max-size-time=0 ! videoconvert ! videoscale ! video/x-raw, width=1920, height=1080 ! x264enc key-int-max=5 speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 filesrc location=error.jpg ! jpegdec ! imagefreeze ! textoverlay text="<span foreground='#2f2e41' >K1 Camera not reachable, check camera or IP-Address or Hostname</span>" valignment=top font-desc="Arial, 13" ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. filesrc location=error.jpg ! jpegdec ! imagefreeze ! textoverlay text="<span foreground='#2f2e41' >K2 Camera not reachable, check camera or IP-Address or Hostname</span>" valignment=top font-desc="Arial, 13" ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix.

Работа на другой машине с VLC и gst-launch

compositor name=mix sink_0::xpos=0 sink_0::ypos=0 sink_2::xpos=0 sink_2::ypos=480 sink_4::xpos=0 sink_4::ypos=960 ! queue max-size-time=0 ! videoconvert ! videoscale ! video/x-raw, width=1920, height=480 ! x264enc key-int-max=5 speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/mjpg/video.mjpg" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/mjpg/video.mjpg" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/mjpg/video.mjpg" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix.

Работа на другой машине только с gst-launch

compositor name=mix sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=640 sink_1::ypos=0 sink_2::xpos=1280 sink_2::ypos=0 sink_2::xpos=0 sink_2::ypos=480 sink_3::xpos=640 sink_3::ypos=480 sink_4::xpos=1280 sink_4::ypos=480 ! queue max-size-time=0 ! videoconvert ! videoscale ! video/x-raw, width=1920, height=960 ! x264enc key-int-max=5 speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 rtspsrc latency=200 user-id="admin" user-pw="enercon525244" location="rtsp://<ip-removed>/Streaming/channels/102" ! rtph264depay ! h264parse ! avdec_h264 ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/control/faststream.jpg?stream=full&preview&camera=left&size=640x480&fps=4.0" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/control/faststream.jpg?stream=full&preview&camera=right&size=640x480&fps=4.0" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/control/faststream.jpg?stream=full&preview&camera=left&size=640x480&fps=4.0" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix. souphttpsrc ssl-strict=false is-live=true user-id="<user-removed>" user-pw="<pwd-removed>" location="http://<ip-removed>/control/faststream.jpg?stream=full&preview&camera=right&size=640x480&fps=4.0" do-timestamp=true ! multipartdemux ! jpegdec ! videoscale ! video/x-raw, width=640, height=480 ! queue ! mix.

При GST_DEBUG = 1 на моем экземпляре gst-rtsp-server он возвращает эту ошибку на последнем конвейере, когда я пытался это сделатьс VLC:

0:00:15.140129410 25881      0x2c59400 ERROR             rtspclient rtsp-client.c:1718:handle_play_request: client 0x342a240: media not found
0:00:15.163301390 25881      0x2c59400 ERROR             rtspclient rtsp-client.c:1270:handle_teardown_request: client 0x342a240: no media for uri

GST-версия: (мажор = 1, минор = 14, микро = 5, нано = 0)

VLC log
satip debug: try to open 'rtsp://<ip-removed>/42342'
satip debug: connect to host '<ip-removed>'
main debug: net: connecting to <ip-removed> port 554
main debug: connection succeeded (socket = 1560)
main debug: net: opening 0.0.0.0 datagram port 9140
main debug: net: opening 0.0.0.0 datagram port 9141
satip error: Failed to play RTSP session
satip error: Failed to teardown RTSP session
main debug: net: connecting to <ip-removed> port 554
main debug: connection succeeded (socket = 1636)
access_realrtsp warning: Cseq mismatch, got 1, assumed 0
access_realrtsp debug: rtsp connected
access_realrtsp warning: only real/helix rtsp servers supported for now
main debug: no access modules matched
main debug: dead input
qt debug: IM: Deleting the input
main debug: changing item without a request (current 0/1)
main debug: nothing to play

У кого-нибудь есть идеи, что может быть не так? Вот ? Спасибо, ребята

1 Ответ

0 голосов
/ 09 ноября 2019

Прежде всего вы должны проверить журнал VLC, что ему не нравится. Так как ваш последний имеет больше входных данных, я могу представить, что ваш композитор имеет другую конфигурацию.

На первый взгляд, я предполагаю, что в вашем последнем композитор выводит данные 4: 4: 4 и создает 4:4: 4 профиль H.264 потока. Эти потоки редко поддерживаются игроками.

Если это так, убедитесь, что формат 4: 2: 0 входит в x264enc или определите целевой профиль H.264, отличный от 4: 4: 4, навыходной колпачок.

...