1

Я создаю сценарий, который выдает несколько команд 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 ведет себя односторонне в сценарии (неинтерактивная оболочка?) против другого способа на переднем плане (интерактивная оболочка)?

1 ответ1

2

Поток Invoking VLC из скрипта имеет такой забавный ответ в конце:

Хорошо, я исправил это. Эксперимент показал, что ответ таков:

#!/bin/bash
VLCCMD="cvlc source.mp3 --sout "#duplicate{dst=std{access=udp,dst=192.168.0.2:1235}}""
echo VLC Command:$VLCCMD
$VLCCMD

В моем исходном сценарии есть два изменения:

  • удалить двойные кавычки из имени файла MP3
  • измените одинарную кавычку вокруг #duplicate на двойную кавычку

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .