Тема: МК2003-ТМ (exicom v.2.10) + COM-80U + SIP-CDA2/SIP-CDA3
Остался только один вопрос по видео потоку. Отправил лог астериска в ЛС.
В понедельник посмотрим.
Не могу отправить ЛС, Ваш ящик переполнен. Отправил на электронку.
Отправьте на почту в контактах.
Личные сообщения для ЛИЧНОГО. Если требуется предоставить лог, то либо вкладываете в сообщение, а если требуется приватность, то следует выслать нам на почту с указанием ссылки на эту тему.
В высланном логе нет RTP пакетов, там только лог SIP. Чтобы разобраться с видео, нужен лог wireshark с трафиком, зеркалированным с SIP-CDA3 на компьютер с wireshark.
В сегодняшнем логе нет RTSP запроса. Возможно из-за того, что в настройках адаптера не указан шлюз. Трафик адаптера точно зеркалирован на wireshark?
По ссылке не приходит RTP. VLC ждет 10 сек. и перезапрашивает по TCP. TCP есть, но это не подходит для SIP.
Сейчас настройки адаптера как на картинке.
Это были логи с SIP сервера 192.168.1.3.
Сейчас выслали логи с зеркалированием порта.
Адаптер не запрашивает камеру, сегодня смоделируем у себя.
Тестовый поток (картинку png) генерируем с помощью rtsp-simple-server. Сервер для linux и windows можно скачать здесь https://github.com/aler9/rtsp-simple-server/releases
Конфиг и картинка приложена.
rtsp-simple-server.yml
###############################################
# General parameters
# sets the verbosity of the program; available values are "warn", "info", "debug".
logLevel: info
# destinations of log messages; available values are "stdout", "file" and "syslog".
logDestinations: [stdout]
# if "file" is in logDestinations, this is the file which will receive the logs.
logFile: rtsp-simple-server.log
# timeout of read operations.
readTimeout: 10s
# timeout of write operations.
writeTimeout: 10s
# number of read buffers.
# a higher number allows a higher throughput,
# a lower number allows to save RAM.
readBufferCount: 512
# enable the HTTP API.
api: no
# address of the API listener.
apiAddress: 127.0.0.1:9997
# enable Prometheus-compatible metrics.
metrics: no
# address of the metrics listener.
metricsAddress: 127.0.0.1:9998
# enable pprof-compatible endpoint to monitor performances.
pprof: no
# address of the pprof listener.
pprofAddress: 127.0.0.1:9999
# command to run when a client connects to the server.
# this is terminated with SIGINT when a client disconnects from the server.
# the server port is available in the RTSP_PORT variable.
runOnConnect:
# the restart parameter allows to restart the command if it exits suddenly.
runOnConnectRestart: no
###############################################
# RTSP parameters
# disable support for the RTSP protocol.
rtspDisable: no
# supported RTSP transport protocols.
# UDP is the most performant, but doesn't work when there's a NAT/firewall between
# server and clients, and doesn't support encryption.
# UDP-multicast allows to save bandwidth when clients are all in the same LAN.
# TCP is the most versatile, and does support encryption.
# The handshake is always performed with TCP.
#protocols: [tcp, udp, multicast]
protocols: [tcp, udp, multicast]
# encrypt handshake and TCP streams with TLS (RTSPS).
# available values are "no", "strict", "optional".
encryption: "no"
# address of the TCP/RTSP listener. This is needed only when encryption is "no" or "optional".
rtspAddress: :8554
# address of the TCP/TLS/RTSPS listener. This is needed only when encryption is "strict" or "optional".
rtspsAddress: :8555
# address of the UDP/RTP listener. This is needed only when "udp" is in protocols.
rtpAddress: :8000
# address of the UDP/RTCP listener. This is needed only when "udp" is in protocols.
rtcpAddress: :8001
# IP range of all UDP-multicast listeners. This is needed only when "multicast" is in protocols.
multicastIPRange: 224.1.0.0/16
# port of all UDP-multicast/RTP listeners. This is needed only when "multicast" is in protocols.
multicastRTPPort: 8002
# port of all UDP-multicast/RTCP listeners. This is needed only when "multicast" is in protocols.
multicastRTCPPort: 8003
# path to the server key. This is needed only when encryption is "strict" or "optional".
# this can be generated with:
# openssl genrsa -out server.key 2048
# openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
serverKey: server.key
# path to the server certificate. This is needed only when encryption is "strict" or "optional".
serverCert: server.crt
# authentication methods.
authMethods: [basic, digest]
# read buffer size.
# this doesn't influence throughput and shouldn't be touched unless the server
# reports errors about the buffer size.
#readBufferSize: 2048
readBufferSize: 8192
###############################################
# RTMP parameters
# disable support for the RTMP protocol.
rtmpDisable: yes
# address of the RTMP listener.
rtmpAddress: :1935
###############################################
# HLS parameters
# disable support for the HLS protocol.
hlsDisable: yes
# address of the HLS listener.
hlsAddress: :8888
# by default, HLS is generated only when requested by a user;
# this option allows to generate it always, avoiding an initial delay.
hlsAlwaysRemux: no
# number of HLS segments to generate.
# increasing segments allows more buffering,
# decreasing segments decreases latency.
hlsSegmentCount: 3
# minimum duration of each segment.
# the final segment duration is also influenced by the interval between IDR frames,
# since the server changes the segment duration to include at least a IDR frame in each one.
hlsSegmentDuration: 1s
# value of the Access-Control-Allow-Origin header provided in every HTTP response.
# This allows to play the HLS stream from an external website.
hlsAllowOrigin: '*'
paths:
vae6ooGhai1iighiiemo3Eeghoo6mael:
runOnInit: ffmpeg -f image2 -loop 1 -i call-icon.png -c:v libx264 -preset ultrafast -tune zerolatency -b:v 600k -r 15 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH
runOnInitRestart: yes
Порекомендуйте, пожалуйста, какую нибудь недорогую IP камеру, которая будет работать из коробки.
Подойдет любая, которая поддерживает H264. Из коробки не будет работать ничего, потребуются настройки.
Возможно у вас не запрашивается видео, потому что вы звоните из SIP на трубку. А нужно звонить на адаптер, или с панели на SIP, или по датчику.
Все предоставленные логи - это звонки по датчику, замыкаем GND и S1 или S2.
номер указанный для S1 - на смартфоне, для S2 на ноутбуке.
У нас ваш поток запрашивается, но RTP нет. Если поставить в конце пробел, сервер закрывает сокет по первому же запросу options. Не закрался ли у вас где-то пробел? В любом случае нужно обеспечить RTP.