linux部署Whisper 视频音频转文字

github链接:链接

我这里使用anaconda来部署,debian12系统,其他linux也同样
可以使用gpu或者cpu版本,建议使用n卡,rtx3060以上

一、前期准备

1.linux系统

链接:debian安装

链接:ubuntu安装

2.anaconda

链接:anaconda安装

3.cuda

链接:cuda安装

二、安装部署

1.创建新的conda环境

bash 复制代码
conda create -n whisper python=3.9
bash 复制代码
conda activate whisper

2.安装PyTorch

gpu版本

bash 复制代码
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

cpu版本

bash 复制代码
conda install pytorch torchvision torchaudio cpuonly -c pytorch

3.安装ffmpeg

bash 复制代码
conda install ffmpeg -c conda-forge

4.安装Whisper

bash 复制代码
pip install -U openai-whisper

5.验证

bash 复制代码
whisper --help

如果有反应就是安装正确

三、模型说明

可以使用不同尺寸的模型,对硬件的要求也不一样,速度也不一样
模型在第一次使用,如果没有的情况下会下载,如果下载过慢,可以尝试手动下载

会放在 ~/.cache/whisper/文件夹下

0.效果参考

如果主要以中文为目标,tiny、base、small效果差,medium勉强可以用,large效果最好但是速度慢很多,turbo效果仅次于large,但是速度很快,所以是优选。

生成会有多个文件格式,适用不同情况。

1.模型下载地址(.pt)

模型在第一次使用,如果没有的情况下会自动下载,如果下载过慢,可以尝试手动下载,所以先跳过这一步,如果后面太慢再回来

放在 ~/.cache/whisper/文件夹下

tiny:链接

base:链接

small:链接

medium:链接

large-v3:链接

2.模型下载地址(.safetensors)不推荐

下载的是model.safetensors这个模型

safetensors模型不能直接使用,需要转化为.pt格式 ,如果需要直接可以用,需要下载pt文件

tiny模型下载地址:链接

large模型下载地址:链接

turbo模型下载地址:链接

如果下载过慢,可以使用国内镜像https://hf-mirror.com/

四、使用

1.简单转录

bash 复制代码
whisper audio.mp3

2.使用特定尺寸模型

bash 复制代码
whisper audio.mp3 --model large

转录多个(多种)

bash 复制代码
whisper audio.flac audio.mp3 audio.wav --model turbo

3.指定语言

有多种语言可以选择,需要参考官方,我这里使用汉语来处理

bash 复制代码
whisper audio.wav --language Chinese --model turbo

4.通过python调用

除了手动输入命令,当然可以用python编程使用,下面是官方的案例,我就直接贴出来了:

python 复制代码
import whisper

model = whisper.load_model("turbo")

# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)

# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio).to(model.device)

# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")

# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)

# print the recognized text
print(result.text)

五、其它

1.视频转音频

视频占用空间大,可以先在另一台机器进行处理成音频,然后再进行转化

当然是使用ffmpeg,我这里将.ts视频转化为.wav格式,

-vn:去掉视频流。

-ar 16000:调整采样率为 16kHz(Whisper 推荐)。

-ac 1:设置单声道。

bash 复制代码
ffmpeg -i abcd.ts -vn -acodec pcm_s16le -ar 16000 -ac 1 abcd.wav

2.分段处理

这里分段成300s一个视频

bash 复制代码
ffmpeg -i abcd.ts -f segment -segment_time 300 -c copy segment_%03d.ts
相关推荐
无敌最俊朗@17 小时前
视频时间戳PTS和DTS的区别
人工智能·音视频
撬动未来的支点17 小时前
【音视频】H264四种配置级别
音视频
无敌最俊朗@18 小时前
音视频入门核心概念:容器、编码、流与时间戳
音视频
sukida10018 小时前
在openSUSE-Leap-15.6-DVD-x86_64-Media自制应用软件离线包——备份91个视频解码器的rpm包
数据库·redis·音视频
zymill19 小时前
hysAnalyser --- 支持UDP实时流分析和录制功能
udp·音视频·实时音视频·ts流分析·mpegts录制
DogDaoDao1 天前
OpenCV音视频编解码器详解
人工智能·opencv·音视频·视频编解码·h264·h265·音视频编解码
羊羊小栈1 天前
基于YOLO+多模态大模型+人脸识别+视频检索的智慧公安综合研判平台(vue+flask+AI算法)
vue.js·人工智能·yolo·flask·毕业设计·音视频·大作业
八月的雨季 最後的冰吻1 天前
FFmpeg --15-视频解码: AVIO内存输入模式分析
ffmpeg·音视频
卍郝凝卍1 天前
NVR(网络视频录像机)和视频网关的工作方式
网络·图像处理·物联网·音视频·视频解决方案
努力犯错2 天前
Google Veo 3.1 提示词生成器:让 AI 视频创作效率翻倍的免费工具
人工智能·计算机视觉·语言模型·开源·音视频