Skip to content

Latest commit

 

History

History
103 lines (80 loc) · 3.34 KB

README.md

File metadata and controls

103 lines (80 loc) · 3.34 KB

Contributors Forks Stargazers Issues MIT License LinkedIn

BzBCodec

Description

This program is implementation of custom codec applied for images, videos and audio files. It allows usage of LZW, LZ77, Huffman and Deflate algorithms of compression and player for playing these files

Installation

  • For proper usage of mp3 you need to install ffmpeg. Tips on installation:

    • MacOS: Run in terminal
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
    
    brew install ffmpeg
    
    • Unix:
    $ sudo apt-get install ffmpeg
    
  • To install all the necessary libraries for proper work do the following:

    pip install -r requirements.txt
    

Usage

Note: Current version of the programm supports only png, jpg, mp3, mp4 and mov extensions of the files

To compress your files you should do the following in the terminal:

python3 PathToConvert.py PathToFile algorithm
  • Algorithm pararameter is optional. Default algorithm is lz77
  • Supported algorithms:
    • lz77
    • lzw
    • deflate
    • huffman

To play your files and show them in our player you should do the following:

python3 PathToPlayer.py PathToFile
  • File to be played must have one of the following extensions of pur codec:
    • bzbi for image
    • bzbv for video
    • bzba for audio

Contributing

We are working on expanding our codec to every possible file extension. Pull requests are welcome.
For major changes, please open an issue first to discuss what you would like to change.

To create a pull request:

  • Fork this repository on GitHub
  • Clone the project to your computer
  • Create a new branch
  • Commit changes to your own branch
  • Push your work back up to your forked repository
  • Create a pull request so that we can review your changes

License

MIT License

Credits