I need a good ffmpeg or c/c++ hacker that can fix me an ffmpeg filter - libavfilter API. These are the filters that are invoked using "-vfilter" param. The api is open and quite well documented. There is a number of sample filters with code.
I need a filter that overlays an invisible watermark on video stream. Here's a description on popular invisible watermarking algorithms: [url removed, login to view]~pmeerw/Watermarking/
There is also sample c/c++ code for these: [url removed, login to view]~pmeerw/Watermarking/source/
The job is to combine one of the watermarking algorithms (preferably Xie, Xia or Dugad) with libavfilter API - the result is a working filter I can use when encoding video.
If you don't know what ffmpeg is or have little experience in reading open-source projects' code and APIs please do not bid.
Requirements for finished project:
1. A C/C++ source code for usable, working ffmpeg libavfilter plugin that performs the invisible watermarking.
2. The plugin code compiles against libavfilter code (from svn://[url removed, login to view]) at revision 5449 or higher on linux x86_64.
3. A working, bug-free C/C++ source code for one of the following:
....a) A ffmpeg libavfilter plugin that can process video stream, read the data embedded in invisible watermark of the input video and output it to screen or file.
....b) An external tool or another filter that takes an argument pointing to any file/stream cotaining video stream then reads the data embedded in invisible watermark and outputs it to screen or file.
4. The watermark that is superimposed on the video stream has to be invisible to human eye.
5. The minimal width and height of the video stream to contain a watermark is agreed to be 320x240 pixels.
6. The minimal bitrate of video stream to contain a watermark is agreed to be 400kbps.
7. The watermark algorithm has to be robust in the following meaning:
....a) A watermarked video can be transcoded to any modern video format (mp4,flv,xvid,divx,x264) with similar (+/- 30% bitrate) and will retain the original data embedded in the watermark.
....b) A watermarked video can be resized up or down by 50% of its original dimensions and will retain the original data embedded in the watermark.
....c) A watermarked video can be cropped down by 30% of its original dimensions and will retain the original data embedded in the watermark.
8. The watermarking filter has to take and implement the following arguments:
....a) The data to embed in the watermark (max. 255 bytes)
....b) The first frame to start embedding the watermark (optional)
....c) The last frame to finish embedding the watermark (optional)