芯彤 發表於 2025-10-25 12:34:00

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

<p><span id="cke_bm_3543S">《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章 &nbsp;FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在桌面系统上还有一款开源视频剪辑框架OpenShot,通过该框架可以更快地加工编辑视频文件,下面就来介绍如何在桌面系统中使用OpenShot。<br>
OpenShot的全称是OpenShot Video Editor,它是一款跨平台的开源视频编辑器,适用于Linux、Mac和Windows等系统,且提供了高质量编辑视频和动画的解决方案。编译之后的OpenShot工具环境叫做OpenShot Studios,采用类似剪映的操作界面,方便用户通过它剪辑视频。<br>
OpenShot的官网地址为https://www.openshot.org/,源码托管地址为https://github.com/OpenShot/openshot-qt(星星数5k),国内镜像地址是https://gitee.com/mirrors/openshot,最新版本为2024年12月发布的OpenShot v3.3.0,可见该框架的源码更新十分及时。</span></p>
<h1>一、OpenShot的运行条件</h1>
<p>OpenShot基于Python 3.*编写,它的编译环境需要满足下列条件:<br>
1、安装了Python 3.0或更高版本(Python的官网为http://www.python.org)<br>
2、安装了PyQt5(PyQt5的下载页面为http://www.riverbankcomputing.co.uk/software/pyqt/download5)<br>
3、安装了libopenshot库(该库的源码托管地址为https://github.com/OpenShot/libopenshot)<br>
4、安装了libopenshot-audio库(该库的源码托管地址为https://github.com/OpenShot/libopenshot-audio)<br>
5、安装了FFmpeg库或者Libav库(FFmpeg的官网为http://www.ffmpeg.org/,Libav的官网为http://libav.org/)<br>
6、Linux或MAC系统需要安装GCC构建工具,Windows系统需要安装MinGW工具</p>
<p>可见OpenShot主要采用PyQt5结合FFmpeg编码开发,有关Qt+FFmpeg的桌面开发可参考《FFmpeg开发实战:从零基础到短视频上线》一书的“第 11 章 &nbsp;FFmpeg的桌面开发”。</p>
<h1>二、OpenShot的运行方式</h1>
<p>OpenShot有两种运行方式:运行已编译的可执行程序和从源代码编译运行,分别说明如下:</p>
<h2>1、运行已编译的可执行程序</h2>
<p>如果系统已经安装libopenshot,则可执行以下命令运行OpenShot:</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-display-name="代码段" data-cke-filter="off" data-cke-widget-id="4" data-cke-widget-wrapper="1">
<pre class="cke_widget_element" data-cke-widget-data="%7B%22code%22%3A%22cd%20openshot-qt%E6%89%80%E5%9C%A8%E7%9B%AE%E5%BD%95%5Cnpython3%20src%2Flaunch.py%22%2C%22classes%22%3Anull%7D" data-cke-widget-keep-attr="0" data-cke-widget-upcasted="1" data-widget="codeSnippet"><code class="hljs">cd openshot-qt所在目录
python3 src/launch.py</code></pre>
</div>
<h2>2、从源代码编译运行</h2>
<p>若要从源码编译构建libopenshot,则需将环境变量PYTHONPATH设置为内部Python的绑定位置。详细的编译命令如下:</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-display-name="代码段" data-cke-filter="off" data-cke-widget-id="3" data-cke-widget-wrapper="1">
<pre class="cke_widget_element" data-cke-widget-data="%7B%22code%22%3A%22cd%20libopenshot%E6%89%80%E5%9C%A8%E7%9B%AE%E5%BD%95%5Cncmake%20-B%20build%20-S%20.%5Cncmake%20--build%20build%5Cncd%20openshot-qt%E6%89%80%E5%9C%A8%E7%9B%AE%E5%BD%95%5Cnexport%20PYTHONPATH%3Dlibopenshot%E6%89%80%E5%9C%A8%E7%9B%AE%E5%BD%95%2Fbuild%2Fbindings%2Fpython%5Cnpython3%20src%2Flaunch.py%22%2C%22classes%22%3Anull%7D" data-cke-widget-keep-attr="0" data-cke-widget-upcasted="1" data-widget="codeSnippet"><code class="hljs">cd libopenshot所在目录
cmake -B build -S .
cmake --build build
cd openshot-qt所在目录
export PYTHONPATH=libopenshot所在目录/build/bindings/python
python3 src/launch.py</code></pre>
</div>
<p>OpenShot成功运行后的启动界面如下所示,可见该工具的操作界面类似剪映,十分方便用户快速上手视频剪辑。</p>
<p><span class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-display-name="图像" data-cke-filter="off" data-cke-widget-id="2" data-cke-widget-wrapper="1"><span class="cke_reset cke_widget_drag_handler_container"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><span class="cke_widget_edit_container" title="编辑图片"><img src="https://img2024.cnblogs.com/blog/729938/202510/729938-20251005162000056-1193276553.png"></span></span></span></span></p>
<p>更多详细的FFmpeg开发知识参见<span class="cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_selected" data-cke-display-name="a" data-cke-filter="off" data-cke-widget-id="1" data-cke-widget-wrapper="1">《FFmpeg开发实战:从零基础到短视频上线》一书。</span></p><br><br>
来源:https://www.cnblogs.com/aqi00/p/19126685
頁: [1]
查看完整版本: FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot