An 11½-minute, 1080p lesson in the style of Justin Sung. It teaches the advice the Prophet ﷺ gave Abu Dharr (source text) top-down: one-sentence logic first, then a concept map, then key details, then practice.
Files
abu-dharr-advice-lesson.mp4: the final video, with an English soft-subtitle track.abu-dharr-advice-lesson.srt: the same subtitles as a separate file.../../transcripts/abu-dharr-advice-lesson.txt: the full narration.build/script.py: all scenes, slide contents, Arabic quotes, translations, and narration.build/render.py: renders each step to a 1920×1080 PNG with headless Chrome.build/assemble.py: makes the narration with edge-tts, crossfades slides, joins them with ffmpeg, and writes the subtitles.build/fetch-fonts.sh: downloads the fonts (Caveat, Nunito, Amiri; all OFL).
Structure of the lesson
- The problem: reading 150+ lines in order doesn't stick. Introduces the 4 layers.
- Context: the empty mosque, and the advice described as gathering "the roads of good".
- Layer 1 (logic): "Someone is always watching, and your time is running out, so guard what's inside you, and spend your life on what lasts."
- Layer 2 (map): root = know God; trunk = time; branches = heart, tongue, deeds, world, people; loop = self-audit. Each part gets its own section with 2–4 quotes.
- How the parts connect. "And the tongue is greater" is repeated, which signals a priority.
- Layers 3–4: how to place minor rulings on the map.
- Practice: redraw the map, sort the lines into branches, do a nightly 3-question audit, and live one line per week.
Rebuild
Needs Python 3, pip install edge-tts, ffmpeg, ImageMagick, and a Chrome binary. Set CHROME=/path/to/chrome if it's not the orb default.
cd build
./fetch-fonts.sh
python3 render.py # writes out/fNNN.png (pass step numbers to re-render only those)
python3 assemble.py # writes out/final.mp4 and out/video.srt (reuses existing out/aNNN.mp3)
Delete out/aNNN.mp3 to regenerate narration after editing the say text.
Caveats
- The narration uses a synthetic voice (edge-tts
en-AU-WilliamMultilingualNeural), not Justin Sung's real voice. - The English translations and the conceptual framing were written for this video and have not been reviewed by a scholar. The video covers about 30 of the 150+ lines.
- Arabic is shown on screen only. It is not read aloud.