A sophisticated video generation project that creates beautiful video renderings of Iqbal's Farsi poetry using Remotion and React. This project combines modern web technologies with classical poetry to create engaging visual content for various social media platforms and YouTube.
ZindeRood helps create professional video content from poetry text and audio files. It supports:
- Short-form vertical videos (9:16) for social media platforms
- Long-form horizontal videos (16:9) for YouTube
- Rubai, poem and audio monologue (message) type videos
- Batch processing for multiple videos
- Video combination for compilations
ZindeRood has become a significant platform for sharing Iqbal's poetry through visual content:
- 250+ Videos Generated: Automated video production across multiple formats
- 300k+ Monthly Views: Growing audience across all platforms
- Multi-Platform Presence: Active on YouTube, Facebook, Instagram, and TikTok
- Diverse Content Types: From short-form reels to long-form poetry recitations
YouTube |
|
|
TikTok |
🎬 Horizontal Poetry |
📚 Collection: 163 Rubais |
🎙️ Audio Monologue |
- 📱 Vertical Format Examples
- Instagram Reel - Poetry visualization
- Facebook Reel - Poetry visualization
- TikTok Video - Poetry visualization
- Multiple Content Types
- Rubai (quatrain) rendering
- Complete poem visualization
- Audio monologues (with audiogram visualisations)
- Social media reels from poems
- Flexible Layouts
- Vertical (9:16) for social media - 1080x1920
- Horizontal (16:9) for YouTube - 1920x1080
- Advanced Capabilities
- Automated video generation
- Real-time preview in development
- Batch processing support
- Video compilation tools
- Custom transitions and animations
- Automatic reel generation from poems
- Technical Features
- React & Remotion framework
- TypeScript support
- Tailwind CSS styling
- Google Fonts integration
- Node.js (v16 or higher)
- npm (v11.1.0 or higher)
- FFmpeg (latest version) - Required for batch processing and video combination features
- Note: FFmpeg must be installed locally on your system as it's not included in npm dependencies
- This is because the project requires newer FFmpeg features not available in the npm package version
- Installation instructions:
- macOS:
brew install ffmpeg
- Ubuntu/Debian:
sudo apt install ffmpeg
- Windows: Download from FFmpeg website
- macOS:
git clone https://github.com/hhsadiq/zinerood.git
cd zinerood
npm install
After installation, make sure to set up your .env
file as described in the Configuration section.
Each video generation requires three input files:
input-folder/
├── poem.txt # Poetry text with Farsi, Urdu, and English translations
├── markers.csv # Audio timing markers for synchronization
└── audio.wav # Audio recitation file
zinerood/
├── src/ # Source files
├── public/ # Static assets
├── generate-*.js # Video generation scripts
├── combined/ # Directory for video compilation
├── remotion.config.ts # Remotion configuration
└── .env # Environment configuration
Create a .env
file in the root directory:
# Required Configuration
REMOTION_POEM_BASE_PATH=/path/to/content # Content directory path
REMOTION_LAYOUT=vertical|horizontal # Video orientation
REMOTION_TYPE=poem|rubai|message # Content type
Real-time preview and development environment:
npm start
- Uses
.env
configuration - Live preview of changes
- Ideal for testing and fine-tuning
Generate multiple videos in sequence:
# For Rubais
npm run build-rubai --poemBase=/path/to/rubai/folders
# For Poems
npm run build-poem --poemBase=/path/to/poem/folders
# Clean Persian text in poems (removes Urdu special characters)
# Set in .env file
# REMOTION_POEM_BASE_PATH=/path/to/poem
npm run clean-poem
# Genreate reels from the main poem - read the reel generation section
# Set in .env file
# REMOTION_POEM_BASE_PATH=/path/to/poem
# REMOTION_REELS_RANGES="1-3,5-8,15-19,23-27,31-36"
npm run build-reels
Example batch directory structure:
poetry-project/
├── poems/
│ ├── masnavi-01/
│ │ ├── poem.txt
│ │ ├── markers.csv
│ │ ├── audio.wav
│ │ └── upload/
│ │ ├── reel-1/
│ │ │ ├── poem.txt
│ │ │ ├── markers.csv
│ │ │ ├── audio.wav
│ │ │ └── reel.wav
│ │ └── reel-2/
│ │ └── [same structure]
│ └── masnavi-02/
│ ├── poem.txt
│ ├── markers.csv
│ ├── audio.wav
│ └── upload/
│ └── [same structure]
└── output/
└── [generated videos]
Create engaging social media reels from your poetry videos. Once you have a working video for your main poem, this feature automatically generates short, vertical clips for specific couplet ranges, perfect for Instagram, TikTok, and Facebook.
- Content Selection: Choose specific sections of your poem to create reels
- Audio Processing: Automatic audio extraction and enhancement
- Text Synchronization: Perfect timing between text and audio
- Social Media Ready: Optimized for vertical viewing
- Batch Processing: Generate multiple reels at once
Combine multiple videos into a single compilation:
npm run combine
- Place source videos in
/combined
directory - Outputs a single combined video file
npm test
remotion.config.ts
- Remotion settingstailwind.config.js
- Styling configurationtsconfig.json
- TypeScript configuration
For development and contribution guidelines, please refer to the CONTRIBUTING.md file.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Note: Some Remotion features may require a company license. See Remotion License Terms.
- Remotion - Video generation framework
- Tailwind CSS - Utility-first CSS framework
- All contributors and maintainers
- Open an issue in this repository
- Contact the maintainers