Python 流媒体播放器的实现(基于VLC)
作者:血色v残阳 发布时间:2023-09-10 07:22:27
网上关于Python的音视频播放示例都集中在简单的多媒体库或者PyGame这样的游戏库,有些库使用简单,但功能单一,有些库功能丰富,支持的格式多,但使用繁琐。那有没有一种功能丰富全面又使用简单,而且还能支持流媒体播放的库呢?答案是有的。
VLC
就是我们今天的主角。官网地址: 点击我
根据官网的介绍,它是一款自由、开源的跨平台多媒体播放器及框架,它全面支持绝大部分的多媒体格式,以及各类流媒体协议。也就是说,使用它既能播放本地音视频文件,也能在线播放各类流媒体资源。
这是目前全网最全面的一篇关于VLC
的Python语言绑定的使用教程,本人浏览了其API文档,从文档中直接提炼出了Python语言绑定的使用方法,本篇以Windows平台为主,如果读者朋友觉得有用,请点赞支持!
环境准备
VLC 安装
VLC
实际上是比较知名的开源多媒体播放器,要使用这个库,首先需要在电脑上安装VLC
,我们可以直接在上述的官网中下载并安装它,有一点需要特别注意,如果本地安装的Python是32位,则你必须下载32位的VLC
,64位则下64位的VLC
,必须与Python的版本对应,否则无法使用。
事实上,我并不推荐这样直接安装。试想一下,如果我们使用Python开发一个基于VLC
的播放器发布出去,却要求用户在使用之前,先安装一个VLC
播放器,岂不是很荒谬?那么如何将VLC
集成到Python程序中来,才是问题的关键。
关于这个问题,没有找到相关资料,只能通过查看python-vlc绑定的源码来寻找方法。
安装python-vlc 绑定
VLC
是纯C语言开发的框架,Python想要更简单的调用,需要安装一个python-vlc 绑定,实际上就是一个vlc.py
模块,它封装了VLC
动态库的接口,让我们使用更简单。
python -m pip install python-vlc
完成安装后,我们在site-packages
中找到vlc.py
源码,查看其对VLC
动态库的加载代码,可以发现,在Windows系统上,vlc.py
是通过查询Windows注册表的方式来搜索路径并加载VLC
的dll
动态库的。但它其中也提供了一个配置环境变量PYTHON_VLC_MODULE_PATH
的加载方式,这样我们就能在尽可能不修改vlc.py
源码的前提下完成VLC
动态库的集成。
来源:https://arcticfox.blog.csdn.net/article/details/89527561


猜你喜欢
- 本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下:<?php/* * Created on 2018-
- oracle 的表空间实例详解查询表空间SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
- 创建表:create table if not exists t( id int, addT
- 块级函数严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。if(tru
- python中bool数组取反操作由于Python中使用数字0,1 代表Flase,Ture 。所以bool数组不能像matlab一样直接进
- 红包分配算法代码实现发给大家,祝红包大丰收!#coding=gbkimport randomimport sys#print random.
- 部署.net6项目到docker【1】新建.net6 mvc或webapi项目;【2】在mvc或webapi项目的根目录下创建Dockerf
- 本文实例为大家分享了TensorFlow实现简单线性回归的具体代码,供大家参考,具体内容如下简单的一元线性回归一元线性回归公式:其中x是特征
- 本文实例讲述了Go语言中错误处理的方法。分享给大家供大家参考。具体分析如下:错误是可以用字符串描述自己的任何东西。 主要思路是由预定义的内建
- 最近真的喜欢上了用xheditor这个在线编辑器,但是美中不足的是我发现它暂时还不能取代FCKeditor,因为没有在线上传功能啊!当然,F
- Mac系统上虽然自带PHP和Apache,但是有时不是我们想要的版本呢。今天我们就在macOS Sierra(10.12.1)上安装比较新的
- python openvc 裁剪图片下面是4个坐标代码:import cv2#裁剪图片路径input_path,四个裁剪坐标为:y1,y2,
- 一份完全按照李航<<统计学习方法>>介绍的HMM代码,供大家参考,具体内容如下#coding=utf8 '&
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- 一、简介Paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令、文件传输等功能。安装模块默认Python没有
- 多级联动下拉选择框,动态获取下一级,每一级数据为XML,可支持无限级(浏览器端需要Microsoft.XMLDOM支持)项目需要,一个材料类
- 在接触公司一个系统时,公司使用的是SQL Server 2008数据库,里面涉及到了多个数据库之间的查询,而且数据库是分布式的,数据库分布在
- 如何定义多对多关系Django 本身自带了一个很强大的ORM,支持自定义model并将其映射到数据库的表中model中可以定义各种类型的数据
- 本文实例讲述了Django框架实现分页显示内容的方法。分享给大家供大家参考,具体如下:分页1、作用数据加载优化2、前端引入bootstrap
- 1.首先在Pycharm Tools->Deployment->Configurations打开新建SFTP输入host: ip