whisper合入ffmpeg带来语音转文字的AI智能
https://github.com/ggml-org/whisper.cpp.git
Whisper.cpp 是一个基于 C/C++ 实现的开源项目,旨在将 OpenAI 的 Whisper 语音识别模型以轻量级、高性能的方式部署到各种平台,包括嵌入式设备、PC 和服务器等。
-
跨平台兼容:支持 Windows、Linux、macOS 等主流系统,甚至能在树莓派、iOS、Android 等嵌入式或移动设备上运行。
-
轻量高效:无需依赖 Python 环境或大型深度学习框架(如 PyTorch),通过纯 C/C++ 实现推理,内存占用低,运行速度快。
-
功能完整:保留了 Whisper 模型的核心能力,包括多语言语音识别、语音转文字、时间戳标记等,同时支持命令行调用和二次开发。
-
易于集成:提供简洁的 API 接口,方便开发者将语音识别功能嵌入到自己的 C/C++ 项目中,也支持通过其他语言(如 Python、Go 等)调用。
适合需要本地部署语音识别功能、对资源占用敏感,或需要在嵌入式设备上实现语音处理的场景,比如智能家居设备、离线语音助手、本地录音转文字工具等。
2. ffmpeg8.0的whisper
ffmpeg8.0是把whisper.cpp合入到ffmpeg的avfilter模块中,作为avfilter的一个子功能来使用。
2.1 如何编译
第一步,下载whisper.cpp并用cmake进行构造和编译:
git clone https://github.com/ggml-org/whisper.cpp.gitcd whisper.cppmkdir objscd objscmake ..make -j 2make install
第二步,下载ffmpeg,当前采用的是master分支(后面肯定会生成release8.0):
git clone https://git.ffmpeg.org/ffmpeg.gitcd ffmpeggit checkcout master
第三步,编译ffmpeg,给大家参考的./configure命令行,主要加入使能whisper编译的部分,供参考:
./configure --enable-cross-compile \--disable-avdevice \--disable-doc \--disable-devices \--enable-filters \--enable-libx264 \--enable-nonfree \--disable-asm \--enable-gpl \--enable-whisper \--extra-ldflags="-Wl,-rpath,/usr/local/lib" make -j 2make install
--enable-whisper就是使能whisper.cpp模块,该模块合入到avfilter模块中。
2.2 命令行如何使用
给个简单的例子,把一个视频中的音频进行语音转文字,并输出成.srt的字幕文件。
ffmpeg -i ./movie.mp4 \-vn -af \"whisper=model=/home/runner365/whisper.cpp/models/ggml-medium.bin\:language=en\:queue=3\:destination=movie.srt\:format=srt" -f null -
如上,whisper作为avfiter的一个模块,需要设置"whisper=xx:xx"的属性,主要信息为:
-
model:支持的大模型,这个可以自己去下载,可以去whisper.cpp的代码model目录下下载,有多种模型可以选择:
cd whisper.cpp/models./download-ggml-model.shUsage: ./download-ggml-model.sh <model> [models_path]
Available models: tiny tiny.en tiny-q5_1 tiny.en-q5_1 tiny-q8_0 base base.en base-q5_1 base.en-q5_1 base-q8_0 small small.en small.en-tdrz small-q5_1 small.en-q5_1 small-q8_0 medium medium.en medium-q5_0 medium.en-q5_0 medium-q8_0 large-v1 large-v2 large-v2-q5_0 large-v2-q8_0 large-v3 large-v3-q5_0 large-v3-turbo large-v3-turbo-q5_0 large-v3-turbo-q8_0
上面的例子中model=ggml-medium.bin
-
language: 识别的语言,en为英语,如果不设置,模型会自己检测,不过稍微慢一点。
-
queue: 语音缓存队列
使用 whisper 处理音频之前,排队进入过滤器的最大大小。使用较小的值会更频繁地处理音频流,但转录质量会较低,所需的处理能力也会更高。使用较大的值(例如 10-20 秒)会使用更少的 CPU 获得更准确的结果(就像使用 whisper-cli 工具一样),但转录延迟会更高,因此不适用于处理实时流。默认值:@code{"3"}
-
format:格式,支持srt,json,text
-
destination:结果输出。其可以是文件,如xxx.srt; 也可以是http的一个地址,也就是一些实时流,可以一直post到http server中,http server就可以形成动态字幕给客户。
在生成srt的字幕文件后,可以再用ffmpeg合成srt到mp4中:
ffmpeg -i movie.mp4 -i movie.srt \-c:v copy -c:a copy -c:s mov_text \-f mp4 movie_with_srt.mp4
3. 展望
ffmpeg8.0合入whisper之后,能使用语音识别的大模型,更多的应用会出现:
-
直播实时字幕的应用场景
-
实时会议的会议场景,后台会议结束后的实时会议纪要
-
英文电影的翻译会变得简单
-
语音识别在嵌入式设备,或移动设备上的应用会更加广泛:android/linux/ios等
支持红外夜视IRCUT的4G智能安全帽BW620Y,内部主板型号有,SAE01, asr8601 ,W20, k61v1_32_bsp_1g, k62v1_64_bsp, soq_azw_05_Natv,soq_azw_01_Natv,AZW003,aqm6816,soq_azw_01_Natv,SC161, W25,比传统的白光照明灯效果要好很多,可以避免图像中间大块的亮光斑,可以在雾天使用。https://www.bilibili.com/video/BV1594y1E7tB/
危险气体检测仪,通过4G/5G执法记录仪或者4G/5G智能安全帽上报到平台,https://www.besovideo.com/detail?t=1&i=273
智能安全帽~生命体征检测与危险气体检测一体化集成设计还是蓝牙无线外挂式方式好?https://www.besovideo.com/detail?t=1&i=279
智能安全帽~生命体征采集上报,https://www.besovideo.com/detail?t=2&i=506
智能安全帽,检测生命体征上报平台, https://v.douyin.com/e3oP4Yx/
AIoT万物智联,智能安全帽生产厂家,执法记录仪生产厂家,为大型国企央企提供移动视频类产品的ODM/OEM服务,单北斗定位智能安全帽、智能头盔、智能头箍、头盔记录仪、独立北斗定位执法记录仪、智能视频分析/边缘计算AI盒子、车载视频监控/车载DVR/NVR、布控球、智能眼镜、智能手电、智能电子工牌、无人机4G补传系统等统一接入大型统一视频平台~融合通信可视指挥调度平台VMS/smarteye 。
什么是智能安全帽,如何选购智能安全帽,智能安全帽的主要功能,https://www.besovideo.com/detail?t=1&i=109
目前支持的AI智能算法、视频智能分析算法有哪些,https://www.besovideo.com/detail?t=1&i=297
视频演示1~单独北斗定位智能安全帽助力光伏新能源, 视频演示2~石油石化
海康、大华等5000路固定点摄像头走国标GB28181接入统一视频平台smarteye,支持eHome,ISUP, SIP,萤石云,CMSV6等
海康等IP摄像头走国标GB28181接入smarteye平台, https://www.besovideo.com/detail?t=1&i=244
国网+南网电力施工作业现场安全生产风险管控应用方案,https://www.besovideo.com/detail?t=1&i=50
轻危大型厂矿可视化监管系统方案(有内部作业视频数据安全保密的需求),https://www.besovideo.com/detail?t=1&i=258
小微型4G/WiFi执法记录仪、胸牌记录仪大全~智慧养老护工、银行机场客服、外勤、上门安装维修等,https://www.besovideo.com/detail?t=2&i=1784
超薄款4G工牌视频记录仪BH128,https://www.besovideo.com/detail?t=2&i=1575
4G/5G执法记录仪前端人脸识别、人脸比对使用说明,https://www.besovideo.com/detail?t=1&i=365
防抖执法记录仪、智能安全帽、头盔记录仪大全,https://www.besovideo.com/detail?t=2&i=1692
可拆卸智能安全帽、绑带式、粘贴式、贴合式、分体式智能头盔记录仪、智能头箍记录仪大全,https://www.besovideo.com/detail?t=2&i=1697
定位安全帽大全,人员定位考勤、电子围栏脱岗检查 all in smarteye,https://www.besovideo.com/detail?t=2&i=1843
支持南方电网WAPI无线网络的4G/5G执法记录仪、智能布控球、智能安全帽产品,https://www.besovideo.com/detail?t=1&i=404
各种布控球分类列表大全,https://www.besovideo.com/detail?t=1&i=339
北斗双频高精度定位智能工卡、电子工牌大全,https://www.besovideo.com/detail?t=2&i=1689
无人机4G/5G图传到远程指挥中心统一视频平台smarteye或者海康等国标大平台, https://www.besovideo.com/detail?t=2&i=1775
县级应急指挥调度系统建设, https://www.besovideo.com/detail?t=1&i=411
智慧铁路,铁路应急指挥通信系统建设,可视化作业现场风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=413
智慧港口可视化作业风险管控系统建设方案,https://www.besovideo.com/detail?t=1&i=414
石油石化可视化巡检系统安全风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=415
车载视频监控产品,车载DVR/NVR、4G行车记录仪系列产品,https://www.besovideo.com/detail?t=2&i=1850
为什么武警、特警拉练演习的MESH自组网系统都不约而同的选择了smarteye平台?https://www.besovideo.com/detail?t=2&i=1215