Stream Translator 技术文档
stream-translator 项目地址: https://gitcode.com/gh_mirrors/st/stream-translator
Stream Translator 是一个命令行工具,实时地将直播流中的音频转录或翻译。本项目基于 streamlink 获取多个直播平台的流URL,并利用 OpenAI 的 whisper 模型进行音频理解和转换。下面我们将详细指导您如何安装与使用这个强大的工具。
安装指南
环境准备
- 安装FFmpeg并加入PATH环境变量: 在Windows上,请按照此教程操作,确保FFmpeg可从命令行访问。
- 安装CUDA: 访问NVIDIA官网,下载适合您系统的CUDA版本。若非11.3版本,请在
requirements.txt
中相应调整cu113为您的CUDA版本号。通过运行nvcc --version
来验证安装的CUDA版本。
项目设置
- 创建一个Python虚拟环境,并激活它。
- 使用Git克隆项目仓库:
git clone https://github.com/fortypercnt/stream-translator.git
- 进入项目目录,安装依赖项:
pip install -r requirements.txt
注意检查PyTorch是否已带有CUDA支持,否则whisper可能无法实现实时处理。
项目的使用说明
基本步骤
通过以下命令启动Stream Translator,替换URL
为实际的直播间地址,并可按需添加旗标参数:
python translator.py URL --flags
命令行参数详解
| 参数 | 默认值 | 描述 | |-------------------|------------|--------------------------------------------------------------------------------------------------------------------------| | --model
| small | 选择模型大小,参照OpenAI的模型列表。 | | --task
| translate | 确定任务类型,是仅转录(transcribe
)保持原语言还是翻译成英语(translate
)。 | | --language
| auto | 直播间使用的语言,自动检测或指定一种语言,具体见上述提供的语言列表。 | | --interval
| 5 | 调用语言模型的间隔时间(秒)。 | | --history_buffer_size
| 0 | 使用先前音频/文本进行条件化模型的秒数,0表示只使用最近间隔内的音频。 | | --beam_size
| 5 | 用于束搜索的束宽度,设为0则采用贪心算法(更快但准确率较低)。 | | --best_of
| 5 | 当采样温度不为零时,候选结果的数量。 | | --preferred_quality
| audio_only | 首选的流质量选项,可以是“best”,“worst”或其他,输入“streamlink URL”查看特定URL的质量选项。 | | --disable_vad
| | 开启此标志禁用Silero VAD的额外语音活动检测。 | | --direct_url
| | 直接传递URL给ffmpeg而非使用streamlink获取,适用于已有流URL的情况。 | | --use_faster_whisper
| | 启用faster-whisper以获得更高的性能。按照faster-whisper安装指示进行操作。 | | --faster_whisper_model_path
| ... | 转换后的模型路径,基于CTranslate2格式。 | | --faster_whisper_device
| cuda | 设定faster-whisper运行的设备,如GPU(cuda)或CPU。 | | --faster_whisper_compute_type
| float16 | 设置faster-whisper的量化类型,查看CTranslate2的量化文档了解更多信息。 |
项目API使用文档
目前文档主要聚焦于命令行界面的使用,对于想要集成至其他应用的开发者,建议直接调用内部模块,参考源代码中对whisper API的调用逻辑,实现定制化的接入与扩展。
以上即为Stream Translator项目的完整技术文档,包含了安装、基本使用方法以及详细的命令行参数解释,希望能帮助您顺利使用本项目。
stream-translator 项目地址: https://gitcode.com/gh_mirrors/st/stream-translator