视频字幕制作
一些背景知识
- 容器(封装格式)与编码(codec):常见
.mp4(最通用)、.mkv(封装灵活)、.mov(常见于 Apple 生态)、.webm(常与 VP9/Opus 搭配)等是容器,里面可以封装不同视频编码(如 H.264/AVC、H.265/HEVC、VP9、AV1)和音频编码(如 AAC、Opus、FLAC)。同一后缀名不一定代表同一种编码;做字幕时通常只关心能否从中无损或稳定地抽出音轨。可参阅 FFmpeg:封装格式 与维基 Comparison of video container formats。 - FFmpeg:开源多媒体处理框架,命令行下可查看流信息、抽取/转码音视频、拼接剪辑等。本流程里主要用它从视频导出 16 kHz 单声道 WAV 供识别。官网与手册:FFmpeg、ffmpeg-all。
本文记录在 macOS 上使用 Whisper 制作视频字幕,用命令行完成「抽音频 → 识别 → 出字幕 →(可选)翻译」的流程。Whisper 指 OpenAI 开源的语音识别模型;本机常用实现为 whisper.cpp(whisper-cli),与官方 Python openai-whisper 二选一即可,思路相同。
环境准备
brew install ffmpeg whisper-cpp
- ffmpeg:从视频抽取 Whisper 易处理的 16 kHz、单声道、16-bit PCM WAV。
- whisper-cpp:提供
whisper-cli(及可选的whisper-server