经过前期的调研,我准备使用PyQT+PyAV+PyAudio+pillow。期间也尝试过使用ffmpeg-python,但最后还是选择了av这个更底层,自由度更大的库来完成音视频的处理。
 
========================
问题1,win= QWidget()执行为什么会失败
答案: 在此之前,先要执行mapp = QApplication(sys.argv)
 
========================
问题2,为什么win.show()能启动对话框,但是一直转圈,卡住
答案:在此之后要执行sys.exit(mapp.exec_())
 
========================
问题3,为什么安装Eric,总是遇到问题
答案:python的安装路径里,不要有中文。另外按照说明把python、pip以及pyQT的路径加到环境变量PATH里
 
========================
问题4:Python3 多线程问题:ModuleNotFoundError: No module named 'thread'
答案: python3 导入thread报错,把thread改为_thread就好了。比如:import _thread as thread
  
========================
问题5:为什么PIL库老是安装失败?
答案:pil库在python3下不支持,安装pillow即可
 
========================
问题6:av库安装老是失败
答案:先安装conda,安装方法见:https://www.cnblogs.com/lsdb/p/9121033.html
然后用命令:
conda install av -c conda-forge
 
然后就能安装成功
 
========================
问题7:“'module' object is not callable”提示是什么意思?
答案:此处错误提示我们命名程序文件名称的时候注意避免和导入模块名称一样
 
========================
问题8:用pyAudio播放Numpy的音频数据卡顿?
答案:不能直接播放Numpy数据,而是要播放bytes的对象才行。
不能 stream.write(pcm)
而是 stream.write(pcm.tobytes())
这里的pcm是一个numpy对象
 
========================
问题9:用PyAV完成视频解码之后,如何完成视频分辨率的转换?
答案:用reformay函数来完成转换,比如:
frame_show= VideoFrame.reformat(width=XShow_width, height=XShow_height)
也可以完成颜色空间的转换
 
视频播放器在github上的链接是:https://github.com/dongjiawei316/AV_player.git

利用python制作在线视频播放器遇到的一些问题的更多相关文章

  1. 基于Html5的兼容所有主流浏览器的在线视频播放器videoJs

    在一个新的项目上需要实现在线视频播放,原本打算借助优酷的视频存储和播放,但是发现这个需要用户注册优酷账户,严重影响用户体验,于是这个方案被毙掉了.于是开始了自己开发一个在线播放器的想法,当然尽量使用已 ...

  2. c# 如何制作RealPlayer 视频播放器

      c# 如何制作RealPlayer 视频播放器 主要介绍了如何使用 RealPlayer G2 Control 控件 那么我们怎么获得到这个控件呢,很简单,操作方法如下 右单击工具箱对话框的[所有 ...

  3. 利用python制作电子签名

    有时候我们需要在文档里粘上电子签名,通常使用photoshop制作,但是通常photoshop软件还需要下载.安装,对于不经常使用的人来说,单独装这个软件没啥必要. 因此我们可以利用python对签名 ...

  4. 制作VR视频播放器

    最近VR火的不要不要的,但是综合起来,VR资源最多的还是全景图片和全景视频,今天在这里给大家简单介绍一下如何用Unity制作简单的VR视频播放器. 首先找到EasyMovieTexture这个插件,A ...

  5. 如何利用python制作微信好友头像照片墙?

    这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...

  6. 利用Python制作简单的小程序:IP查看器

    前言 说实话,查看电脑的IP,也挺无聊的,但是够简单,所以就从这里开始吧.IP地址在操作系统里就可以直接查看.但是除了IP地址,我们也想通过IP获取地理地址和网络运营商情况.IP地址和地理地址并没有固 ...

  7. 利用Python制作一个只属于和她的聊天器,再也不用担心隐私泄露啦!

    ------------恢复内容开始------------ 是否担心微信的数据流会被监视?是否担心你和ta聊天的小秘密会被保存到某个数据库里?没关系,现在我们可以用Python做一个只属于你和ta的 ...

  8. 利用Python制作二维码

    利用简单的Python代码制作二维码 一.制作工具 安装Python环境 + PyCharm编译器. 二.电脑系统 本人win10 + Python3.7.0 + PyCharm. 三.写代码前先下载 ...

  9. 新手教程丨利用Python制作一款截图识别软件!

    进入正文前给大家推荐一个微软开发的工具:Snipaste. 这是一款截图软件,把截出的图片放置到窗口上,可以随意移动,使用非常方便,并且支持各类电脑系统. 先简单介绍一下它的用法,F1截图,Ctrl+ ...

随机推荐

  1. NCBI之UniVec数据库及去载体

    1.数据库简介 UniVec是一个数据库,可用于快速识别核酸序列中可能来自载体来源(载体污染)的片段.使用UniVec进行筛选是高效的,因为已经消除了大量冗余子序列,从而创建一个只包含来自大量载体的每 ...

  2. <Trie> 208 211

    208. Implement Trie (Prefix Tree) class TrieNode{ private char val; public boolean isWord; public Tr ...

  3. 如何确保redis中都是热数据

    相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略. redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i].ex ...

  4. appium--多进程启动多设备

    前戏 在前面我们都是使用一个机器进行测试,在做app自动化的时候,我们要测不同的机型,也就是兼容性测试,如果一台一台设备去执行,那就显的太麻烦了.所以经常需要我们启动多个设备,同时跑自动化测试用例,要 ...

  5. ORB-SLAM2初步(跟踪模块)

    一.跟踪模块简介 在ORB-SLAM或其他SLAM系统中,跟踪的主要任务是根据相机或视频输入的图像帧实时输出相机位姿.在ORB-SLAM中,跟踪模块的主要任务是实时输出相机位姿和筛选关键帧,完成一个没 ...

  6. 怎样删掉vc++ 对话框中的蓝色虚线框

    选择"格式"--"切换辅助线"或者是快捷键alt+o , g

  7. windows下sed回车换行符处理

    windows下sed回车换行符处理如果用sed for windows对整个文件进行了编辑,编辑之后一般需要处理回车换行符:rem windows的回车换行符是\r\n,linux的是\n,所以要替 ...

  8. 检查hdfs块的块-fsck

    hadoop集群运行过程中,上下节点是常有的事情,如果下架节点,hdfs存储的块肯定会受到影响. 如何查看当前的hdfs的块的状态 hadoop1.x时候的命令,hadoop2.x也可使用: hado ...

  9. Kafka如何保证高吞吐量

    1.顺序读写 kafka的消息是不断追加到文件中的,这个特性使kafka可以充分利用磁盘的顺序读写性能 顺序读写不需要硬盘磁头的寻道时间,只需很少的扇区旋转时间,所以速度远快于随机读写 生产者负责写入 ...

  10. Javascript笔记:作用域和执行上下文

    一.作用域 Javascript的作用域规则是在编译阶段确定的,有声明时的位置决定. JS中有全局作用域,函数作用域,块级作用域(ES6引入). 1. 全局作用域 在整个程序生命周期内都是有效的,在任 ...