Цель: Управление плеером через скрипт (программу) Python удаленно с телефона или с сайта. А также для удобства изучения Английского языка.
python-vlc 3.0.12118
pip install python-vlc
https://www.olivieraubert.net/vlc/python-ctypes/doc/

Уголок разработчиков VLC
https://www.videolan.org/developers/vlc.html
https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc-module.html

Документация. Помощь и поддержка.

Форум VideoLAN Поиск

Вам необходимо использовать Git, чтобы загрузить последний живой снимок дерева разработки.
Исходный код VLC
Последние исходные пакеты
Если вы хотите получить последнюю версию пакета исходных кодов для разработки, перейдите по этой ссылке:
http://nightlies.videolan.org/build/source/
и загрузите первый в списке файл tar.xz.
Вы также должны знать, как скомпилировать VLC для вашей архитектуры.
Понять Кодекс
Сначала прочтите объяснение дерева исходных текстов и объяснение дерева модулей .
Затем прочтите начало введения в ядро VLC и документацию по загрузке модулей.
Вы можете найти больше информации о IRC и в Руководстве для хакеров.
Категория: Строительство
(Перенаправлено из Compile VLC )Перейти к навигацииПерейти к поиску
Это руководство поможет вам скомпилировать медиаплеер VLC для вашей платформы.
Это руководство предназначено для разработчиков и опытных пользователей . Компиляция VLC — непростая задача.
Вам следует обратиться в IRC, чтобы помочь вам на этом этапе.
Общие шаги
Вот основные шаги, которые необходимо выполнить для компиляции VLC:
- Подготовьте среду компиляции,
- Захватите источник в VLC медиа — плеер ,
- Bootstrap, используя скрипт ./bootstrap, если вы взяли код из репозитория,
- Подготовьте дополнительные библиотеки, необходимые для медиаплеера VLC , прочтите список ,
- Настроить ,
- Сборка с помощью make,
- и прибыль!
Скомпилировать для одной операционной системы
*** Linux, BSD или другие системы ***
Подготовьте свое окружение
В Debian или Ubuntu:
$ sudo apt-get install git build-essential pkg-config libtool automake autopoint gettext
Получить исходный код.
Начните с получения исходного кода , использования FTP для официальных выпусков или использования Git для отслеживания разработки VLC.
Если вы используете версию для разработки Git , начните с загрузки исходного дерева:
$ git clone git: //git.videolan.org/vlc.git
$ cd vlc
$ ./bootstrap
Загрузка не удастся, если autotools отсутствует или устарел.
Если вы используете официальный выпуск, загрузите исходный код, распакуйте архив и перейдите в полученный каталог VLC, например:
$ wget ftp://ftp.videolan.org/pub/videolan/vlc/3.0.12/vlc-3.0.12.tar.xz
$ tar xvJf vlc-3.0.12.tar.xz
$ cd vlc-3.0.12
Предпочтительный метод
Используйте свой дистрибутив или систему portage, чтобы получить все необходимые библиотеки.
Debian
Например, в Debian или Ubuntu:
$ sudo apt-get build-dep vlc
…
…
Приставка
Если вы хотите установить VLC в другой каталог, запустите
$ ./configure --prefix = / путь / к / установке / папке /
Вы можете найти пример configure на странице Configure этой вики.
Компиляция
Скомпилируйте VLC:
$ make
Вам не нужно устанавливать VLC, чтобы использовать его. Вы также можете просто запустить его из каталога сборки:
# ./vlc
Если вы действительно хотите установить VLC в систему, запустите это как root:
# сделать установку
Вы можете удалить его позже, но до этого момента дерево сборки нужно оставить нетронутым:
# сделать удаление
Чтобы удалить файлы, созданные во время компиляции (необязательно), введите:
$ очистить
Устранение неполадок / общие проблемы
Lua
Вам может потребоваться установить Lua, если вы получите сообщение «Отсутствует компилятор байтов LUA». сообщение. Вам необходимо установить «luac», компилятор байтов Lua.
В Debian / Ubuntu:
$ sudo apt-get install lua5.1
В Fedora:
$ sudo yum install lua
XCB
VLC 1.1 и более поздние версии требуют библиотек XCB для работы с дисплеями X11. Не отключайте XCB, иначе вы не получите никакой поддержки видео!
Чтобы установить эти библиотеки, выполните следующие команды (Debian / Ubuntu):
$ sudo apt-get install libxcb-shm0-dev libxcb-xv0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-complex0-dev
Если ваш дистрибутив предоставляет версию XLib без XCB, то этот более поздний пакет будет недоступен. Таким образом, вы не сможете использовать OpenGL. Вместо этого используйте XVideo.
Сбой компиляции после git pull
Вероятно, что источники в репозитории значительно изменились с момента их последнего извлечения, а кеш системы сборки устарел. Попробуйте методы устранения неполадок, описанные в руководстве для хакеров по модулям .
Интеграция с DBus
DBus — это коммуникационный механизм для Linux (в основном).
Мы хотели бы, чтобы VLC мог использовать его, чтобы другие программы могли взаимодействовать с vlc (запуск / остановка, знание того, что воспроизводится, …)
Работа продвинута хорошо, см. DBus
DBus
Перейти к навигации Перейти к поиску См. Также: DBus-spec и DBus-usage.
TODO для интеграции с DBus
VLC реализует DBus-spec , независимый от настольных ПК документ, который стремится быть подходящим для всех медиаплееров.
Определите сервисное поведение
Может ли vlc быть сервисом, запускаемым по запросу, будет ли это полезно?
Нам просто нужно создать /usr/share/dbus-1/org.freedesktop.MediaPlayer.service:
[D-BUS Service]
Name=org.freedesktop.MediaPlayer
Exec=/usr/bin/vlc -I dummy --control dbus
VLC module in Python – An Introduction
Мы также можем использовать медиаплеер VLC с помощью python, чтобы установить модуль vlc в python, мы будем использовать команду, приведенную ниже
pip3 install python-vlc
Примечание. Чтобы использовать модуль vlc в python, в пользовательской системе должен быть уже установлен медиаплеер vlc.
Импорт модуля VLC:
для импорта модуля VLC используйте следующее
import vlc
Пример 1: воспроизведение видео с помощью VLC
# importing vlc module
import vlc
# creating vlc media player object
media = vlc.MediaPlayer("1.mp4")
# start playing video
media.play()
Выход (Output):

Пример 2: Здесь мы получим продолжительность видео файла с помощью модуля VLC.
# importing time and vlc
import time, vlc
# method to play video
def video(source):
# creating a vlc instance
vlc_instance = vlc.Instance()
# creating a media player
player = vlc_instance.media_player_new()
# creating a media
media = vlc_instance.media_new(source)
# setting media to the player
player.set_media(media)
# play the video
player.play()
# wait time
time.sleep(0.5)
# getting the duration of the video
duration = player.get_length()
# printing the duration of the video
print("Duration : " + str(duration))
# call the video method
video("your_video.mp4")
Выход (Output):
Duration : 5006
Программа с примером:
Как заявил wizzwizz4, vlc.py программа доступна по адресу @ https://wiki.videolan.org/Python_bindings вместе с примером кода для wxpython, pyQt и pyGtk. Документация находится здесь: https://www.olivieraubert.net/vlc/python-ctypes/ doc /
Вот примерный фрагмент кода, который запускается из командной строки, чтобы вы могли начать.
Stack Overflow
About
Products
For Teams
Search…
Join Stack Overflow to learn, share knowledge, and build your career.
Home
PUBLIC
Questions
Tags
Users
COLLECTIVES
Explore Collectives
FIND A JOB
import requests
import vlc
import time
import os
#Test data a local file, a couple of radio stations and a video to cover all the bases
urls = [
'file:///home/rolf/Music/H5O.mp3',
'http://www.lounge-radio.com/listen128.m3u',
'http://network.absoluteradio.co.uk/core/audio/aacplus/live.pls?service=acbb',
'http://statslive.infomaniak.ch/playlist/energy90s/energy90s-high.mp3/playlist.pls',
'http://streaming.radio.rtl2.fr/rtl2-1-44-128',
'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4'
]
#Define playlist extensions
playlists = set(['pls','m3u'])
#Define vlc playing Status values
playing = set([1,2,3,4])
Instance = vlc.Instance()
# Loop over urls provided
for url in urls:
print ("\n\nLooking for:", url)
# Grab file extension
ext = (url.rpartition(".")[2])[:3]
found = False
# Test if url is a local file or remote
if url[:4] == 'file':
if os.path.isfile(url[7:]):
found = True
else:
print ('Error: File ', url[7:], ' Not found')
continue
else:
try:
r = requests.get(url, stream=True)
found = r.ok
except ConnectionError as e:
print('failed to get stream: {e}'.format(e=e))
continue
if found:
player = Instance.media_player_new()
Media = Instance.media_new(url)
Media_list = Instance.media_list_new([url])
Media.get_mrl()
player.set_media(Media)
# if url is a playlist load list_player else use player
if ext in playlists:
list_player = Instance.media_list_player_new()
list_player.set_media_list(Media_list)
if list_player.play() == -1:
print ("\nError playing playlist")
else:
if player.play() == -1:
print ("\nError playing Stream")
#=========================================================#
# #Use this code for 15 second samples
print ('Sampling ', url, ' for 15 seconds')
time.sleep(15)
#
#=========================================================#
# #Use this code to play audio until it stops
# print ('Playing ', url, ' until it stops')
# time.sleep(5) #Give it time to get going
# while True:
# if ext in playlists:
# state = list_player.get_state()
# if state not in playing:
# break
# else:
# state = player.get_state()
# if state not in playing:
# break
#=========================================================#
if ext in playlists:
list_player.stop()
else:
player.stop()
else:
print ('\nError getting the audio')
Это тоже самое с другой сайта нужно сравнить текст программы и оставить один.
import requests
import vlc
import time
import os
#Test data a local file, a couple of radio stations and a video to cover all the bases
urls = [
'file:///home/rolf/Music/H5O.mp3',
'http://www.lounge-radio.com/listen128.m3u',
'http://network.absoluteradio.co.uk/core/audio/aacplus/live.pls?service=acbb',
'http://statslive.infomaniak.ch/playlist/energy90s/energy90s-high.mp3/playlist.pls',
'http://streaming.radio.rtl2.fr/rtl2-1-44-128',
'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4'
]
#Define playlist extensions
playlists = set(['pls','m3u'])
#Define vlc playing Status values
playing = set([1,2,3,4])
Instance = vlc.Instance()
# Loop over urls provided
for url in urls:
print ("\n\nLooking for:", url)
# Grab file extension
ext = (url.rpartition(".")[2])[:3]
found = False
# Test if url is a local file or remote
if url[:4] == 'file':
if os.path.isfile(url[7:]):
found = True
else:
print ('Error: File ', url[7:], ' Not found')
continue
else:
try:
r = requests.get(url, stream=True)
found = r.ok
except ConnectionError as e:
print('failed to get stream: {e}'.format(e=e))
continue
if found:
player = Instance.media_player_new()
Media = Instance.media_new(url)
Media_list = Instance.media_list_new([url])
Media.get_mrl()
player.set_media(Media)
# if url is a playlist load list_player else use player
if ext in playlists:
list_player = Instance.media_list_player_new()
list_player.set_media_list(Media_list)
if list_player.play() == -1:
print ("\nError playing playlist")
else:
if player.play() == -1:
print ("\nError playing Stream")
#=========================================================#
# #Use this code for 15 second samples
print ('Sampling ', url, ' for 15 seconds')
time.sleep(15)
#
#=========================================================#
# #Use this code to play audio until it stops
# print ('Playing ', url, ' until it stops')
# time.sleep(5) #Give it time to get going
# while True:
# if ext in playlists:
# state = list_player.get_state()
# if state not in playing:
# break
# else:
# state = player.get_state()
# if state not in playing:
# break
#=========================================================#
if ext in playlists:
list_player.stop()
else:
player.stop()
else:
print ('\nError getting the audio')