GithubHelp home page GithubHelp logo

tempbottle / lvdo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from m13253/lvdo

0.0 2.0 0.0 532 KB

Video steganography implementation

License: GNU General Public License v3.0

Makefile 2.66% C 97.34%

lvdo's Introduction

LVDO

LVDO (pronounced as ludou) is a video steganography implementation by StarBrilliant using DCT coefficients.

What can it do?

You can convert a file into video and upload it to YouTube or many other video sites. The receiver downloads the video and is able to extract the file using the same parameter you encode it.

Usage

This is a possible combination of parameters:

# Install dependencies (modify according to your Linux distribution)
sudo apt-get install libglib2.0-dev libfftw3-dev
sudo apt-get install git ffmpeg x264 mplayer

# Compile it
git clone https://github.com/m13253/lvdo.git
cd lvdo/src
make

# Encode
cat secret.mp3 | ./lvdoenc -s 640x480 -q 6 --qmin 1 --qmax 4 | x264 --input-res 640x480 --fps 1 --profile high --level 5.1 --tune stillimage --crf 22 --colormatrix bt709 --me dia --merange 0 -o public.mkv -

# Decode
ffmpeg -i public.mkv -r 1 -f rawvideo - | ./lvdodec -s 640x480 -q 6 --qmin 1 --qmax 4 | mplayer -

Issues

Some parameter combination causes undecodable file.

Due to rounding errors, input file and output file is not precisely the same. You should add some mechanism to keep file integrity. Join the discussion on this issue.

Note that LVDO is not cryptographic secure! Anyone can decode the data with the same parameters. If you have secret data, encrypt it with a password or a key before feeding it into LVDO.

License

This program is licensed under GNU General Public License version 3 or later, the author does not provide any warranties. Users should be responsible for any potential damage caused by this software.

Head to the file LICENSE in the code repository for the license text.

Never abuse

I hope you will not abuse this program to do something evil.

I suggest you not try to encode porn with LVDO and upload it to YouTube. You would be punished then.

FAQ

  1. Why is it called LVDO?

    You will find some secrets when you spell it out in Japanesu Engurishu.

  2. How do I adjust those complicated parameters?

    Do not use the maximum. Do not use the minimum either. Try to decode your self before publishing.

  3. Why the video downloaded from YouTube can not be decoded?

    Play around with those parameters please. If you could not get it work, feel free to contact me for help. Also, YouTube forces the use of BT.709 colormatrix, make sure you are using the correct x264 setting.

  4. What is clipping xxx to xxx?

    It means the decoded file is corrupted. If it happens a lot during decoding, make sure you are using appropriate parameters. If it happens a lot during encoding, please submit an issue to me alongside with your parameters.

  5. Any other questions?

    See if there are any issues on your question. If not, submit one.

Future

  1. A friendlier GUI

  2. A streaming decoder in HTML5

  3. Transmission Control Layer built on top of Bitstream Transport Layer

  4. Error tolerance control, see issue #4

  5. Watermark bypassing mechanism

  6. Carrier picture support, that is what the encoded picture looks like, see issue #3

  7. Co-operation with some parasitic video sites

Miscellaneous

See LVDO in action.

lvdo's People

Contributors

jabbany avatar m13253 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.