Skip to content

SagarDevAchar/TheMP3Photographer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Active Version GitHub issues GitHub license

The MP3 Photographer

An LSB2 Steganography Encoder which encodes MP3 Audio into PNG Images to be played by The PNG Musician

About the Project

This is secpnd part of the Steganography Made Fun! toolkit

The toolkit has three parts divided into three repositories:

Repository Structure

  • IN\ : This is where you place the JPG and MP3 files
  • SRC\ : Contains the Steganographically Encoded PNG Files
  • LICENSE : GNU GPL v3.0 License for The MP3 Photographer
  • README.md : Here you are!
  • install_requirements.bat : Installs the necessary package requirements using pip (Requires pip access in PATH)
  • The MP3 Photographer.py : Source Code

Usage Instructions

  1. Just let things be where they are (relatively)
  2. Place the JPG files with <song_name>.jpg in the adjacent directory labeled IN\
  3. Place the MP3 files with <song_name>.mp3 in the adjacent directory labeled IN\ (Check the Restrictions below)
  4. Run The MP3 Photographer.py using the IDE of your choice or via CMD using the python "The MP3 Photographer.py" command
  5. Obtain the Steganographically Encoded PNG files in the SRC\ Directory

Place the Custom PNG files generated by The MP3 Photographer in the SRC\ folder of The PNG Musician folder to play them

Restrictions

Amount of data that can be steganograhically encoded in a particular image is limited. Both The MP3 Photographer and The PNG Musician work on colour images of resolution 1280x720 with the 2 LSB bits in each channel of each pixel holding the MP3 file

Ultimately, the size of MP3 file is restricted to 1280 x 720 x 3 x 2 = 5,529,600 bits or 675 kB

I use Audacity to limit the MP3 file sizes into the restriction limits with the following settings:

Maximum Duration 1 minute
Bit Rate Mode Preset
Quality Medium, 145-185 kbps
Channel Mode Force Export to Mono
Metadata Cleared

Requirements

  • Operating System: Windows
  • Python Version: 3.5+
  • Packages: TQDM, NumPy, OpenCV

You can install the required packages manually or by running the install_requirements.bat. You can always create a virtual environment to prevent your version critical installations from being modified (You need to switch to the virtual environment before running the batch file)

Disclaimer

I do not own any rights to the images or music in the IN\ directory. All rights are reserved by the respective artists and record labels

Acknowledgements and References