🧠 A complete suite for hiding and extracting information in Images, Audio, Video, and PDF files
🕵️♂️ Combines classical steganography with modern techniques in an interactive, user-friendly interface
👨💻 Developed as an academic final-year capstone project
This project explores the field of Multimedia Steganography, which is the art of hiding information in plain sight — inside digital media like images, videos, audio, and documents — such that only the intended recipient can detect and extract it.
Implemented using Python and web technologies, this system provides a full pipeline to:
- 📥 Encode secret messages or files into media
- 📤 Decode hidden content from stego-media
- 🖼️ Visualize or listen to the results
- 🌐 Use via a browser-based frontend or notebook backend
- Embeds secret messages or images into cover images using Least Significant Bit (LSB) encoding
- Also supports DCT (Discrete Cosine Transform) and DWT (Discrete Wavelet Transform) based steganography techniques
- Supports color images (RGB) for larger embedding capacity
- Hides secret messages within audio files (e.g.,
.wav) - Leverages LSB embedding in sound wave samples
- Extracts frames from a video
- Applies image steganography frame-by-frame
- Reconstructs video from modified frames
- Hides binary messages using:
' '(space) →0\t(tab) →1
- Stealth encoding invisible to the reader
The included steganography-frontend.html provides a simple yet powerful interface:
- Select media type (Image, Audio, Video, PDF)
- Input the secret message
- Choose cover media and output location
- Trigger encoding or decoding
✅ No advanced tools required — just open in a browser and use the system locally
📄 Stegano_Basic.ipynb
- Main notebook implementing encoding/decoding for all media types
🌐 steganography-frontend.html
- Web-based frontend interface for running the process interactively
| Component | Tech Used |
|---|---|
| Core Language | Python |
| UI | HTML, JavaScript |
| Image | OpenCV, NumPy, PIL |
| Audio | Wave, NumPy |
| Video | OpenCV |
| ReportLab, PyPDF2 | |
| Notebook | Jupyter (for demos/test) |
- Open
Stegano_Basic.ipynbin Jupyter - Run the cells under desired media type (image/audio/video/pdf)
- Encode your message, save the stego-media
- Use decode cells to retrieve message
- Open
steganography-frontend.htmlin a browser - Select file and message
- Click "Encode" or "Decode"
- Save or extract results
This capstone project provides hands-on exposure to:
- Data encoding/decoding theory
- Digital media manipulation
- Practical cryptography principles
- Python multimedia libraries
- Secure communication techniques
Whether you're sharing a secret through a song or an image, this system ensures it's hidden in plain sight. Perfect for educational demos, research, or entry-level secure communication systems.