python编写视频播放器_python十几行代码实现简单播放器
点击上方「蓝字」关注我们
一、播放器简介
播放器大家都并不陌生,我们听音乐,我们看视频都会用到。那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤:
1.读取文件(包括音频文件和视频文件);
2.判断文件类型(视频和音频的格式千差万别);
3.根据不同的文件类型来进行解码(流媒体的文件体积太大,一般都经过了压缩,而压缩的标准和格式又五花八门);
4.保证音画同步(画面和视频不同步是不是很不爽);
5.解码后的图像渲染到显示设备(如显示器,不同的显卡和硬件的驱动也千差万别);
6.解码后的图像渲染到声音设备(如声卡)。
有没有感觉好复杂。没错,一个音视频播放的背后就是这么复杂,不过对于我们使用者来说使用是简单的。这也是我们常追求的一种产品哲学,把复杂留给后台,把简单呈现给用户。
二、使用python简单实现播放器
接触到python之后,发现其强大之处,结合自己的技术方向,简单实现了一个播放器,可以说,这样的组合把留给程序员的复杂也进一步的减少了呢。
当然如果你要是想完全懂这个程序,可能需要有一定的前提:
1.你有简单的python基础,不需要精通,快速入门即可;
2.你有简单的图形图像的基础,看过我的公众号的你,基本都具备这个能力(哈哈);
再说一下这个程序所需要的开发环境:
3.python的开发环境,最少3.6以上,IDE你用什么都可以,vscode, pycharm等等;
4.你需要安装pyglet的python库:安装命令很简单喽 pip install pyglet;
5.同时你需要安装AVbin动态库,介个是pyglet所使用的多媒体解码库,动动你的手指,百度或google,然后安装一下;
6.你需要安装PyInstaller库:安装命令同样很简单pip install PyInstaller;
7.最好找一个播放器的图标:mylayer.ico;
8.准备一个测试的视频。
好了,环境准备好以后,接下来就是传说中的十几行代码:
import pygletwindow = pyglet.window.Window(resizable=True)@window.eventdef on_draw():player.get_texture().blit(0, 0)if __name__ == "__main__":player = pyglet.media.Player()source = pyglet.media.load("F:\\FFOutput\\parent.vob")player.queue(source)player.playpyglet.app.run()
关于这段代码的说明:
文件的路径一定要写对哦,就是你的测试视频所在的路径;
这是一个简单的版本,所以只有播放,而没有控制,如暂停,播放等选项
别忘了写pyglet.app.run()这是程序事件循环的起点哈。
三、生成exe文件
pyinstaller player.py -F --icon=player.ico
注意:
这里的player.py就是我们所创建的python文件的名称,你可以起更酷炫的;
这里的player.ico就是我们生成的exe文件的图标;
这里的pyinstaller就是我们环境准备里的PyInstaller包的可执行程序,用于打包python程序。
有没有很强大?十几行代码,实现一个简单播放器,有没有很简单。可以尝试一下看看效果哦!
扫码关注了解更多
交流群已开启,有需要的朋友,公众号后台回复“交流群”,获取入群方式!
python编写视频播放器_python十几行代码实现简单播放器相关推荐
- python开发视频播放器_python_十几行代码实现简单播放器
python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...
- python语言写视频播放器-python_十几行代码实现简单播放器
python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...
- python控制视频播放器的大小与位置_python_十几行代码实现简单播放器
python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...
- python split函数 空格_python上手--10行代码读懂红楼梦
取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...
- FFmpegSDL教程:用不到1000行代码写一个播放器
序 更新:本教程最近一次更新于2015年2月. FFmpeg是一个创建视频应用,甚至更通用程序的强大音视频工具库.FFmpeg能够完成视频处理过程中解码,编码,封装和解封装所有这些棘手工作.借助它,可 ...
- python抽样不同花色纸牌_Python 十几行代码实现你对一副扑克牌的所有幻想
1 importcollections2 from random importchoice, shuffle3 4 #构建了一个简单的 Card 类来表示一张纸牌,rank牌值,suit花色 5 Ca ...
- 用python画满天星花朵_Python用27行代码绘制一幅满天星
前言 每一个孩子都像星空中的一颗星星,散发着自己所特有的光芒照亮着整个夜空.今天就带大家用27行Python代码绘制一幅满天星吧. 全局设置 在绘制满天星的过程中要运用到turtle工具,它是Pyth ...
- python绘制像素图_Python用61行代码实现图片像素化的示例代码
起因 看到网上的像素图片,感觉蛮有趣的,就打算用python一些PIL类库写一个. 实现思路 把一张图片分成多个块,每个块的颜色都等于这个色块中颜色最多的颜色,如下图. 这个图取2×2的像素为块的大小 ...
- python画自己的名字_Python+OpenCV 十几行代码模仿世界名画
原标题:Python+OpenCV 十几行代码模仿世界名画 现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等, ...
- python抠图精确到发丝_Python用5行代码实现批量抠图的示例代码
前言 对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能扣好一张图.不过一些比较复杂的图,有时候还是要画点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠 ...
最新文章
- 2018年薪资最高的15个技术岗
- seaborn可视化直方图(histogram)、添加密度曲线、并自定义直方图中每一个条形的条形框的色彩(edgecolor)
- Python基础教程(八):日期和时间、文件I/O、异常处理
- 删除-Trustzone-TEE-ATF
- 阴谋还是骗局?美国最牛家族的“董事长”,跑到中国开了家假银行.....
- for循环中包含跨服务查询优化
- python绘图——坐标轴
- R语言︱机器学习模型评估方案(以随机森林算法为例)
- 百度网盘登陆验证提示:无法访问此页面,或者二维码显示失败,弹窗显示:无法访问此页面,确保web地址。。。。
- jsch jar包连接不上ssh报Algorithm negotiation fail 错误
- 在cmd中遍历局域网内的IP命令解析
- 4 ARM PEG20K MAL
- 罗素:自由主义的十诫
- scipy butter 滤波器实现
- mysql和oracle有什么区别
- 设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
- 求助:vsftpd启动报错code=exited, status=2
- Java小白入门总结
- win10系统遭遇VMware USB Arbitration Service 无法启动,错误31的解决方案
- 【高级篇 / SNMP】(7.0) ❀ 04. PRTG 监控 FortiGate 状态 (下) ❀ FortiGate 防火墙
热门文章
- ios应用音频与来电铃声冲突问题
- Unity笔记-29-ARPG游戏项目-06-弓箭
- mac怎么显示服务器中隐藏文件,mac怎么显示隐藏文件夹-mac显示隐藏文件命令与使用教程 - 河东软件园...
- HDU6357——Hills And Valleys
- nat流量,业务流量_10种增加在线业务流量的方法
- Openstack Periodic Task
- 脸书隐藏了未能阻止滥用技术的官僚主义报道的失败
- C++Qt入门(1)---Qt简介,第一个Qt程序,Qt按钮
- 变换累次积分顺序的方法和原理(图文详解)
- Semi-Supervised Semantic Image Segmentation with Self-correcting Networks:基于自校正网络的半监督语义图像分割