[vlc-devel] How to implement a filter that skips a portion of the movie?
Robert Forsman
bob.forsman at ericsson.com
Fri Mar 30 21:46:03 CEST 2012
On Fri, 30 Mar 2012 15:22:53 -0400
Peter Tap <ptrtap at yahoo.com> wrote:
> Folks,
>
> My company is in the business of digitization of movies. The digitization process for a movie takes a few days. The final format is mp4.
>
> Sometimes, when the movie is about to be released, we get a notice that some parts of the movie have been censored. However, there is not enough time for us to re-encode the movie before releasing it.
>
> As our digitized movie can only be played through VLC, I am thinking I might be able to write a module that tells VLC to skip certain frames. I am wondering how do I go about writing such a module. Is it a video filter that I need to create?
Two suggestions:
Recommendation 1 is that this be handled with an 'elst' Edit List
Box (ISO 14496-12 section 8.6.6.1). I don't have any media that
includes this box, so I don't know if VLC supports it (my guess is that
it is not yet supported). The down side is that the "censored" bits
are still in the file and will be played by any player that doesn't
correctly implement the 'elst' atom (probably all the players).
Recommendation 2 is to write some software which can "edit" the
MP4 file. Given a source MP4 and an edit list, it is a simple matter
to emit a second MP4 file that only contains the audio and video access
units that match the edit list. No reencoding is necessary. It is a
less simple matter to make sure that the cut point is "clean" (doesn't
contain AUs which mathematically depend on removed AUs for proper
rendering).
Clean cut points become more difficult if your GOPs are not closed.
Clean cut points become near impossible if you take full advantage of
H.264's decoding features where you can refer to a wide range of
reference pictures for interpolation.
More information about the vlc-devel
mailing list