2013-07-31 2 views
5

Мне нужно выяснить, возможно ли и как (я не забочусь о языке C/C++, Lua, Python ...), чтобы сделать плагин VLC цель которого будет вызываться VLC-проигрывателем и в определенное время видеопотока предпримет какое-то действие.Как написать плагин VLC, который может взаимодействовать с операционной системой

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

Мне нужно сделать что-то вроде чтения субтитров, чтобы лучше всего было инициализировать сокет UDP и отправить прочитанные данные на сервер.

Я не уверен, что создание UDP-сокета возможно в Lua, возможно, лучшим вариантом будет бинарный плагин C/C++, но не может найти какой-либо пример.

В целом в лучших моих требованиях является: файл

  1. Загрузить настройки при запуске VLC
  2. Нужна быть вызван игроком в определенное время видеопотока
  3. Получить имя файла источник видеопотока
  4. Открыть файл (скрипт) с тем же именем, но с другим расширением
  5. Откройте UDP сокет
  6. Написать сообщение
  7. Отправить сообщение
  8. Продолжайте цикл до конца видеопотока

Любая информация, например, или сайт, ссылка очень ценится.

+0

Как насчет того, чтобы показать, что вы пробовали, а затем задать вопрос. – andy256

+0

На самом деле я не знаю, с чего начать. На данный момент я собираю информацию, но похоже, что это не начало или примеры How-To. – Patrik

+1

Помогает ли это? http://wiki.videolan.org/Documentation%3aHacker%27s_Guide/Module_Writers_Guide и http://code.google.com/p/vlc-shares/wiki/HowToNewPlugin – lhf

ответ

5

Похоже, вы хотели бы создать модуль интерфейса управления. Они написаны на C/C++ в контексте VLC и, в свою очередь, должны быть (повторно) скомпилированы для каждой платформы, на которую вы хотите настроить таргетинг. Посмотрите модуль audioscrobbler, чтобы узнать, как взаимодействовать с текущим потоком ввода и как получать метаданные, такие как имя файла и т. Д. Поскольку эти модули находятся на C, открытые сокеты и передача данных не являются большой проблемой.

Самое большое предостережение, вероятно, в том, что вам нужна сложная среда компиляции, если вы хотите настроить таргетинг на платформу Windows. Посмотрите на компиляцию HOWTO на wiki http://wiki.videolan.org/Compile_VLC/, так как это, вероятно, то, что вы хотели бы попробовать, прежде чем делать какое-либо кодирование.

Рассматривая это, вы, вероятно, можете достичь аналогичного расширения в lua, которое легче разрабатывать (поскольку вам не нужно самостоятельно компилировать VLC, и это будет кросс-платформенный). Однако открытие UDP-сокетов может быть проблематичным. TCP будет работать. Эта страница может быть хорошей отправной точкой: http://www.coderholic.com/extending-vlc-with-lua/

Смежные вопросы