Quickly transform local video materials intoillustrated, highly picture-aligned, restrainedly polished, 100% preserving the author's original wording and stylehigh-quality Markdown article draft.
[!NOTE] This skill focuses on the core production stage of **"video material ➔ subtitle correction ➔ precise frame extraction ➔ restrained original illustrated Markdown"**. The resulting Markdown manuscript can be directly handed to the family typesetting engine
sqsl-article-to-wechatto render into a WeChat official account magazine-style HTML and push directly to the draft box with one click.
Core Process (4-Step Closed Loop)
flowchart TD
A[输入本地视频 .mp4 / .mov] --> B[1. ffmpeg 提取 16kHz mono WAV 音频]
B --> C[2. 本地 whisper-cli 极速转写为 SRT / TXT]
C --> D[3. 常用词典自动纠错 references/glossary.json]
D --> E[4. 基于 SRT 时间戳精准抽帧与回看校验]
E --> F[5. 撰写 Markdown:极度克制改写,保留作者原话,仅剔除口水词,零 AI 味]
F --> G[🎯 下一步:交由 sqsl-article-to-wechat 杂志排版与直推]
Step 1: Local Audio Extraction and Ultra-Fast Transcription
No need to upload huge videos to cloud models, directly use local ffmpeg + whisper-cli(equipped with Metal / GPU hardware acceleration, can be completed in tens of seconds):
Automated script one-click run
You can directly call the built-in script of this skill:
python3 "<skill_dir>/scripts/video_to_article.py" "/path/to/video.mp4" [output_dir]
The script will automatically complete:
- Extract 16kHz mono audio;
- Call local
whisper-clito generate timestamped.srtand full-text.txt; - Automatically load
references/glossary.jsonfor homophone and proper noun correction.
Or execute manually in steps:
# 1. 提取 16kHz 单声道音频
ffmpeg -y -i "input_video.mp4" -ar 16000 -ac 1 -c:a pcm_s16le /tmp/temp_audio.wav
# 2. 调用本地 whisper-cli
whisper-cli -m "$HOME/Library/Application Support/Screen Studio/models/ggml-small.bin" \
-f /tmp/temp_audio.wav -l zh -osrt -otxt -of "/tmp/video_transcribe"
Step 2: Automatic Correction with Common Dictionary (ASR Post-Processing)
Speech recognition (ASR) often produces homophones, proper nouns, and misspelled spoken slang. Must combine with references/glossary.json for targeted correction:
Core Correction Word List (Continuously Maintained)
| Common Recognition Error | Correct Term | Category Description |
|---|---|---|
三九十里 / 三酒十里 / 三舅十里 / 三教师李 |
Sanqiu Shili | Creator name |
老鸡家 / 老机家 / 老基家 |
Lao G Jia | Creator slang / brand |
我可怕得 / 可怕得 / 可帕得 / workbuddy |
WorkBuddy | Development tool / platform |
体速风格 / 替速风格 |
Voxel style | Design / rendering term |
手渣 / 手扎 |
Handscroll | Cultural creative / functional word |
干液 / 盖业 |
Stamp | Interactive function |
成婚和季节 |
Dawn and dusk and seasons | Scene description |
南平网中 / 骨盘中 |
Nanping Evening Bell / Ancient bronze bell | Scenic spot / prop name |
灵间的白露 / 精飞 |
Egrets in the forest / Startled into flight | Visual motion effect |
花港关于 / 锦礼 / 鱼石 |
Viewing Fish at Flower Harbor / Koi / Fish food | Scenic spot / interaction |
断条的血 / 断条残雪 |
Snow on Broken Bridge / Lingering Snow on the Broken Bridge | Scenic spot / artistic conception |
送机分 / 打签 |
Give points / Pay money | Real spoken meme |
一码平穿 |
A flat plain | Idiomatic expression |
前灯 / 前登 |
Frontend | Technical term |
试图模型 |
View model | Technical term |
Dictionary expansion and maintenance: directly edit
references/glossary.json。
Step 3: Precise frame extraction and review verification based on subtitle timestamps
Iron rule: never take screenshots at blindly estimated time points; you must align them via SRT subtitle timestamps and use view_file to verify the screen content.
- Locate the subtitle timestamp: in the generated
.srtsubtitles, find the precise time point where the feature/highlight is described (for example,01:21talks about Qwen taking over,02:05shows the voxel map); - Extract clear keyframes:
# 使用脚本抽帧 python3 "<skill_dir>/scripts/video_to_article.py" --frame "input_video.mp4" 00:01:21 "assets/01_功能展示.jpg" # 或直接使用 ffmpeg 抽帧 ffmpeg -y -ss 00:01:21 -i "input_video.mp4" -frames:v 1 -q:v 2 "assets/01_功能展示.jpg" - Visual review verification: use
view_fileto check the extracted images, confirming there is no black screen and no transition blur, and that they match the subtitle content 100%.
Step 4: Write the Markdown article (minimal edits · never change wording · zero AI flavor)
This is the most core discipline for converting to an illustrated article:The manuscript is a written mirror of the author's original spoken words, absolutely not an AI's secondary expansion or stereotyped reshaping.
1. [Core red line] Minimal Editing Rule
- Never tamper with the author's original word choices or sentence patterns:
- Keep whatever words the author uses! Never arbitrarily replace them with more "formal," "elegant," or "high-end" written language or idioms.
- If the original words are plain colloquial speech, keep them plain; if the original words are oral complaints or modal particles (such as "直接给我整不会了", "真蚌埠住了"), they must be preserved word for word!
- It is strictly forbidden to replace the author's original words with PR speak, report style, or news bulletin style.
- The only permitted scope of modification: trimming filler words and pause words:
- Allowed to delete: purely meaningless oral filler words (such as "uh," "ah," "that," "then then," "I mean," "how should I put it," "right," "actually actually"), repeated words caused by stammering, and redundant recording pauses.
- Principle: only trim "stammering and verbal tics," do not touch "expression and content." Once the filler words are removed, the sentence just needs to flow smoothly; do not reassemble and rewrite it!
2. [Strictly crack down on AI flavor] Anti-AI tone blacklist
When processing the text,it is strictly forbidden to include the following typical "AI empty and grandiose stereotyped writing disease":
- 🚫 Strictly forbidden: stereotyped openings and endings:
- Strictly forbidden: "in today's era of...", "there is no doubt that", "in summary", "generally speaking", "it is worth mentioning that", "as everyone knows";
- Strictly forbidden to privately "elevate the theme" or "add value" (for example: "This is not only a technological innovation, but also a profound exploration of future possibilities..." — the author did not say such grandiose words, and AI must never fabricate them).
- 🚫 Strictly forbidden: vocabulary upgrading and internet jargon:
- Do not change the author's "make a webpage" into "empower web applications";
- Do not change the author's "found a method" into "constructed a brand-new underlying paradigm";
- Do not use excessive modifiers such as "breathtaking," "like...," "undertone," "lever," "closed loop," or "matrix."
- 🚫 Strictly forbidden: mechanical parallelism and fake structure:
- It is strictly forbidden to forcibly break the author's coherent and genuine speech into stiff "first, second, third" or "firstly, secondly, finally";
- Strictly avoid mechanically giving every natural paragraph a four-character parallel subtitle. Subtitles should be concise and natural, directly extracting the core event or original words the author describes.
3. [Comparison Demonstration] Rewriting Boundary Examples
| Scenario | Original Transcribed Text | ❌ Wrong Approach (Heavy AI flavor / altered wording) | ✅ Correct Approach (Restrained editing / only removing filler words) |
|---|---|---|---|
| Sudden Failure | "Then... uh, I was just completely stunned at the time. Old G's interface actually directly returned a 500, which totally threw me off." | "Subsequently, the author fell into confusion. The service interface abnormally returned a 500 status code, which was quite frustrating and tricky." (Changed into pretentious written language, losing the author's personality) | "I was just completely stunned at the time. Old G's interface actually directly returned a 500, which totally threw me off." (Only removed "Then... uh," 100% preserving the author's tone and original words) |
| Opening Introduction | "Today, I just want to chat with everyone about a little thing I've been tinkering with these past few days. It's actually using AI to help me write code." | "In today's digital wave, AI programming has become a key lever for boosting productivity. This article will share the author's recent practical insights in the field of intelligent R&D." (Classic AI boilerplate, full of a preachy and condescending tone) | "Today I want to chat with everyone about a little thing I've been tinkering with these past few days, using AI to help me write code." (Deleted "ne," "jiushi," and "qishijiushi," maintaining the author's natural and friendly conversational feel) |
| Technical Reflection | "How should I put it, AI is indeed an accelerator, but if your own logic isn't clear, it's also an amplifier, digging you into a bigger hole." | "Undoubtedly, artificial intelligence is both an accelerator for multiplying efficiency and a double-edged sword for amplifying risks. Only by solidifying the underlying logic can one proceed steadily and go far." (Overuse of idioms, forced elevation) | "AI is indeed an accelerator, but if your own logic isn't clear, it's also an amplifier, digging you into a bigger hole." (Only removed "How should I put it," preserving the most authentic and down-to-earth expression) |
4. Authentic and Natural Three-Part Layout Structure
- Maintain breathing room: natural paragraphing, leave blank space between paragraphs, avoid a big blob of text piled together;
- It is recommended to follow a natural three-part storytelling structure:
- Part 1: Project Highlights and Core Experience(What the author did, how satisfying the results were)
- Part 2: AI Collaboration, Pitfalls, Failures, and the Resolution Process(What specific pitfalls were encountered, how to troubleshoot and optimize)
- Part 3: Review Reflections and Interaction(Genuine experience summary, interactive words the author leaves for readers)
- Images immediately follow the corresponding dialogue paragraphs:
, with precise correspondence between images and text.
🎯 Deliverables and Subsequent Flow
After this skill completes article writing, output:
- Markdown file(e.g.,
video_article.md); - Supporting image directory(e.g.,
assets/01_xxx.jpg,assets/02_xxx.jpg)。
Next-step recommendation (connecting to WeChat Official Account formatting):
Directly invoke the all-in-one formatting skill to convert the just-generated Markdown into high-quality formatting and push it straight to the drafts box with one click:
/sqsl-article-to-wechat <生成的Markdown路径> --style editorial
Or use the main router shorthand:
/sqsl 帮我把刚生成的文章排版并推送到公众号