[vlc-devel] Why is my subpicture getting displayed for more time than specified?

Peter Tap ptrtap at yahoo.com
Tue Apr 24 20:07:56 CEST 2012

Hi Remi,

Thank you for your help.

The issue we have is that operators in some of our movie theaters do not 
monitor if someone is video recording the movie off the screen. If we 
get our hands on such a pirated movie, we would like to be able to identify the theater the movie was recorded from.

The idea was to implement a 
watermarking scheme that is invisible to the human eye but caught by the video camera. My thought was that if we show the hardware id for a very small time, perhaps we could achieve this.

If we show the text at the same location, pirates can use a video editing software and wipe that region off. We have to find a way to discourage pirates from editing the movie. If we show the id at random location on the screen, frame by frame, it would become very hard for the pirates to edit the movie.

Is this logic flawed? Is this achievable within VLC?.

If this is achievable, perhaps the way I am trying to achieve it is not right.

I have written a "video filter" module. When VLC calls my "Filter" method, the only parameters I can control are the start and the stop time of the created subpicture.The start time is usually the time value that VLC supplies as a parameter. The stop time is based on the computed timeout value. 

If I set my timeout value to, say, 1ms, and create a new subpicture at every 40.6ms, will it work?

Or, is there a better way to do it instead of writing a video filter?

Appreciate your help.


----- Original Message -----
From: Rémi Denis-Courmont <remi at remlab.net>
To: vlc-devel at videolan.org
Sent: Tuesday, April 24, 2012 10:06 AM
Subject: Re: [vlc-devel] Why is my subpicture getting displayed for more time than specified?

Le mardi 24 avril 2012 11:31:18 Peter Tap, vous avez écrit :
> Honestly, I don't know what you are talking about.

I really cannot see too many ways to put the question:
How many frames actually exhibit the watermark on the physical display?

> The display time is based on the assumption that most commercial movies
> (which is what I am dealing with) contains 24 frames per second. If there is
> a flaw in my logic, I would appreciate it if you could present a better
> idea.

I think you can get the theoretical frame rate in the input video format 
passed to the filter.

*Obviously* though actual rendering must obey the display frame rate. Most 
computer flat panels run at 60Hz nowadays. Only high-end ones support 120Hz. 
This is also known as vertical synchronization. As is not a multiple of 24Hz, 
frames cannot physically be shown the exact correct time. Ideally, every 
second frame would be displayed for 3 intervals (50 ms) or and 2 (37ms).

50 ms is surely longer than enough for the human eye to notice the artifact, 
especially if it is is stark contrast with the rest of the picture.

Add scheduling jitter in the operating system, and some frames will be shown 
for even longer. Only if some frames show for a lot longer than they should 
would I start worry that there is a bug or performance problem within VLC.

Rémi Denis-Courmont
vlc-devel mailing list
To unsubscribe or modify your subscription options:

More information about the vlc-devel mailing list