FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot

《FFmpeg开发实战:从零基础到短视频上线》一书的"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在桌面系统上还有一款开源视频剪辑框架OpenShot,通过该框架可以更快地加工编辑视频文件,下面就来介绍如何在桌面系统中使用OpenShot。
OpenShot的全称是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成功运行后的启动界面如下所示,可见该工具的操作界面类似剪映,十分方便用户快速上手视频剪辑。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
h39745 小时前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
美狐美颜sdk8 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
揽秀亭长9 小时前
从音频到五线谱|扒谱过程中的关键技术环节
人工智能·音视频
乐橙开放平台13 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
Anhty15 小时前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
企业数字化笔记16 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频
VidDown17 小时前
上传 2GB 文件别让 Django 接:分片上传、对象存储直传与秒传
python·django·音视频·状态模式·实时音视频·视频编解码·视频
阿明副业观察17 小时前
AI视频生成工具功能与作用全面解析:赋能高效内容创作
大数据·人工智能·aigc·音视频·ai写作
EasyDSS18 小时前
告别视频资源浪费!云点播/本地点播/网络点播EasyDSS平台点播实现企业视频高效复用
音视频·媒体·easydss
智能直播18 小时前
RK3528 Tinyalsa/ALSA框架:输入源声音获取与HDMI out声音输出,一文讲透直播音频链路
音视频·实时音视频·视频编解码