Skip to content

Skylion007/LVDOWin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LVDO

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

This is a Windows fork of that original repository. Feel free to visit it's Github repository for more information.

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.

Console Usage

This is a possible combination of parameters:

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

# Encode
type hello.txt | 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 > message.txt

GUI Usage

===== Dependencies

Ensure you have all dependencies. This uses a Python GUI requiring PySide. Python 3 recommended.

pip install PySide

Encode

Simply press convert binary file to video. Your video will be saved as output.mkv in the top level directory.

Decode

Simply press convert video to binary file. Your file will be saved at file specified under "Decoded Output File."

Issues

During the port to Windows, arguement parsing broke. For now, I just have it hard coded. Until this is fixed, no parameters may be changed for the encoding or decoding process.

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.

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.

About

Allow for binary files to be converted to Youtube videos on Windows. Ported from LVDO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published