Jump to content
Калькуляторы

VLC неправильно интерпретирует адрес хоста

Есть у меня сервер, на котором работает VLC, принимая данные из конфигурационного файла (VLM).

В этих данных, например, указано такое:

new CAM-113 broadcast enabled loop
setup CAM-113 input rtsp://cyberlive:password@10.102.1.13/live/ch00_0
setup CAM-113 output #std{access=udp,dst=239.0.1.13:1234}
control CAM-113 play

new CAM-114 broadcast enabled loop
setup CAM-114 input rtsp://cyberlive:password@10.102.1.14/live/ch00_0
setup CAM-114 output #std{access=udp,dst=239.0.1.14:1234}
control CAM-114 play

new CAM-909 broadcast enabled loop
setup CAM-909 input rtsp://cyberlive:password@10.102.9.9/cam/realmonitor?channel=1&subtype=0
setup CAM-909 output #std{access=udp,dst=239.0.9.9:1234}
control CAM-909 play

Всего в конфигурационном файле определены где-то полторы или две сотни каналов.

Большинство из них работает нормально, но некоторые не работают.

В логах постоянно повторяются подобные ошибки:

live555 error: Failed to connect with rtsp://cyberlive:password@10.102.1.14/live/ch00_0
main error: cannot resolve cyberlive port 0 : Name or service not known
access_realrtsp error: cannot connect to cyberlive:0
main error: Connection failed
main error: VLC could not connect to "cyberlive:0".
main error: open of `rtsp://cyberlive:password@10.102.1.14/live/ch00_0' failed
main error: Your input can't be opened
main error: VLC is unable to open the MRL 'rtsp://cyberlive:password@10.102.1.14/live/ch00_0'. Check the log for details.

live555 error: Failed to connect with rtsp://cyberlive:password@10.102.9.9/cam/realmonitor?channel=1&subtype=0
main error: cannot resolve cyberlive port 0 : No address associated with hostname
access_realrtsp error: cannot connect to cyberlive:0
main error: Connection failed
main error: VLC could not connect to "cyberlive:0".
main error: open of `rtsp://cyberlive:password@10.102.9.9/cam/realmonitor?channel=1&subtype=0' failed
main error: Your input can't be opened
main error: VLC is unable to open the MRL 'rtsp://cyberlive:password@10.102.9.9/cam/realmonitor?channel=1&subtype=0'. Check the log for details.

Если судить по логам, то в некоторых случаях VLC воспринимает логин и пароль, указанные в схеме RTSP, как адрес хоста. И естественно такого хоста не находит.

Но при этом канал CAM-113, в котором такая же схема, обрабатывается нормально.

Нет предположений, что ему тут не нравится?

Share this post


Link to post
Share on other sites

а если судить по конфигу ? есть хосты с паролем и логином которые отрабатывают ?

поднять вербоус и дебаг левел 

либо прочитать в мануале как еще задается пароль логин если проблема именно  в них

Share this post


Link to post
Share on other sites

Так я пример конфига привел.

Все настройки схожи, а CAM-113 и CAM-114 так вообще идентичны до почти полного совпадения.

Но CAM-113 стримится нормально, а CAM-114 нет потому что «cannot connect to cyberlive:0».

То есть похоже на то, что VLC посчитал cyberlive именем хоста, а password номером порта (и привел его к нулю, поскольку пароль буквенный).

 

Снял подробные логи (и убрал все постороннее):

Скрытый текст

VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e)
Streamer: /usr/bin/vlc-wrapper
Argument: --verbose 2 --log-verbose 2 --ttl=5 --vlm-conf=/extra/srv/iptv/cybertv-test.conf

[0x1372648] main input debug: Creating an input for 'rtsp://10.102.1.14/live/ch00_0'
[0x142e978] main mux debug: looking for sout mux module: 1 candidate
[0x142e978] mux_ts mux debug: shaping=200000 pcr=70000 dts_delay=400000
[0x142e978] main mux debug: using sout mux module "mux_ts"
[0x142e978] main mux debug: TIMER module_need() : 0.778 ms - Total 0.778 ms / 1 intvls (Avg 0.778 ms)
[0x1372648] [Media: CAM-114] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x1372648] [Media: CAM-114] main input debug: `rtsp://cyberlive:password@10.102.1.14/live/ch00_0' gives access `rtsp' demux `' path `cyberlive:password@10.102.1.14/live/ch00_0'
[0x1372648] [Media: CAM-114] main input debug: creating demux: access='rtsp' demux='' location='cyberlive:password@10.102.1.14/live/ch00_0' file='(null)'
[0x1431498] [Media: CAM-114] main demux debug: looking for access_demux module: 1 candidate
[0x1431498] [Media: CAM-114] live555 demux debug: version 2012.05.17
[0x1431498] [Media: CAM-114] live555 demux debug: connection timeout
[0x1431498] [Media: CAM-114] live555 demux error: Failed to connect with rtsp://cyberlive:password@10.102.1.14/live/ch00_0
[0x1431498] [Media: CAM-114] main demux debug: no access_demux module matching "rtsp" could be loaded
[0x1431498] [Media: CAM-114] main demux debug: TIMER module_need() : 5001.721 ms - Total 5001.721 ms / 1 intvls (Avg 5001.721 ms)
[0x1372648] [Media: CAM-114] main input debug: creating access 'rtsp' location='cyberlive:password@10.102.1.14/live/ch00_0', path='(null)'
[0x1431d08] [Media: CAM-114] main access debug: looking for access module: 1 candidate
[0x1431d08] [Media: CAM-114] main access debug: net: connecting to cyberlive port 0
[0x1431d08] [Media: CAM-114] main access error: cannot resolve cyberlive port 0 : Name or service not known
[0x1431d08] [Media: CAM-114] access_realrtsp access error: cannot connect to cyberlive:0
[0x1431d08] [Media: CAM-114] main access error: Connection failed
[0x1431d08] [Media: CAM-114] main access error: VLC could not connect to "cyberlive:0".
[0x1431d08] [Media: CAM-114] access_realrtsp access debug: could not connect to: cyberlive:password@10.102.1.14/live/ch00_0
[0x1431d08] [Media: CAM-114] main access debug: no access module matching "rtsp" could be loaded
[0x1431d08] [Media: CAM-114] main access debug: TIMER module_need() : 3.013 ms - Total 3.013 ms / 1 intvls (Avg 3.013 ms)
[0x1372648] [Media: CAM-114] main input error: open of `rtsp://cyberlive:password@10.102.1.14/live/ch00_0' failed
[0x1372648] [Media: CAM-114] main input error: Your input can't be opened
[0x1372648] [Media: CAM-114] main input error: VLC is unable to open the MRL 'rtsp://cyberlive:password@10.102.1.14/live/ch00_0'. Check the log for details.
[0x1372648] [Media: CAM-114] main input debug: TIMER input launching for 'rtsp://10.102.1.14/live/ch00_0' : 5008.270 ms - Total 5008.270 ms / 1 intvls (Avg 5008.270 ms)

 

Понятнее не стало. Разве что в самой последней строке видно, что имя/пароль их адреса VLC вырезать все же умеет.

Возможно это умеет делать парсер (поток 0x1372648), но не умеет делать модуль чтения (поток 0x1431d08).

 

Задать логин/пароль в параметрах можно только для out, для in специальных параметров не предусмотрено.

Share this post


Link to post
Share on other sites

пробел в пароле. или какой-то другой символ, который превращает урл в огрызок вида "rtsp://cyberlive:passwo", где "passwo" естественно каким-нибудь atoi() преобразуется в "0"

 

 

Share this post


Link to post
Share on other sites

Нет, до такого я бы и сам догадался.

Пароль соответствует шаблону [a-z0-9]{8}.

Никаких нестандартных или потенциально проблемных символов.

Share this post


Link to post
Share on other sites

а если закавычить одинарными кавычками весь урл? и заодно запустить с отдельным конфигом, в котором только этот урл.

Share this post


Link to post
Share on other sites

кроме вербоус левела который у вас маленький

есть еще дебаг левел

 

[0x1431498] [Media: CAM-114] live555 demux debug: connection timeout

очевидно нет доступа к хосту

не умеете дебаг левел

есть tcpdump который покажет все что надо

 

если по первому хосту пароль логин жует

значит проблема не в конфиге

хотя лучше проверить в vi на непечатаемые символы

а то иногда копипастят конфиги с винды  линукс

вместе с непачатаемыми символами

Share this post


Link to post
Share on other sites

15 часов назад, paradox_ сказал:

хотя лучше проверить в vi на непечатаемые символы

а то иногда копипастят конфиги с винды  линукс

вместе с непачатаемыми символами

Да, я бы тоже первым делом проверил эту гипотезу. Для примера, посмотреть на формат перевода строк. Потом в линуксовом редакторе удалил бы проблемный фрагмент конфига и скопипастил с рабочего, изменив логин-пароль-адрес.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.