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

Это не багтрекер, тебе на сайт плеера :)

Share this post


Link to post
Share on other sites
15 часов назад, paradox_ сказал:

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

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this