源码编译Kdenlive视频编辑器

Posted 悟空的修行笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码编译Kdenlive视频编辑器相关的知识,希望对你有一定的参考价值。

源码编译Kdenlive视频编辑器

Kdenlive官方提供的是Ubuntu的编译方法,本问内容是在openSUSE 15.2下编译方法,编译过程相同,只是依赖包名称上存在一些不同。
编译依赖条件: Qt >= 5.7, KF5 >= 5.50,MLT >= 6.20.0

安装编译工具

如果你是第一次编译源码,那么你必须安装编译器套件后才可以编译代码。

sudo zypper install gcc gcc-c++ git cmake cmake-gui extra-cmake-modules libSM-devel

安装KDEFrame5和Qt5依赖库


sudo zypper install karchive-devel kbookmarks-devel kcoreaddons-devel kconfig-devel \\
kconfigwidgets-devel kdbusaddons-devel kio-devel kwidgetsaddons-devel \\
knotifyconfig-devel knewstuff-devel kxmlgui-devel kdeclarative-devel \\
knotifications-devel kguiaddons-devel ktextwidgets-devel purpose-devel \\
kiconthemes-devel kdoctools-devel kcrash-devel kfilemetadata5-devel kio \\
kinit libqt5-qtdeclarative-devel libqt5-qtsvg-devel libqt5-qtquickcontrols \\
libqt5-qtmultimedia-devel libQt5QuickControls2-devel breeze5-icons \\
libmlt-devel libmlt++-devel rttr-devel  libqt5-qtnetworkauth-devel

安装mlt++7库

从“21.08.1”版本之后就需要使用mlt++7.0.0版本库了,所以如果不满足要求的用户可以自己升级或者按照下面方法源码安装一下。

下载源码地址 https://github.com/mltframework/mlt/releases/latest
当前2021/09时间的最新版本为7.0.1,我们就以这个版本为例:


wget -c https://github.com/mltframework/mlt/releases/download/v7.0.1/mlt-7.0.1.tar.gz

tar zxvf mlt-7.0.1.tar.gz
cd mlt-7.0.1
mkdir build/
cd ./build/
cmake -DCMAKE_INSTALL_PREFIX=/usr ../
make -j$(nproc)

# 安装
sudo make install

如果不希望影响当前系统使用的mlt库,可以自定义安装目录,例如: -DCMAKE_INSTALL_PREFIX=/apps/mlt7

自定义mlt++库时需要设置一些环境变量,保证编译环境可以找到这个库,例如设置 PKG_CONFIG_PATH 变量:

export PKG_CONFIG_PATH=/apps/mlt7/lib64/pkgconfig:$PKG_CONFIG_PATH
export PATH=/apps/mlt7/bin:$PATH

正式开始

1.下载源码

当前2021/09最新版本是 v21.08.1(使用命令git tag|tail -5获取)

git clone https://invent.kde.org/multimedia/kdenlive
git checkout v21.08.1

编译代码

支持运动跟踪功能Motion-Track

运动跟踪功能需要使用opencv,因此需要先下载opencv模块,然后编译再使用-DMOD_OPENCV=ON参数重新编译MLT才可以支持。

wget https://github.com/opencv/opencv/archive/4.3.0.tar.gz -O opencv-4.3.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/4.3.0.tar.gz -O opencv_contrib-4.3.0.tar.gz
tar xaf opencv-4.3.0.tar.gz
tar xaf opencv_contrib-4.3.0.tar.gz
cd opencv-4.3.0
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.3.0/modules \\
  -DOPENCV_GENERATE_PKGCONFIG=ON -DBUILD_LIST=tracking -DOPENCV_BUILD_3RDPARTY_LIBS=OFF


如果是使用自定义环境记得执行如下两个环境变量设置:

git clone https://github.com/mltframework/mlt.git
INSTALL_PREFIX=/apps/mlt7 # or any other choice

# Only if you want to compile MLT manually
cd mlt
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX    -DMOD_OPENCV=ON
make -j$(nproc)
make install

export PKG_CONFIG_PATH=/apps/mlt7/lib64/pkgconfig:$PKG_CONFIG_PATH
export PATH=/apps/mlt7/bin:$PATH

接下来,开始编译代码吧:

git clone https://invent.kde.org/multimedia/kdenlive.git

cd kdenlive
git checkout v21.08.1
mkdir build
cd build

cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF
make -j$(nproc)

# 安装编译完的kdenlive程序
sudo make install

安装好后,可以直接执行 kdenlive 验证是否成功运行。

问题记录

  1. 如果Python环境使用的是Anaconda3, 这可能导致使用cmake生成Makefile时自动选择了Anaconda3的Qt库,编译最后会因为QT库版本问题报各种函数找不到的错误信息的。解决方法是使用 cmake-gui 命令将选择了 anaconda3 的库路径修改为 /usr/lib64/cmake 下面的路径,qmake 和 Python 使用 /usr/bin/ 目录下的 , 如果 LD_LIBRARY_PATH 环境变量也包含了个人开发的QT库,最好也重新设置一下这个变量,修改好后点击 generate 无报错即可退出,再执行 make 命令编译了。

Kdenlive-简单的操作

  • 版权声明:原创文章,未经博主允许不得转载
  • 前章:https://www.cnblogs.com/weilinfox/p/12246123.html
  • Windows 版的汉化有些不同,如“合成”在 Windows 版中被正确翻译为“转场特效”,本章依然以 龙芯社区版 fedora 28 系统当前源中最新的 19.08.2 版为准。

尽管是简单操作,但内容比较多。可以一边自己尝试编辑一边在文章中查找,比直接看材料会有更好的效果。

窗口

如下图所示:

技术图片

各个部分可以通过菜单中“查看”按钮,勾选和反选以显示和取消显示。

导入素材

技术图片

单击该按钮,会弹出素材选择的选框。点击按钮右部的小箭头可以选择导入各种素材、素材文件夹甚至另一个 kdenlive 工程。
已经被导入的素材或文件夹将被显示在下面的选框中供使用。

添加素材到时间轴

添加素材到时间轴时,先选中要添加的素材,按住鼠标不动,将素材拖动到目标轨道。

技术图片

放下后即添加成功。再次选中拖动可以在各轨道移动素材或在当前轨道内调整素材开始播放的时间。若添加的是视频素材,在此过程中该视频轨和对应的音频轨会保持同步。
注意时间轴中,在上的视频轨道的内容会遮挡在下的视频轨道;而各音频轨的素材会同时播放。

预览

预览有两种。当选中项目箱中的素材时,预览窗口会自动切换至“素材预览窗口”;而选中时间轴时则会自动切换至“项目预览窗口”。预览窗口中开始、暂停、快进和快退的使用和普通播放器的使用相同,具体操作可自行体验。

  • 播放区段

技术图片

被框出的两个按钮用于设置预览窗口时间轴上预览区段的起点和终点,“播放”按钮右部的小箭头下拉框中可以选择“播放区段”。

  • 预览渲染

渲染播放区段。

技术图片

技术图片

  • 指针

技术图片

指针指示预览播放的位置,点击时间轴空白处或拖动指针可以改变指针的位置。

合成和特效窗口

用于设置时间轴上素材的特效和合成(转场特效)选项。

设置的方法有两种:
第一种可以先选中时间轴上你所要设置特效的素材,在菜单栏中选择 时间轴→添加特效 ,选择相应的效果,如在“图像调整”中的“马赛克遮盖”。
第二种和添加素材到时间轴类似,先选中要添加的特效项目,按住鼠标不动,将其拖动到目标素材即设置成功。但不保证所有特效项目都被显示在特效窗口中。
技术图片

已添加的特效则可在属性窗口中编辑。

属性窗口

包括属性窗口和素材属性窗口,分别显示特效等的属性和素材的属性。
当选中项目箱中的素材时,素材属性窗口将显示当前素材的属性,属性窗口显示空白;当选中时间轴上的素材时,若当前素材上添加了合成或特效效果,属性窗口显示各种效果的属性并可以设置,素材属性窗口则显示当前素材的属性。
技术图片

渲染(导出)

在工具栏的最右侧,可以在第一张图看到。
单击后会出现渲染选项框,如下图;
默认只有左半边,勾选“更多选项”后会显示右半部分。

技术图片

输出文件 可选择输出目录和输出视频的名称;
格式 可选择输出格式,亦可只输出视频部分和音频部分;
质量 图形化选择导出媒体质量,越大越好;
编码器速度 通常保持默认,越大越快;
线程 根据硬件实际情况手动设置线程数,默认为 1,并非越大越好;
重新缩放 若导出图像分辨率和工程设置不符时设置。

其他选项可自行尝试。

by sdust weilinfox
续章:(未编辑)
本文地址:https://www.cnblogs.com/weilinfox/p/12246934.html

以上是关于源码编译Kdenlive视频编辑器的主要内容,如果未能解决你的问题,请参考以下文章

自己可以编译安卓源码吗?

怎么保存这个网站的源码?这个是vue写的模版,我想把这个源码导出来,反编译vue源码

百度编辑器UEditor不能插入视频的解决方法

解决百度富文本编辑器 UEditor 插入视频后没有路径的问题

ubuntu14.04,SONY摄像机使用1394线传输视频,cheese无法识别设备,是不是支持?啥视频采集软件支持?

保姆级Jetpack Compose入门篇,含视频教程源码