I am doing a research project in search of a robust and invisible video watermarking software / library (preferably in Linux / C++). It needs to meet the following requirements:

  • Robust - that is the watermark needs to survive common transformations such as re-encoding, A/D / D/A conversion, luminance/color change, shift, and crop (both in size and length)'

  • Invisible - to the human eye

The watermark does not need to carry too much data - maybe a 64-bit UUID - and can be temporal or spatial. But I will need the ability to determine the existence (or not) of the watermark with only a few seconds of the video

Some research I have done so far:

  • JAWS research paper (http://pdf.aminer.org/000/316/002/the_viva_project_digital_watermarking_for_broadcast_monitoring.pdf) but cannot find any implementations on the web and the authors are not responding to emails. Plus, that research is over 10 years old and I am hoping for something more modern.

  • OpenPuff - does not satisfy the robustness requirement in that the resulting video does not survive transformations.

  • ffmpeg software - I have figured out how to overlay a visible watermark, but that does not satisfy the invisibility requirement.

  • 2
    One problem is probably the fact that codecs are carefully designed to not waste any bandwidth on data the viewer won't notice. So both requirements at the same time might be hard to satisfy in full generality at the same time. The more exotic and experimental the codecs get, the more likely that for every watermark you will find some re-encoding which breaks it. Restricting the set of codecs might help. – MvG Mar 6 '14 at 9:41
  • 2
    What's your budget on this? You're veering into the land of DRM, and good DRM solutions aren't usually free. – Michael Kohne Apr 29 '16 at 11:28
  • Cheers! Could you find software? I am very interested! – elm Jun 27 '18 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.