当前位置: 首页 > news >正文

新材料 东莞网站建设房地产信息发布平台官网

新材料 东莞网站建设,房地产信息发布平台官网,wordpress表情按钮,网页设计接单python MP4视频转GIF动图 引言一、转换代码二、PyQt界面编写2.1 效果展示2.2 源码 三、打包成可执行文件(.exe) 一个相当于原视频三倍速的GIF动图 引言 将MP4格式的视频转为GIF动图可以方便地向他人展示动画效果。GIF是网络上广泛使用的图像格式之一#xff0c;几乎所有的网… python MP4视频转GIF动图 引言一、转换代码二、PyQt界面编写2.1 效果展示2.2 源码 三、打包成可执行文件(.exe) 一个相当于原视频三倍速的GIF动图 引言 将MP4格式的视频转为GIF动图可以方便地向他人展示动画效果。GIF是网络上广泛使用的图像格式之一几乎所有的网页浏览器和客户端都支持其兼容性较好。比如可以直接插入到PPT中、或是在微信上发给别人、或者直接插入到CSDN博客中但是MP4等视频格式的文件显然不行。 常用的免费在线转换网站上不去了好多其它网站需要注册本作者亲自写一个方便日常使用。 当然GIF也有其缺点将MP4视频同帧率转为GIF文件会变大占用更多内存 文心一言给出的理由将MP4视频转换为GIF后文件变大主要是因为GIF格式的编码方式和MP4不同。MP4文件内一般采用视频压缩的格式例如h264这种压缩方式利用时间上相邻两帧的相似性和人眼视觉上的冗余来做有损压缩从而压缩率很高。而GIF格式则单独保留了每一帧图片同时每张图片都是采用无损压缩的方式因此GIF尺寸比较大。 一、转换代码 使用moviepy库安装 pip install moviepy 英文文档https://zulko.github.io/moviepy/ 推荐方便Search 中文文档http://doc.moviepy.com.cn/ from moviepy.editor import * myClip VideoFileClip(xxx.mp4) myClip.write_gif(xxx.gif)write_gif默认与原视频时常一样只能更改帧速率默认帧率也与原视频一样)如果想更改播放速度可使用speedx函数如 放慢一半 myClip.speedx(0.5).write_gif(xxx.gif)二倍速播放 myClip.speedx(2).write_gif(xxx.gif)write_gif参数官方解释write_gif(self, filename, fpsNone, program‘imageio’, opt‘nq’, fuzz1, verboseTrue, loop0, disposeFalse, colorsNone, tempfilesFalse, logger‘bar’)write_gif参数解释moviepy音视频剪辑基类VideoClip的write_gif方法opt、fuzz、dispose、colors、loop等参数的作用转换代码也可参考: 使用Opencv将MP4文件转GIF图片 二、PyQt界面编写 2.1 效果展示 使用gif展示了一个将mp4转为gif动图的软件 2.2 源码 使用pyqt5-tool生成的ui界面转成py后增加了mp4_to_gif函数可直接运行 # -*- coding: utf-8 -*-from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import * from PyQt5.QtCore import *def mp4_to_gif():dialog QFileDialog()dialog.setFileMode(QFileDialog.ExistingFile)dialog.setAcceptMode(QFileDialog.AcceptOpen)filename, _ dialog.getOpenFileName(dialog, Open file, , files (*.mp4);;(*.*))print(filename.replace(.mp4, .gif))from moviepy.editor import VideoFileClipmyClip VideoFileClip(filename)myClip.speedx(3).write_gif(filename.replace(.mp4, .gif))passclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName(MainWindow)MainWindow.resize(321, 71)MainWindow.setMaximumSize(QtCore.QSize(321, 71))self.centralwidget QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName(centralwidget)self.pushButton QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(0, 0, 321, 71))font QtGui.QFont()font.setFamily(微软雅黑)font.setPointSize(24)self.pushButton.setFont(font)self.pushButton.setObjectName(pushButton)MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate(MainWindow, MP4_to_GIF))self.pushButton.setText(_translate(MainWindow, 将MP4转为GIF))# 按钮事件self.pushButton.clicked.connect(mp4_to_gif)if __name__ __main__:import sysapp QtWidgets.QApplication(sys.argv)MainWindow QtWidgets.QMainWindow()ui Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_()) 还有个小bugfilename为空程序会奔溃 三、打包成可执行文件(.exe) 安装pyinstallerpip install pyinstaller 执行 pyinstaller -F -w main.py 打包生成100MB的exe文件… 结果如下
http://www.pierceye.com/news/35556/

相关文章:

  • 设计公司网站的要点中国站长之家网站
  • 丹东做网站公司网站所有权 备案
  • 厦门网站建设培训百度竞价排名怎么收费
  • 建设银行支行网站山西手动网站建设推荐平台
  • 男的做直播网站东营确诊名单
  • 深圳建站推广软件项目流程八个阶段
  • 什么网站可以自己接工程做预算建站公司有哪些服务
  • 网站开发要学的课程网络服务租赁合同范本
  • 水产网站源码网站建设平台推广
  • 怎么做淘宝返利网站吗国外搜索引擎排行榜
  • 室内设计自学网站全国企业信用信息系统
  • 怎么推广自己的公司网站在线学习网站开发
  • 如何自已建网站新闻摘抄
  • 做背景图 网站安装网站模版视频
  • 网站制作优质公司北京网站备案公司
  • 深圳龙华汽车网站建设网站建设预期达到的效果
  • 怎么做批量的网站检查wordpress有关seo的插件
  • 成功的企业网站案例微信怎么做捐钱的网站
  • 公司网站建设意见和建议哈尔滨定制网站建设
  • 网站seo排名免费咨询iis 部署wordpress
  • 企业所得税会计分录怎么做杭州seo网站推广软件
  • 做程序界面的网站内蒙古建设厅建筑网站
  • 怎么修改网站首页html代码南京网络推广公司排名
  • 网站的设计与实现常德网站优化推广
  • 网站建设推广总结太原网站开发团队
  • 江西汽车网站建设建设网站合同范本
  • 集团网站设计开发网页设计师培训机构免费
  • 厚街镇网站建设app怎么开发出来的
  • 免费建设网站赚钱优化网站公司
  • cms做视频网站网页设计psd源文件