4

Я хочу передать видеофайл, который находится на моем рабочем столе, на устройство iOS, на котором установлено недавно опубликованное официальное приложение VLC . Оба компьютера находятся в одном и том же адресном пространстве в моей локальной сети, я знаю их IP-адреса и успешно пингую их.

Я не могу понять процедуру для потоковой передачи видео непосредственно с несерверного компьютера с VLC, установленным в приложение iOS VLC. Я не знаю, правильный ли мой стриминговый подход и как впоследствии открыть поток в iOS VLC.


Вот как я это сделал:Первый шагВторой шагТретий шагЧетвертый шагПятый шагШестой шагСедьмой шагВосьмой шаг

В приложении iOS VLC я выбираю пункт меню

Open network stream

Это просто пустое текстовое поле, в которое я ввожу местоположение, увиденное в последнем окне рабочего стола. После этого он говорит об ошибке воспроизведения и возвращается к моей пустой библиотеке мультимедиа. Это поведение с тем же сообщением об ошибке отображается независимо от того, что я печатаю в текстовом поле.

2 ответа2

1

У меня это работает с помощью опции потоковой передачи http . Вы также можете сделать это с помощью команды терминала, например:

/Applications/VLC.app/Contents/MacOS/VLC [YOUR_VIDEO_FILE] --sout '#transcode{acodec=mpga,vcodec=mpeg}:std{access=http,mux=ts,dst=[YOUR_IP]:[PORT],user=[USER],pwd=[PWD]}'

Замените [YOUR_IP] IP-адресом вашего потокового хоста, выберите любой свободный порт, например 8038, имя пользователя и пароль. Наконец, откройте следующий сетевой поток на VLC для iOS или Android:

http//[USER]:[PWD]@[YOUR_IP]:[PORT]

Вы также можете удобно транслировать системный аудиовыход с помощью Soundflower (в настоящее время это единственная рабочая версия для El Capitan, если вы прочитаете этот ответ в гораздо более поздний момент времени, эта информация, вероятно, будет устаревшей). Вам также нужны sox (для захвата аудиоустройства и передачи его в VLC) и stdbuf , которые вы можете получить через brew install sox stdbuf (stdbuf уменьшит задержки, отключив буфер строки терминала). Установите для системного аудиовхода и выхода значение «Soundflower (2ch)», а затем выполните эту команду:

stdbuf -i0 -o0 -e0 rec -t s16 -L -r 44100 -c 2 - | \
    stdbuf -i0 -o0 -e0 /Applications/VLC.app/Contents/MacOS/VLC - \
    --intf dummy --demux rawaud --rawaud-fourcc='s16l' \
    --rawaud-samplerate=44100 --rawaud-channels=2 \
    --sout '#transcode{acodec=mpga}:std{access=http,mux=ts,dst=[YOUR_IP]:[PORT],user=[USER],pwd=[PWD]}'

Вы также можете использовать это для вызова кого-то в локальной сети. Настройте системный аудиовход / выход обратно на динамик / микрофон на обеих машинах, откройте http-поток другой машины, и все готово. Просто будьте осторожны, чтобы это соединение не было зашифровано. VLC также предлагает опцию https , но я еще не рассматривал ее. Задержка также будет довольно плохой через http . Это может быть улучшено с помощью opusenc вместо vlc .

0

посмотрите это видео, оно может вам помочь, оно помогло мне достичь поставленной цели.

https://www.youtube.com/watch?v=ptQc9DZNX5o

Основными отличиями от того, что вы сделали, является кодирование в HTTP, а затем на устройстве iOS используйте IP и порт

например, http://192.168.1.1:8080

(настройка порта выполняется в разделе параметров потоковой передачи после нажатия кнопки «Далее»).

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