Mục lục
- Mục Tiêu Bài Học
- Khi Nào Cần Video (So Với GIF)
- Ba Loại Video Phổ Biến
- Bảng So Sánh Tools
- Quy Trình Demo Video 1-2 Phút (5 Bước)
- Voice-Over — Tips Thực Tế
- Subtitle và Caption
- Tối Ưu YouTube (Khi Public)
- Video Length Theo Platform
- Privacy và Branding
- Embed Video Vào README
- LinkedIn Video
- Pattern 1-Take (Beginner)
- Khi Nào Không Cần Video
- Anti-Pattern Cần Tránh
- Tóm Tắt
- Bài Tiếp Theo
Mục Tiêu Bài Học
Sau khi hoàn thành bài này, bạn sẽ:
- ✅ Biết khi nào video cần thiết hơn GIF và khi nào GIF là đủ.
- ✅ Thực hiện được quy trình record và publish 1 demo video 1-2 phút với Loom.
- ✅ Áp dụng được tips voice-over và caption để video dễ nghe, dễ xem.
- ✅ Biết cách tối ưu video YouTube (title, description, thumbnail, chapter).
- ✅ Embed video vào README đúng cú pháp và tránh các lỗi host / file size.
Khi Nào Cần Video (So Với GIF)
GIF xử lý tốt flow ngắn dưới 15 giây và 1 màn hình duy nhất — xem chi tiết tại Bài 18. Video phù hợp khi GIF không đủ:
Nên dùng video khi:
- Nhiều step (≥ 5 bước): flow dài hơn 30 giây sẽ làm GIF quá nặng hoặc khó theo dõi.
- Cần voice-over: giải thích kiến trúc, decision kỹ thuật, hoặc context không thể đưa vào caption text.
- Show nhiều window: switch giữa terminal, browser, code editor — GIF bị vỡ hoặc quá to.
- Audience non-technical: hiring manager, product manager, stakeholder — video có audio dễ tiếp cận hơn.
- Walkthrough chi tiết ≥ 1 phút: tutorial step-by-step hoặc architecture walk-through.
GIF vẫn đủ khi:
- Flow ngắn 5-15 giây, 1 màn hình, không cần giải thích thêm.
- README chính — GIF không cần click, autoplay ngay khi scroll đến.
- Audience quen kỹ thuật, nhìn GIF hiểu ngay.
Ba Loại Video Phổ Biến
a) Demo video (1-2 phút)
Show product flow + voice-over ngắn. Đặt làm video chính trong GitHub README. Đây là loại phổ biến nhất và phù hợp nhất cho portfolio AI Engineer.
- Cấu trúc điển hình: 20-30s intro ngắn (vấn đề + solution), 60-80s demo flow thực tế, 10-15s closing (link repo, contact).
- Platform: Loom (chia sẻ link ngay) hoặc YouTube unlisted (embed bằng thumbnail).
b) Walkthrough kỹ thuật (3-8 phút)
Walk-through kiến trúc, key decisions, và 1-2 đoạn code quan trọng. Phù hợp để chia sẻ trong blog post hoặc LinkedIn. Audience: engineer hoặc hiring manager có background kỹ thuật.
- Cấu trúc: 1-2 phút context, 4-5 phút walk-through diagram + code key section, 1 phút kết.
- Platform: YouTube unlisted hoặc public (nếu muốn SEO).
c) Tutorial (5-15 phút)
Step-by-step build một thứ gì đó cụ thể để viewer follow theo. Phù hợp YouTube public. Cần chuẩn bị kỹ nhất: script chi tiết, test screen recording trước.
- Ví dụ: "Build RAG Chatbot với LangChain 0.3 từ đầu — toàn bộ trong 10 phút".
- Yêu cầu: thumbnail custom, chapter timestamp, description đầy đủ.
Bảng So Sánh Tools
| Tool | Free? | Best for | Effort |
|---|---|---|---|
| Loom | 25 video, 5 phút/video | Quick demo, share link ngay | Thấp |
| Vidyard | Free tier tương tự Loom | Quick demo, analytics view | Thấp |
| OBS Studio | Hoàn toàn miễn phí | Linh hoạt, multi-scene, không giới hạn | Trung bình |
| Screen Studio | $89 lifetime, macOS | Auto zoom, polished demo | Trung bình |
| CleanShot X | $29 lifetime, macOS | Record + edit nhẹ, screenshot combo | Thấp |
| DaVinci Resolve | Free (bản đầy đủ) | Full edit, color grading | Cao |
| CapCut | Free | Short form, mobile / social | Thấp |
Khuyến nghị cho beginner: Bắt đầu với Loom — record và có link chia sẻ trong vài phút. Khi cần video dài hơn 5 phút hoặc muốn kiểm soát nhiều hơn, chuyển sang OBS Studio (record) + DaVinci Resolve (edit).
Lưu ý Loom free: Loom thay đổi free tier nhiều lần trong 2023-2025. Tính đến 2025, Loom Starter miễn phí cho tối đa 25 video. Video không bị expire nhưng bị giới hạn thời lượng 5 phút mỗi video. Kiểm tra trang pricing hiện tại trước khi phụ thuộc vào free tier cho project lớn.
Quy Trình Demo Video 1-2 Phút (5 Bước)
Bước 1 — Plan kịch bản (15 phút)
Đây là bước quan trọng nhất. Video thiếu plan thường dài gấp đôi cần thiết và có nhiều đoạn "uhm" và "à".
Xác định 4-6 bước demo cụ thể, không có bước nào mơ hồ:
- Mở app / terminal — show điểm bắt đầu.
- Input cụ thể (câu hỏi, file upload, command).
- Show quá trình xử lý nếu visual (progress bar, log).
- Output / kết quả chính.
- Giải thích ngắn điểm kỹ thuật key nhất (1 câu).
Viết script voice-over tổng 90 giây. Phân bổ điển hình:
- 30 giây intro: vấn đề + giải pháp 1-2 câu.
- 60 giây demo: mô tả từng bước khi thực hiện.
- 15 giây closing: link repo, kết luận ngắn.
Bước 2 — Setup môi trường
- Desktop clean: tắt notification (macOS: Do Not Disturb; Windows: Focus Assist), ẩn icon không liên quan.
- Dùng browser incognito để không có bookmark bar, extension icon, autofill gợi ý lộ thông tin cá nhân.
- Test mic: record 10 giây rồi nghe lại để kiểm tra echo, noise, volume.
- Lighting nếu dùng webcam: nguồn sáng phía trước, không phía sau (tránh silhouette).
- Font size terminal / IDE: tăng lên 16-18pt để text dễ đọc trong video.
Bước 3 — Record
Với Loom:
- Cài Loom desktop app hoặc dùng Chrome extension.
- Chọn "Screen + Cam" hoặc "Screen only" tùy cần.
- Select window cụ thể (không record cả desktop) để tránh thông tin ngoài lề lọt vào.
- Click record, thực hiện demo theo kịch bản đã plan.
- Practice 1-2 lần trước khi record chính thức — đừng record take đầu tiên làm bản final.
Với OBS Studio:
- Thêm Source → Window Capture (chọn window cụ thể).
- Thêm Audio Input Capture (mic).
- Settings → Output → Recording Path → chọn thư mục lưu.
- Record → Stop Recording khi xong. File output là MKV hoặc MP4.
Bước 4 — Edit
- Trim: Cắt đoạn đầu (đang chuẩn bị, chưa nói) và đoạn cuối (dừng record muộn).
- Speed up: Đoạn chờ model generate (3-10 giây) → speed 3×-4× để không bị đơ.
- Caption: Loom tự generate transcript — review và sửa lỗi nhận diện giọng.
- Loom có edit cơ bản (trim, stitch). DaVinci Resolve dùng khi cần cut phức tạp hơn hoặc thêm text overlay.
Bước 5 — Publish
- Loom: Video sẵn sàng ngay sau khi stop record — copy link chia sẻ.
- YouTube: Upload MP4, chọn unlisted (cho README) hoặc public (cho tutorial YouTube). Điền title, description, chapter timestamp.
- Sau khi có link, embed vào README theo cú pháp ở mục 11.
Voice-Over — Tips Thực Tế
Voice-over là phần nhiều người ngại nhất nhưng cũng có impact lớn nhất với quality của video.
Tốc độ và rõ ràng
- Nói chậm hơn 20-30% so với nhịp bình thường. Khi đọc lại recording, bạn sẽ thấy tốc độ "chậm" đó thực ra là vừa đủ nghe.
- Dừng ngắn (0.5-1 giây) giữa các câu. Pause giúp người nghe xử lý thông tin.
- Đừng đọc script word-by-word — sẽ nghe robotic. Dùng bullet points làm nhắc nhở, nói tự nhiên.
Mic
- Mic built-in laptop: thường đủ dùng nếu ở phòng không echo và gần mic.
- Headset mic (tai nghe kèm mic): tốt hơn built-in laptop, loại bỏ phần lớn background noise.
- External USB mic (Blue Yeti, AT2020, Rode NT-USB): khác biệt rõ ràng về quality. Đầu tư hợp lý nếu bạn plan làm nhiều video.
- Để mic gần miệng (15-25 cm), không hướng thẳng vào mặt (tránh p-pop).
Tránh filler words
Filler "uhm", "à", "ừ", "như là", "thực ra là" mỗi câu một lần sẽ làm video thiếu professional. Cách xử lý:
- Practice kịch bản 2-3 lần trước khi record.
- Khi không biết nói gì tiếp — im lặng hoàn toàn, không dùng filler để lấp chỗ trống.
- Review transcript sau khi record, count số filler. Nếu nhiều quá, re-record phần đó.
Ngôn ngữ
Nếu audience chủ yếu là người Việt: nói tiếng Việt. Không cần cố nói tiếng Anh nếu không tự nhiên — accent mạnh kèm filler nhiều sẽ làm video khó nghe hơn. Nếu muốn reach quốc tế: nói tiếng Anh, thêm subtitle tiếng Anh để bù lại accent.
Subtitle và Caption
Caption không phải optional — nó ảnh hưởng trực tiếp đến reach và accessibility:
- Khoảng 80% LinkedIn video được xem ở chế độ mute (theo dữ liệu LinkedIn năm 2023).
- Viewer dùng tiếng mẹ đẻ khác có thể đọc caption dễ hơn là nghe audio.
- Caption giúp YouTube index nội dung video — tốt hơn cho search.
Cách generate caption
- Loom: Tự động generate transcript từ voice-over. Review và edit lỗi nhận diện trong Loom editor trước khi share. Độ chính xác tốt với tiếng Anh rõ, thấp hơn với tiếng Việt.
- YouTube: Auto-caption sau khi upload (thường trong vài giờ). YouTube auto-caption tiếng Anh khá chính xác; tiếng Việt cần review nhiều hơn.
- Whisper AI (OpenAI, open source): Chạy local, hỗ trợ tiếng Việt tốt, output file SRT. Phù hợp khi cần caption chính xác mà không muốn edit thủ công nhiều.
- Subtitle Edit (Windows, free): Tool edit file SRT/VTT thủ công, sync timing với video.
Chạy Whisper local
# Cài đặt (Python 3.9+)
pip install openai-whisper
# Transcribe file video, output SRT
whisper demo.mp4 --language Vietnamese --output_format srt
# Kết quả: demo.srt — upload lên YouTube hoặc dùng trong video editor
Whisper model size ảnh hưởng accuracy: base nhanh nhưng kém chính xác hơn với tiếng Việt; medium hoặc large-v3 cho kết quả tốt hơn đáng kể.
# Dùng model large-v3 (chính xác nhất, cần ~10GB VRAM hoặc chạy CPU chậm)
whisper demo.mp4 --model large-v3 --language Vietnamese --output_format srt
Tối Ưu YouTube (Khi Public)
Nếu bạn upload video tutorial YouTube công khai (không phải unlisted cho README), các điểm sau ảnh hưởng đến discoverability:
Title
45-65 ký tự. Đặt keyword kỹ thuật ở đầu, context cụ thể ở sau:
- Tốt:
Building RAG Chatbot with LangChain 0.3 — Full Tutorial (Python) - Tốt:
Fine-tuning Llama 3.1 8B with LoRA on Custom Dataset — Step by Step - Tệ:
My AI Project — How I Built Something Cool
Description
2 dòng đầu hiển thị trước khi người dùng click "Show more" — đây là phần quan trọng nhất:
Build a production-ready RAG chatbot on 500 PDF pages using LangChain 0.3,
ChromaDB, and GPT-4o — from document parsing to Faithfulness evaluation with RAGAS.
Timestamps:
00:00 Intro & problem statement
01:20 Architecture overview
03:00 Document loading & chunking
05:30 Vector store setup (ChromaDB)
07:45 Query pipeline
09:30 Evaluation with RAGAS
11:00 Results & limitations
GitHub: https://github.com/yourname/rag-chatbot
Blog post: https://dev.to/yourname/...
LinkedIn: https://linkedin.com/in/yourname
Tags
Dùng tech stack làm tags: LangChain, RAG, ChromaDB, GPT-4o, Python AI, LLM tutorial. Không spam tag không liên quan.
Thumbnail
Auto-thumbnail từ YouTube thường là frame ngẫu nhiên — trông amateur. Custom thumbnail 1280×720 pixels (JPG hoặc PNG) tăng CTR rõ rệt. Dùng Canva hoặc Figma tạo thumbnail với:
- Background màu solid hoặc gradient đơn giản.
- Text lớn (40-60pt): keyword chính và 1 số liệu nổi bật nếu có.
- Ảnh screenshot demo hoặc diagram nếu muốn.
Chapter timestamp
YouTube tự parse chapter từ description nếu bạn liệt kê timestamps theo format MM:SS Tên section (bắt đầu bằng 00:00). Chapter giúp viewer skip đến phần quan tâm và cải thiện retention signal.
Video Length Theo Platform
| Platform / mục đích | Độ dài phù hợp | Ghi chú |
|---|---|---|
| GitHub README embed | ≤ 2 phút | Recruiter scan nhanh, không chờ video dài |
| LinkedIn native upload | 30 giây – 1 phút 30 giây | Sweet spot retention LinkedIn; dài hơn drop rate cao |
| YouTube tutorial | 5-15 phút | Chapter timestamp bắt buộc nếu > 5 phút |
| YouTube Short / Instagram Reels | < 60 giây, vertical 9:16 | Format khác, cần record riêng hoặc crop |
| Demo trong slide pitch | 30-90 giây | Nhúng vào slide hoặc play trong window riêng |
Lỗi phổ biến: Upload video 8-10 phút vào README với nhãn "demo". Recruiter skip sau 30 giây. Nếu video dài hơn 2 phút, đặt nhãn rõ ràng (ví dụ: "Full walkthrough — 6 min") và link thêm video ngắn hơn làm "quick demo".
Privacy và Branding
Những thứ cần che trước khi record
- API key, token, secret trong file
.envhoặc terminal output — dùng placeholder hoặc che bằng cách zoom out. - Tên / email user thật nếu đang demo với production data.
- Notification từ app cá nhân (Slack message, email).
- URL bar nếu chứa token hoặc sensitive param.
Webcam background
Nếu record kèm webcam: blur background (Loom có option built-in) hoặc dùng virtual background neutral. Tránh background lộn xộn làm viewer distracted.
Watermark nhẹ
Thêm tên hoặc URL corner (ví dụ: github.com/yourname) nếu video sẽ được share rộng. DaVinci Resolve cho phép thêm text overlay trên toàn video dễ dàng. Không cần watermark lớn che nội dung.
License
Nếu bạn muốn người khác reuse video demo (ví dụ embed trong bài viết về tool bạn dùng), ghi rõ license trong description: "Video demo under CC BY 4.0". Mặc định YouTube là All Rights Reserved.
Embed Video Vào README
GitHub README không tự play video inline như GIF — cần dùng thumbnail ảnh kèm link. Khi viewer click ảnh, trình duyệt mở video.
Embed video Loom
## Demo
[](https://www.loom.com/share/xxx)
Click image to watch (2 min).
Tạo thumbnail: chụp screenshot frame đẹp nhất của video, lưu vào docs/images/video_thumbnail.png và commit vào repo.
Embed video YouTube
[](https://www.youtube.com/watch?v=VIDEOID)
Thay VIDEOID bằng ID thực của video YouTube (phần sau v= trong URL). YouTube CDN tự serve thumbnail — không cần upload ảnh vào repo.
maxresdefault.jpg— chất lượng cao nhất (1280×720). Dùng nếu video có custom thumbnail.hqdefault.jpg— fallback nếumaxresdefaultkhông có.
Vị trí trong README
Đặt video embed ngay sau tagline ngắn và trước mọi text mô tả, hoặc trong section "Demo" nếu README đã có GIF ở đầu. Không cần cả 2 cho cùng 1 flow — hoặc GIF (cho scan nhanh) hoặc video (cho detail hơn), không phải cả hai ở cùng một vị trí.
Không commit file MP4 vào repo
File MP4 100MB+ trong repo làm git clone chậm đáng kể và chiếm Git LFS quota. Host video trên Loom, YouTube, hoặc Google Drive — không bao giờ commit thẳng vào repo. File GIF tối ưu (dưới 10 MB) thì commit được bình thường như đã hướng dẫn trong Bài 18.
LinkedIn Video
Native upload vs link YouTube
Upload MP4 trực tiếp lên LinkedIn (native) có reach cao hơn đáng kể so với post chỉ chứa link YouTube. LinkedIn algorithm ưu tiên native content giữ người dùng trên platform. Nếu muốn reach, dùng native upload. Nếu cần viewer count trên YouTube, link YouTube.
Định dạng
- File: MP4, H.264, tối đa 5 GB, tối đa 10 phút.
- Horizontal 16:9 hoặc vertical 9:16. LinkedIn hỗ trợ cả hai.
- Resolution tối thiểu: 720p (1280×720). 1080p là đủ, không cần 4K.
Caption bắt buộc cho LinkedIn
Khoảng 80% LinkedIn video được xem ở chế độ mute. Nếu không có caption, phần lớn viewer không hiểu nội dung. Thêm SRT file khi upload: LinkedIn cho phép upload file subtitle trong bước post video.
Kết hợp với post text
Đừng chỉ upload video với caption "New demo video". Viết 3-5 dòng text trong post:
- Câu đầu: 1 số liệu hoặc kết quả cụ thể từ project.
- Câu hai: mô tả video này show cái gì.
- Câu ba: tech stack hoặc key decision.
- Kết: link repo nếu muốn.
Pattern 1-Take (Beginner)
Nếu đây là video demo đầu tiên và bạn không muốn dành nhiều thời gian cho editing:
- Plan kỹ kịch bản: 4-6 bước cụ thể, script bullet points ngắn — 10-15 phút chuẩn bị.
- Practice 2-3 lần không record: Quen tay với flow trước khi record chính thức.
- Record 1 take với Loom, target 3-5 phút end-to-end. Không dừng giữa chừng trừ khi gặp lỗi nghiêm trọng.
- Edit tối thiểu trong Loom: Chỉ trim đầu cuối và speed up đoạn chờ rõ ràng.
- Publish ngay. Đừng trì hoãn vì chưa perfect — video "đủ tốt" và public tốt hơn video hoàn hảo mà không ai xem.
Quality của content (bạn giải thích gì, kết quả thực tế là gì) quan trọng hơn production quality (edit đẹp, transition mượt). Recruiter không đánh giá video như YouTube creator — họ muốn thấy project chạy được và bạn hiểu nó hoạt động như thế nào.
Khi Nào Không Cần Video
- Project dưới 1 tuần: GIF đủ. Không nên dành 2-3 giờ làm video cho project nhỏ.
- Backend-only API: GIF terminal chạy
curlhoặc Postman screenshot là đủ context. Video không thêm value. - Không muốn voice public: GIF + caption text trong README hoàn toàn chấp nhận được. Không có quy tắc bắt buộc phải có video.
- Project chưa stable: Demo video với bug lộ rõ hoặc UI chưa hoàn thiện có thể phản tác dụng hơn là không có gì.
Anti-Pattern Cần Tránh
Nội dung và length
- Video 10+ phút gắn nhãn "demo": Recruiter skip sau 30-60 giây. Demo ≠ tutorial.
- Voice-over đọc thẳng script: Nghe robotic. Dùng bullet points làm nhắc nhở, nói tự nhiên.
- Nhiều filler "uhm": Làm giảm confidence của người nghe. Practice trước, hoặc edit cut filler bằng DaVinci Resolve noise gate / jump cut.
- Demo UI đã thay đổi: Video show UI cũ trong khi code repo đã cập nhật hoàn toàn khác → confusing và làm giảm trust. Update hoặc ghi chú "Demo recorded with v1.0 — current UI may differ".
Audio và technical
- Echo / background noise: Record trong phòng nhỏ nhiều vải (giảm reverb), hoặc dùng noise suppression trong OBS (Filter → Noise Suppression → RNNoise).
- Không có caption: Nhiều viewer xem mute, hoặc không phải native speaker — không có caption = mất lượng lớn viewer.
- Commit file MP4 vào git: Dù chỉ 50 MB cũng làm repo chậm. Host external bắt buộc.
- Thumbnail YouTube mặc định: Frame ngẫu nhiên từ video thường là frame xấu nhất — cài custom thumbnail.
Hosting và link
- Loom free link expire (cũ): Loom đã thay đổi policy nhiều lần. Tính đến 2025, video Loom Starter không expire nhưng bị giới hạn tính năng. Nếu không chắc, download MP4 backup và host trên YouTube unlisted.
- YouTube unlisted nhưng share URL công khai trong README: Unlisted = ai có link đều xem được — điều này thực ra là điều mong muốn cho README. Nếu không muốn public nhưng không muốn share link rộng rãi, để Private và embed trong Notion/portfolio riêng.
- Thumbnail ảnh die (broken image): Nếu thumbnail commit vào repo bị rename hoặc xóa, embed trong README sẽ hiển thị broken image. Dùng YouTube CDN thumbnail URL (không cần upload ảnh vào repo) hoặc host thumbnail trên CDN ổn định.
Tóm Tắt
- ✅ Video cần thiết khi flow ≥ 5 bước, cần voice-over, nhiều window, hoặc audience non-technical.
- ✅ Ba loại: demo 1-2 phút (README), walkthrough 3-8 phút (blog / LinkedIn), tutorial 5-15 phút (YouTube).
- ✅ Bắt đầu với Loom — record và có link chia sẻ trong vài phút, không cần setup.
- ✅ Quy trình 5 bước: plan kịch bản → setup môi trường → record → edit → publish.
- ✅ Nói chậm, dừng giữa câu, practice 2-3 lần. Filler "uhm" giảm professional signal.
- ✅ Caption bắt buộc: Loom auto-transcript, YouTube auto-caption, hoặc Whisper AI cho tiếng Việt chính xác hơn.
- ✅ YouTube public: title 45-65 ký tự, description 2 dòng đầu là hook, chapter timestamp, custom thumbnail 1280×720.
- ✅ Embed vào README bằng thumbnail image + hyperlink — không commit file MP4 vào git.
- ✅ LinkedIn: native upload tốt hơn link YouTube về reach. Caption bắt buộc.
- ✅ Không cần video nếu project nhỏ, API-only, hoặc bạn không muốn voice public — GIF vẫn đủ.
Bài Tiếp Theo
Tài liệu tham khảo
- Loom Support — Getting Started
- OBS Studio Wiki — Overview
- OpenAI Whisper — GitHub Repository
- YouTube Help — Upload videos
- YouTube Help — Add chapters to your video
- YouTube Help — Add subtitles and captions
- DaVinci Resolve — Official Site
- Canva — YouTube Thumbnail Maker
- LinkedIn Help — Share video on LinkedIn
