同一段视频 9 种压法:设得越「清楚」,文件反而越大
同一段 63 秒视频 9 种压法实测:设得越清楚,文件越大画质没变好。

给一个语音消息做转写,出来的中文怎么读怎么别扭:
「You can go to the other side」
而说话人明明说的是中文。查配置发现 stt.language 被设成了 en —— 语言强制成英文,中文自然被
硬翻成英文发音。改成 zh 之后 нормально 了,但新的问题来了:同一句话,每次转出来都不一样。
同一段 4 秒中文语音(说话人真实内容是「可以识别我发的语音吗」):
| 引擎 | 转写结果 | 耗时 | 对了吗 |
|---|---|---|---|
| 本地 whisper base | 可以直接我拍的影片吗? | 6.4s | ✗ |
| 本地 whisper small | 可以直接有发的语言吗? | 11.3s | ✗ |
| 云端 qwen3-asr-flash | 可以识别我发的语音吗? | 0.4s | ✓ |
差距不是一点:本地两个模型连「语音」这个词都没听出来,一个听成「影片」,一个听成「语言」。
而云端一次就对,还快 16 倍。
whisper 的中文能力随模型大小陡增。base 是 1.4 亿参数,small 是 2.4 亿 —— 英文能听个大概,
中文这种声调语言,小模型就是在猜。服务器上跑得动 large(15 亿参数)吗?跑不动:这台机器 2 核 2G,
large 光加载就要 1.5GB 内存,转写一句要几十秒。
所以:机器不够强的时候,云端 ASR 是唯一正解,不是「可选优化」。
import base64, requests
b64 = base64.b64encode(open("audio.ogg", "rb").read()).decode()
r = requests.post(
"https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json={
"model": "qwen3-asr-flash",
"messages": [{"role": "user", "content": [
{"type": "input_audio",
"input_audio": {"data": f"data:audio/ogg;base64,{b64}", "format": "ogg"}},
]}],
"temperature": 0.0,
},
timeout=90,
)
print(r.json()["choices"][0]["message"]["content"])
格式参数要对应:format 写错(比如传 mp3 却写 ogg)会直接报错。m4a/aac 统一按 mp4 传。
留本地兜底:云端总会遇到网络问题。代码里做成「云端失败 → 本地 whisper」,而不是只留一条路:
try:
return cloud_transcribe(path) # 0.4s,准
except Exception:
return local_transcribe(path) # 离线可用,但不准
stt.language 设错,后面全白搭同一段 63 秒视频 9 种压法实测:设得越清楚,文件越大画质没变好。
同一张壁纸 674.9 KB 能压到 122.9 KB,站上 15 张配图省到四分之一
三个老推送接口都死了,我用 IndexNow 把新文章推给搜索引擎