Мне нужно открыть несколько клиентов VLC, чтобы "контролировать" поток, который они получают - PullRequest
0 голосов
/ 21 июля 2010

Я хочу иметь возможность указать , сколько клиентов я хочу открыть, и иметь возможность вручную переключаться между окнами после их открытия, что означает «потоковая передача в фоновом режиме» (если такая вещь возможно?) не будет здесь.
Мне нужно указать разные входные данные для разных клиентов.
Кроме того - и это та часть, о которой я совершенно ничего не понимаю, так как она специфична для VLC - мне нужно, чтобы клиенты регистрировали некоторую информацию о: потоке , который они получают, чтобы иметь возможность определить что он был получен полностью и т. д., например, число кадров / общее количество кадров или подобное.

Буду признателен за полезные советы для

  1. запуск инстансов + управление их
  2. получение информации о поток

В отношении языка - я знаю Java, немного C #, и не прочь бы выучить новый язык для этой цели, если это лучшее решение.

Спасибо!

Ответы [ 2 ]

1 голос
/ 21 июля 2010

В зависимости от вашей версии VLC вам может потребоваться включить опцию для запуска нескольких экземпляров.Смотрите здесь: http://wiki.videolan.org/How_to_play_multiple_instances_of_VLC

Это звучит как «запускать процессы Windows в цикле», что вы можете сделать несколькими способами.

Вы можете создать пакетный файл Windows (.bat):

"C:\path\to\vlc.exe" -vvv "http://www.whatever.com/mystream.mms"    
"C:\path\to\vlc.exe" -vvv "http://www.whatever.com/mystream2.mms"    
"C:\path\to\vlc.exe" -vvv "C:\music\whatever.mp3"

Или вы можете использовать реальный язык программирования и, возможно, открыть переменное количество экземпляров ... C # например:

using System.Diagnostics;

...

foreach (string stream in streamList) {
    Process myProc = new Process();
    string myCmd = @"C:\path\to\vlc.exe";
    string myArgs = "-vvv \"" + stream + "\"";
    ProcessStartInfo myStart = new ProcessStartInfo(myCmd, myArgs);
    myStart.UseShellExecute = false;
    myProc.StartInfo = myStart;
    myProc.Start();
}

Полный список приведен на этой странице.параметров командной строки VLC: http://www.videolan.org/doc/vlc-user-guide/en/ch04.html

Надеюсь, это поможет.

0 голосов
/ 01 августа 2010

Вам нужно будет либо запустить несколько процессов (как указано выше), либо каким-либо образом подключиться к libvlc и дать ему команду запустить несколько игроков.

Хорошая демонстрация этого - это обертка python для libvlc - я думаю - она ​​показывает, как сделать выборку, чтобы узнать, где находится поток - однако я никогда не пробовал это с несколькими запущенными одновременно вещами, но я думаю, что это сработает.

Другим вариантом может быть что-то вроде http://wiki.videolan.org/Mosaic

...