Keywords
Mpeg, Scrub play, Video, Audio, Editing, Effects, Delphi,
DirectShow, Component.
|
Abstract
This work was done as part of the background
required to build test applications for the AAF Edit Protocol
. The edit Protocol is a set of rules that constrains the
positions for production metadata within a file. It is
intended to ensure that AAF interchange works without the
need for agreements between vendors by making the specification
explicit. It is the only way currently available for successful
exchange of production projects between different vendors.
This
note describes two DirectShow filters capable of editing
audio and video content of any type, including Mpeg2.
The video filter includes indexed searching for Mpeg2
and Mpeg4
so it is both frame accurate and can do scrub play at
a speed that is acceptable. These two features make
the filter’s
performance good enough for professional use and better
than most professional editors for Mpeg.
The indexed
search relies on having either a separate indexing
object available for the media type in use or
a de-multiplexing
filter capable of accurate search. An indexing object
is provided in the SDK for the Mpeg decoding filters
I have
used but it would be relatively easy to produce one
for other long GoP or variable bit-rate content such
as Dirac.
Alternatively, MXF files with indexing capabilities
such as MXF OP-Atom would also provide frame accuracy
and
rapid seeking.
There are a number of special
conditions that DirectShow requires in order to work
successfully
for editing.
These are provided in a Delphi component which wraps
the filter
graph and does all of the filter creation connection
and destruction. The component requires only a set
of file
names, shot timings and effect specifications. It
also provides a means to add, remove or modify shots
and
effects and a set of player controls. This allows
a developer
to write a competent editing application without
knowing anything
about DirectShow or even media replay. The down-side is
that DirectShow runs only on Windows.
|