Three teaching videos in the Justin Sung style, about Du'a al-Jawshan al-Kabir (source text: hekm.co/article/574, which cites Mafatih al-Jinan). Made in Amp thread T-01a10721-f6e5-7695-adf6-37d02b4942cc.
| Part | Video | iPhone (720p) | Length |
|---|---|---|---|
| 1 · A thousand names, without rote: learn the structure | part1-jawshan-kabir-lesson.mp4 | iphone | 9:19 |
| 2 · Building your map: build, add order, test, rebuild | part2-jawshan-map-lesson.mp4 | iphone | 9:03 |
| 3 · What is this du'a actually saying? Content analysis | part3-jawshan-analysis-lesson.mp4 | iphone | 7:13 |
Layout
partN-*.mp4: the 1080p MP4s, with English subtitles built in, and the-iphoneversions (720p, H.264 Main, stereo AAC, no subtitles built in). The lesson library plays all six at/videos/jawshan-kabir/.partN-*.srt: the subtitles. Each-iphone.srtis a symlink to its part's SRT, because both versions share the same timing.thumbnails/: one poster frame per video.notes/jawshan-analysis-notes.md: the analysis method, the counts, and their limits (Part 3).build/: the scripts that made the videos and the counts.
Rebuilding
You need Python 3 with edge-tts (pip install edge-tts), ffmpeg, and a Chromium build (set CHROME=/path/to/chrome). You also need these fonts installed: Inter, Caveat, and Amiri.
cd build
CHROME=/path/to/chrome python3 build_part1.py # → out1/joined.mp4 + out1/subs.srt
python3 build_part2.py # → out2/
python3 build_part3.py # → out3/
python3 analyze.py # downloads hekm.co/article/574 and prints the counts
Each script draws HTML slides into PNG images, makes the narration with Microsoft Edge text-to-speech (voices en-US-AndrewMultilingualNeural and ar-SA-HamedNeural), and joins one clip per step. Then I ran these two ffmpeg steps by hand to make the final files:
# 1080p with subtitles built in
ffmpeg -i outN/joined.mp4 -i outN/subs.srt -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language=eng -movflags +faststart lesson.mp4
# iPhone version
ffmpeg -i outN/joined.mp4 -vf "scale=1280:720:flags=lanczos,format=yuv420p" -c:v libx264 -profile:v main -level 3.1 -preset slow -crf 23 -tune stillimage -r 30 -g 60 -c:a aac -b:a 128k -ar 44100 -ac 2 -movflags +faststart -tag:v avc1 lesson-iphone.mp4
Caveats
- The voices are synthetic. A native speaker has not checked the Arabic pronunciation.
- Section numbers follow the hekm.co page, which drifts by about one from some printed editions.
- Some framing is mine, not from the source: the "three lenses", the bridges, the block stories, and the fear/hope reading. The counts are word counts, not counts of meaning.