# mohaimanulrifat/html2mp4 architecture

> Architecture diagram of the GitHub repository mohaimanulrifat/html2mp4, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mohaimanulrifat/html2mp4
- Repository: https://github.com/mohaimanulrifat/html2mp4

## Overview

HTML2MP4 is a private Windows desktop app for turning animated HTML pages into MP4 or transparent MOV files. The documented workflow is to select HTML files, set duration and options, preview if desired, then convert a queue into video files saved beside the inputs. README.md documents frame-by-frame rendering, page audio, optional music, settings, logs, and update checks; no application source is present in the supplied tree, so implementation paths and undocumented internal wiring are omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Conversion workflow"]
  node_ui["Main window"]
  node_htmlfiles["HTML files"]
  node_queue["Conversion queue"]
  node_preview["Frame preview"]
end

subgraph group_media["Rendering and media"]
  node_renderer["Frame rendering"]
  node_chromium["Bundled Chromium"]
  node_pageaudio["Page sound capture"]
  node_music["Music and fades"]
  node_video["Video export"]
  node_mp4["MP4 output"]
  node_mov["Transparent MOV"]
end

subgraph group_support["App support"]
  node_settings[("Saved settings")]
  node_logs["Conversion log"]
  node_updater["Update check"]
end

node_user(("User"))
node_internet(("Online content"))

node_user -->|"uses"| node_ui
node_ui -->|"selects"| node_htmlfiles
node_ui -->|"queues"| node_queue
node_ui -->|"requests preview"| node_preview
node_preview -->|"renders moment"| node_renderer
node_queue -->|"converts items"| node_renderer
node_renderer -->|"draws frames with"| node_chromium
node_renderer -->|"captures page sound"| node_pageaudio
node_ui -->|"sets music options"| node_music
node_renderer -->|"provides frames"| node_video
node_pageaudio -->|"provides sound"| node_video
node_music -->|"provides music"| node_video
node_video -->|"writes"| node_mp4
node_video -->|"writes"| node_mov
node_ui -->|"remembers options"| node_settings
node_ui -->|"reports errors"| node_logs
node_user -.->|"checks updates"| node_updater
node_updater -.->|"contacts"| node_internet
node_chromium -.->|"loads page resources"| node_internet

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ui,node_htmlfiles,node_queue,node_preview,node_user toneBlue
class node_renderer,node_chromium,node_pageaudio,node_music,node_video,node_mp4,node_mov toneAmber
class node_settings,node_logs,node_updater toneMint
class node_internet toneIndigo
```

## Components

### Conversion workflow

- **Main window**
- **HTML files**
- **Conversion queue**
- **Frame preview**

### Rendering and media

- **Frame rendering**
- **Bundled Chromium**
- **Page sound capture**
- **Music and fades**
- **Video export**
- **MP4 output**
- **Transparent MOV**

### App support

- **Saved settings**
- **Conversion log**
- **Update check**

### Other components

- **User**
- **Online content**

## Connections

- User → Main window: uses
- Main window → HTML files: selects
- Main window → Conversion queue: queues
- Main window → Frame preview: requests preview
- Frame preview → Frame rendering: renders moment
- Conversion queue → Frame rendering: converts items
- Frame rendering → Bundled Chromium: draws frames with
- Frame rendering → Page sound capture: captures page sound
- Main window → Music and fades: sets music options
- Frame rendering → Video export: provides frames
- Page sound capture → Video export: provides sound
- Music and fades → Video export: provides music
- Video export → MP4 output: writes
- Video export → Transparent MOV: writes
- Main window → Saved settings: remembers options
- Main window → Conversion log: reports errors
- User → Update check: checks updates
- Update check → Online content: contacts
- Bundled Chromium → Online content: loads page resources
