В конце я хотел бы взять поток RSTP с камеры безопасности Axis, а затем сделать его доступным для повторной передачи с помощью объекта Gstreamers GstRTSPServer. На данный момент, хотя я не могу даже заставить пример videotestsrc играть в любом плеере.
Я следил за постом, найденным здесь:
GStreamer запускает RTSP-сервер для перезаписи IP-камеры H264
Я получил пример кода, созданного и запущенного в консоли, но не могу просмотреть поток ни в одном из плееров, которые я нахожу. ТОЧНЫЙ код, который я использую, найден здесь:
https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-readme.c
Оба компьютера с Windows 10, которые я использую, находятся в одной сети, я могу пропинговать оба направления, брандмауэр полностью отключен на обоих компьютерах.
Я пробовал проигрыватель VLC, модифицированные примеры Axis Media Control SDK и GStreamer
используя команды:
gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test latency=0 ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink
gst-launch-1.0 rtspsrc location=rtsp://10.2.3.10:8554/test latency=0 ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink
VLC заявляет в логах, что в соединении было активно отказано. Кажется, он пытается подключиться к порту 80? Не уверен, правильно ли я читаю. Смотрите журнал VLC ниже. Полный журнал вставляется сюда с локальной машины:
https://pastebin.com/my3kTsRV
а вот со второй машины:
https://pastebin.com/g1q47UBm
...Connection to server failed: No connection could be made because the target machine actively refused it
Opening connection to 127.0.0.1, port 80...
...Connection to server failed: No connection could be made because the target machine actively refused it
[06421494] live555 demux debug: connection error -10057
[06421494] live555 demux error: Failed to connect with rtsp://127.0.0.1:8554/test
Axis Media Control (AMC) выдает ошибку на локальном и вторичном компьютерах:
503 Service Unavailable
The maximum number of clients are already connected.
При попытке подключения с помощью команды GStreamer я получаю следующую ошибку как на локальном, так и на дополнительном компьютере:
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Unhandled error
Additional debug info:
gstrtspsrc.c(5633): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Service Unavailable (503)
ERROR: pipeline doesn't want to preroll.
С VLC, AMC и GStreamer я могу получить поток непосредственно с камеры, так что что-то работает по крайней мере. Я также могу успешно запускать другие примеры GStreamer без GstRTSPServer.
Дайте мне знать, если вы хотите / хотите, чтобы я попробовал что-нибудь.
Задача ещё не решена.
Других решений пока нет …