Я создаю сценарий, который выдает несколько команд curl, чтобы получить доступ к защищенной по времени ссылке на поток mms, а затем настраиваю ретранслятор, используя cvlc (интерфейс командной строки vlc), для собственного использования на незагруженном проигрывателе.
Это работает с помощью функции curl, так как я могу работать как браузер и свернуться бок о бок и получить тот же URL-адрес доступа. (Это время ограничено, что означает, что поток будет работать вечно, но вам нужно быстро подключиться, иначе срок действия URL истечет.)
В самом конце скрипта выводится команда, которую я буду запускать, после чего следует «exec $ CMD».
Когда я повторяю $ CMD, я получаю:
cvlc --sout '#standard{access=http,mux=asf,dst=0.0.0.0:58194}' mms://[...]
Копирование / вставка этой команды вручную, дословно, прекрасно работает, но как часть скрипта вывод выполнения cvlc говорит:
[0x9743d0] ошибка основного интерфейса: нет подходящего интерфейсного модуля
[0x962120] Основная ошибка libvlc: сбой инициализации интерфейса "globalhotkeys, none"
[0x9743d0] Пустой интерфейс: используя модуль пустого интерфейса ...
[0xb16e30] stream_out_standard ошибка выхода из потока: мультиплексирование не указано или не найдено расширением
[0xb16ad0] ошибка вывода основного потока: сбой цепочки потоков для `standard {mux =" ", access =" ", dst =" "# standard {access = http, mux = asf, dst = 0.0.0.0: 58194} '" }»
[0xb11cd0] основная ошибка ввода: не удается запустить экземпляр вывода потока, прерывание
[0xb11f70] сигнализирует об ошибке интерфейса: Пойманный сигнал прерывания, выход ...
Почему --sout ведет себя односторонне в сценарии (неинтерактивная оболочка?) против другого способа на переднем плане (интерактивная оболочка)?