ADrift is a Commercial Advertisement Archival Extraction Tool for digitized broadcast content, particularly from the 1980s and 1990s. It identifies commercial segments and station identifications by analyzing black frame patterns and standard broadcast timing patterns common in television of that era.
- Detects and extracts:
- Commercial segments (15, 30, or 60 seconds)
- Station IDs (3, 5, or 10 seconds)
- Uses black frame analysis common in broadcast content
- Supports multiple input and output formats (MOV, MP4, WebM, MKV)
- Configurable detection parameters for different source materials
- Real-time progress tracking and segment identification
Vintage commercials capture unique historical content:
- Regional businesses and their stories
- Local personalities and cultural figures
- Period-specific pricing and products
- Evolution of advertising techniques
- Cultural attitudes and social norms
- It's pretty fun
Station identifications are equally valuable historical artifacts:
- Local broadcast branding and identity
- Network affiliate relationships
- Regional broadcast history
- Technical broadcast standards
- Station call signs and channel numbers
- Often featuring local landmarks or cultural elements
- Rust (latest stable version)
- FFmpeg installed on your system
# Clone the repository
git clone https://github.com/stlalpha/adrift.git
cd adrift
# Build the project
cargo build --release
# Optional: Install globally
cargo install --path .
Basic usage:
adrift input_video.webm ./output_directory
With options:
adrift input_video.webm ./output_directory \
--output-format mov \
--black-threshold 0.1 \
--min-black-frames 3
--output-format <FORMAT>
: Output format for extracted commercials (default: same as input)- Supported formats:
same
,mp4
,webm
,mkv
,mov
- Supported formats:
--black-threshold <FLOAT>
: Threshold for black frame detection (0.0-1.0, default: 0.1)--min-black-frames <INT>
: Minimum number of black frames for detection (default: 3)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Jim McBride (@stlalpha)