This project provides a secure and offline method for protecting audio content ownership using invisible watermarking and two-factor authentication (2FA). Unlike traditional copyright protection systems that rely on cloud storage or centralized databases, this system embeds all ownership and licensing data directly into the audio file itself.
Users enter the following metadata into the application:
- Owner Name
- Email Address
- Audio Title
- License Type (e.g., CC BY, All Rights Reserved)
- Ownership Type (Individual / Organization)
- Custom Watermark Message
- Password for encryption
This data is encrypted using AES (Advanced Encryption Standard) to ensure confidentiality.
The application captures the user’s face using a webcam and generates a 128-dimensional facial encoding using Python’s face_recognition library. This biometric signature is embedded alongside the encrypted metadata.
The encrypted metadata (including the biometric data) is converted into binary and hidden inside the audio file using Least Significant Bit (LSB) steganography. This process maintains the audio quality while making the watermark invisible to users.
To extract and verify the watermark:
- The user must enter the correct password to decrypt the metadata.
- The system captures a live facial image and compares it to the embedded biometric encoding.
- Only if both password and face match, the metadata is displayed.
All data — including face encoding — is securely embedded within the audio file itself. No external server or database is used. The audio file becomes a self-contained proof of ownership.
- Java (Swing, AES, I/O)
- Python (OpenCV, face_recognition)
- GitHub for version control
- Run the Java GUI
- Select an audio file and enter metadata
- Verify face and embed
- For decryption: password + face match is required
pip install -r requirements.txt- Java 8 or later
