[Internal testing communication] kdenlive音频转字幕,amd显卡加速,折腾的一点心得
Tofloor
poster avatar
qq4945286
deepin
2025-11-12 14:34
Author

我下载的是最新版kdenlive25.08.3的appimage版,要折腾就要下载新版本。下面分享一下我折腾的思路。

01.png

音频提取字幕,显卡加速主要对针的是n卡,而a卡就要自己稍微折腾一下。其实不懂代码也没有关系,我对代码也一点不懂。借助AI就可以,我就是用豆包搞定的。

1:系统中先要安装好rocm环境以及相对就的pytorch环境

rocm以及pytorch环境配对思路,参考这个帖子https://bbs.deepin.org/post/260772?_gl=18wm4rs_gaMTQxMDA0MDM4MS4xNzYxNzkyMjcy_ga_QHZ7DPPD2D*czE3NjI5MjU0MjIkbzc4JGcxJHQxNzYyOTI2NTY2JGo2MCRsMCRoMA..

2:配置kdenlive的whisper环境

Kdenlive 自带 Python 虚拟环境,需在该环境中安装依赖:

先激活虚拟环境

source /home/deepin/.local/share/kdenlive/venv/bin/activate   #deepin换成你的用户名
pip3 install openai-whisper srt  #安装依赖
deactivate #退出虚拟环境

安装官方 SAM2(适配 AMD ROCm)

官方 SAM2 不支持 pip install sam2 直接安装,需通过源码克隆 + 依赖安装,步骤如下:

cd ~ # 先回到用户目录(避免权限问题)
git clone https://github.com/facebookresearch/sam2.git && cd sam2  # 克隆SAM2官方仓库

安装依赖(适配 AMD ROCm)
官方依赖默认适配 PyTorch CPU/GPU,你的环境已装 ROCm 版 PyTorch,直接安装其余依赖即可:

# 安装核心依赖(国内源加速,避免超时)
pip install -e . -i https://mirrors.aliyun.com/pypi/simple/
# 额外安装AMD ROCm适配所需的依赖(确保GPU调用正常)下面的rocm6.4是我系统中安装的rocm环境是rocm6.4.4
pip install torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.4 -i https://mirrors.aliyun.com/pypi/simple/

下载官方模型(sam2.1-hiera-base-plus)

官方模型需手动下载到指定目录,Kdenlive 才能识别,步骤如下:

创建模型存储目录

# 在SAM2仓库目录下创建checkpoints文件夹(官方默认路径)
mkdir -p checkpoints
# 也可创建Kdenlive能识别的全局目录(推荐,避免后续找不到模型)
mkdir -p ~/.cache/sam2/checkpoints

下载目标模型(二选一,推荐第二种全局路径)

方式 1:下载到 SAM2 仓库的 checkpoints 目录
cd checkpoints
# 下载 sam2.1_hiera_base_plus.pt 模型(官方直链,Deepin可直接访问)
wget https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_base_plus.pt
# 回到SAM2仓库根目录
cd ..
下载到全局缓存目录(Kdenlive 优先识别)
# 直接下载到全局目录,无需后续配置路径
wget https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_base_plus.pt -P ~/.cache/sam2/checkpoints/

验证模型下载成功

# 查看模型文件是否存在(全局路径示例)
ls ~/.cache/sam2/checkpoints/sam2.1_hiera_base_plus.pt

若输出文件路径,说明下载成功。

第四步:配置 Kdenlive 识别 SAM2 模型(关键)

Kdenlive 需要知道模型路径才能调用,需手动设置环境变量,步骤如下:

临时配置(当前终端生效)

# 告诉Kdenlive SAM2模型的路径(全局路径示例)
export SAM2_CHECKPOINT_PATH=~/.cache/sam2/checkpoints/sam2.1_hiera_base_plus.pt
# 告诉SAM2使用AMD GPU(ROCm)
export PYTHONPATH=~/sam2:$PYTHONPATH  # 替换为你的SAM2仓库实际路径

永久配置(每次启动 Kdenlive 自动生效)

为了避免每次启动都要输命令,把环境变量添加到 Kdenlive 的虚拟环境激活脚本中:

# 编辑虚拟环境激活脚本
nano /home/deepin/.local/share/kdenlive/venv/bin/activate

在文件末尾添加以下内容(粘贴后按 Ctrl+O 保存,Ctrl+X 退出):

# SAM2 + AMD ROCm 配置
export SAM2_CHECKPOINT_PATH=~/.cache/sam2/checkpoints/sam2.1_hiera_base_plus.pt
export PYTHONPATH=~/sam2:$PYTHONPATH  # 替换为你的SAM2仓库实际路径(比如~/segment-anything-2)
export HSA_OVERRIDE_GFX_VERSION=10.3.0  # 复用之前的ROCm适配变量

验证安装成功

# 激活虚拟环境(若已激活可跳过)
source /home/deepin/.local/share/kdenlive/venv/bin/activate
# 运行Python测试是否能导入SAM2且识别GPU
python -c "
import torch
from sam2.build_sam import build_sam2
# 检查AMD GPU是否可用
print('AMD GPU可用:', torch.cuda.is_available())
print('GPU名称:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '未识别')
# 尝试加载模型(若不报错则成功)
sam2 = build_sam2(model_config='sam2.1_hiera_base_plus', checkpoint_path=os.environ.get('SAM2_CHECKPOINT_PATH'))
print('模型加载成功!')
"

若输出 AMD GPU可用:True模型加载成功!,说明配置完成。

注:😄 上面命令中/home/deepin(用户名**)**

3:接下来就是要修改kdenlive中的whispertotext.py这个文件,这有修改这个whispertotext.py文件才能使用amdgpu加速

先来说一下怎么找这个文件,如果你在kdenlive官方下载的appimage的版本。

先要对appimage版本进行解压(不会的你直接问一下豆包或别的AI)

~/kdenlive/usr/share/kdenlive/scripts/whisper/whispertotext.py

最好用Visual Studio Code,没安装的应用商店安装一下

打开后,把里面的代码发给豆包,叫他帮你修改好。

代码粘贴到豆包的文本框后,用按住shift+空格键,然后把你的显卡型号以及系统中配置的rocm环境情况告诉他,他就会帮你修改,你替换一下原代码,然后保存。

当然豆包还告诉你检测是否成功的方法。

上面只是思路分享,因为每个人的电脑配置不一样。遇到的问题也会有差别。

Reply Favorite View the author
All Replies
qq4945286
deepin
2025-11-12 14:35
#1

用显卡加速音频转字幕,要比cpu快好多倍,要修改的文件,要先备份一份

如果你不喜欢用命令在终端启动命令,就修改一下kdenlive的桌面图标,解压appimage后,解压文件目录中就有,修改一下

Exec=env HSA_OVERRIDE_GFX_VERSION=10.3.0 /home/deepin/apps/kdenlive/AppRun %F 这个是我的显卡rx6600xt专用的启动命令
Reply View the author
kookboy
deepin
2025-11-12 15:16
#2

从技术角度来讲,是个好帖~

另外,据我所知,音频转字幕的软件、手机APP,包括开源项目好象有好多。一般音频转文字的手机应用要多些,也更方便。

Reply View the author
qq4945286
deepin
2025-11-12 17:05
#3
kookboy

从技术角度来讲,是个好帖~

另外,据我所知,音频转字幕的软件、手机APP,包括开源项目好象有好多。一般音频转文字的手机应用要多些,也更方便。

是的,如果把kdenlive配置好,如果是其它语言的字幕,可以直接就翻译成中文,如果经常用kdenlive的也方便些

Reply View the author
tagerw
deepin
2025-11-14 08:47
#4

还有个方法就是用asrtools,可以音频视频输出srt字幕文件或TXT文本文件。再把字幕文件导入Kdenlive里面。我用shotcut剪辑视频,有段时间为语音转字幕烦恼,也试过Kdenlive。Kdenlive让我下载插件,又下不动。最后还是选择借用asrtools,省去那么多麻烦。

Reply View the author
qq4945286
deepin
2025-11-14 12:18
#5
tagerw

还有个方法就是用asrtools,可以音频视频输出srt字幕文件或TXT文本文件。再把字幕文件导入Kdenlive里面。我用shotcut剪辑视频,有段时间为语音转字幕烦恼,也试过Kdenlive。Kdenlive让我下载插件,又下不动。最后还是选择借用asrtools,省去那么多麻烦。

光提取字幕方法简单,我看能不能实现,如果视频是英语或别的国家语言,先自动提取原视频字幕,自动翻译成中文字幕,再把中文字幕生成中文语音

Reply View the author
tagerw
deepin
2025-11-14 12:28
#6
qq4945286

光提取字幕方法简单,我看能不能实现,如果视频是英语或别的国家语言,先自动提取原视频字幕,自动翻译成中文字幕,再把中文字幕生成中文语音

asrtools有几个模型,其实也就B站能用,另外几个都不能用。Kdenlive要装插件、shotcut要自己下载模型,对我们一般用户来说都不友好,我一个也没搞成,最后用asrtools曲线救国,像我这样的用户数量不少。有些win用户下载大模型也不成功,还在B站问我shotcut怎么语音转字幕,后来也是用了我的方法曲线救国。我现在已经不对PC版语音转字幕有多大指望了。另,我在看B站视频的时候,打开B站字幕,能把英文翻译成中文,与视频原字幕比较,准确率很高甚至优于原字幕,排版(字幕断句)更合理。感觉B站在智能这块做的不错了。

截图_选择区域_20251114122701.jpg

Reply View the author