news 2026/4/16 2:48:48

基于PyQt和FFmpeg的开源视频剪辑器OpenShot

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于PyQt和FFmpeg的开源视频剪辑器OpenShot

penShot的全称是OpenShot Video Editor,它是一款跨平台的开源视频编辑器,适用于Linux、Mac和Windows等系统,且提供了高质量编辑视频和动画的解决方案。编译之后的OpenShot工具环境叫做OpenShot Studios,采用类似剪映的操作界面,方便用户通过它剪辑视频。

OpenShot的官网地址为https://www.openshot.org/,源码托管地址为https://github.com/OpenShot/openshot-qt(星星数5k),国内镜像地址是https://gitee.com/mirrors/openshot,最新版本为2024年12月发布的OpenShot v3.3.0,可见该框架的源码更新十分及时。

一、OpenShot的运行条件

OpenShot基于Python 3.*编写,它的编译环境需要满足下列条件:

1、安装了Python 3.0或更高版本(Python的官网为http://www.python.org)

2、安装了PyQt5(PyQt5的下载页面为http://www.riverbankcomputing.co.uk/software/pyqt/download5)

3、安装了libopenshot库(该库的源码托管地址为https://github.com/OpenShot/libopenshot)

4、安装了libopenshot-audio库(该库的源码托管地址为https://github.com/OpenShot/libopenshot-audio)

5、安装了FFmpeg库或者Libav库(FFmpeg的官网为http://www.ffmpeg.org/,Libav的官网为http://libav.org/)

6、Linux或MAC系统需要安装GCC构建工具,Windows系统需要安装MinGW工具

可见OpenShot主要采用PyQt5结合FFmpeg编码开发,有关Qt+FFmpeg的桌面开发可参考《FFmpeg开发实战:从零基础到短视频上线》一书的“第 11 章 FFmpeg的桌面开发”。

二、OpenShot的运行方式

OpenShot有两种运行方式:运行已编译的可执行程序和从源代码编译运行,分别说明如下:

1、运行已编译的可执行程序

如果系统已经安装libopenshot,则可执行以下命令运行OpenShot:

cd openshot-qt所在目录

python3 src/launch.py

2、从源代码编译运行

若要从源码编译构建libopenshot,则需将环境变量PYTHONPATH设置为内部Python的绑定位置。详细的编译命令如下:

cd libopenshot所在目录

cmake -B build -S .

cmake --build build

cd openshot-qt所在目录

export PYTHONPATH=libopenshot所在目录/build/bindings/python

python3 src/launch.py

OpenShot成功运行后的启动界面如下所示,可见该工具的操作界面类似剪映,十分方便用户快速上手视频剪辑。

openshot1

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 21:58:35

【计算机毕业设计案例】基于springboot的影院购票管理系统的设计与实现场次管理(同步影片排期、影厅座位、放映技术)、影院选座(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 7:42:53

国产数据库技术学习心得:DM数据库实操进阶之路

在信创浪潮推动下,国产数据库技术已成为IT从业者的必备技能。通过《国产数据库技术》课程的系统学习,我以达梦(DM)数据库为核心,从安装配置到SQL编程完成了全流程实操,深刻体会到国产数据库的高性能与适配性…

作者头像 李华
网站建设 2026/3/31 17:49:02

【课程设计/毕业设计】基于springboot的校园零售管理系统的设计与实现:校园超市、便利店商品【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/12 10:06:51

Java计算机毕设之基于Java的高校超市管理系统设计与实现基于springboot的校园零售管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/13 19:00:41

kubernetes中利用LXCFS控制容器资源可见性

背景 Linux 利用 Cgroup 实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上的 procfs 的 /proc 目录,其包含如:meminfo、cpuinfo、stat、uptime 等资源信息。一些监控工具如 free、top 或 业务应用还依赖上述文件内容获取资源配置和…

作者头像 李华
网站建设 2026/4/5 8:53:45

扩展域并查集(种类并查集)

理解思想一.团伙给定若干满足如下两条的关系,求会构成多少个团伙:、为朋友。、为敌人。普通并查集维护朋友关系依靠的是朋友关系具有传递性,即朋友的朋友还是朋友。但是,敌人的敌人是朋友并不满足上述传递性,因此需要想…

作者头像 李华