Skip to content

zayac/FFmpeg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This is a final course project in Information Security.
It is a about steganography in video.
We are modifying ffmpeg for these purposes.

Contribution:
Pavel Zaichenkov <[email protected]>
Arseniy Zaostrovnikh <[email protected]>
Rustem Feyzkhanov <[email protected]>

####### FFMPEG BUNDLE INSTALL #######
To build development version run from the project's directory:
$ ./configure --disable-optimizations --enable-debug
$ make ffmpeg

In case using gdb for debugging, please run <prefix>_g executables for these 
purposes (i.e. ffplay_g, ffmpeg_g, etc.). They contain debugging information.

############## ENCODER ##############
Steganography encoder is implemented in file 'libavcodec/mpeg12enc.c' (only
MPEG1 version is implemented by now.)
------------------------------------
Encoding parameters are defined in lines 74-79.

bound_level -- level's lower boundary in range about of [4..64].
bits_num    -- number of *encoded* bits in a byte. Range {1, 2}.
enable_log  -- enable/disable logging.

The default ffmpeg is used for encoding. Typical command looks like

./ffmpeg -i source.avi dest.mpg	      <-- to encode in default quality

A usefult options is '-sameq' as well. Then the destination video is encoded in
original quality.

./ffmpeg -i source.avi -sameq dest.mpg
------------------------------------
A secret message is stored in file 'secret.txt'.
A destination video *must* be wih 'mpg' extension.

############## DECODER ############## 
in order to build myplay steganography decoder command:
$ touch libavcodec/get_bits.h
$ sh myplay-make.sh

to use it write:
$./myplay <"your coded video file"> 2> <"your log file">

After that, there will be created file buga.t containing all coded information.
log file will contain additional information

Valuable macro-constants in the file mplay.c:
NUMBER_BITS_PER_LEVEL  -- number of bits, encoded in each apropriate level
LEVEL_TRESHOLD 	       -- treshold, used to determind apropriate levels
LOG_ENABLE             -- enable/disable logging unimportant stuff, put 0

in order to update myplay binary file, after changing a constant, write just:
$ sh myplay-make.sh

-------------------------------------------------------------------------------

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.

About

mirror of git://git.videolan.org/ffmpeg.git

Resources

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING.GPLv2
GPL-3.0
COPYING.GPLv3
LGPL-3.0
COPYING.LGPLv3

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 94.1%
  • Assembly 5.1%
  • Other 0.8%