The DVX Client is the player/recorder part of the
Descriptive Video Exchange (DVX) project. This is the application that blind
viewers will use to actually play the described DVDs that will be produced by
DVX. Amateur describers will use the same application to quickly and easily
record their descriptions.
We didn’t want to write our own video player from scratch.
That would be an enormous challenge, and there are already plenty of options
that can be adapted for our use. The only problem was making the choice of
which video player to start with. Some of the most important requirements for
selecting the video player that will be the core technology for the DVX Client
include:
·
No cost to distribute
·
Easy to install and use
·
Easy to modify software and add new features
·
Provides software method of identifying the
video
·
Provides software method for obtaining accurate
video timing information
·
Provides software method for interacting with
DVD menus
Here, “software method,” means that the DVX Client needs to
have a way of communicating behind the scenes with the pre-existing video
player. This will allow the DVX Client to perform accessibility and description
functions based on interactions with the video player.
We investigated a number of open-source video players and video
frameworks. There were many excellent candidates, including Ambulant, VLC Media Player, and LiveDescribe. We evaluated each, taking
into account the criteria above, as well as a number of other technical and
practical considerations.
Of course, we only need to make a choice for the first
prototype DVX player. The concept of DVX allows for players to be implemented
in different ways and on many different platforms. For example, LiveDescribe
could (and probably will) include DVX functionality, and it runs on Windows.
Other DVX players may use other player infrastructure, and could run on
Android, iPhone, HTML5, and so on.
Ultimately, we decided to build the first DVX client on the
Microsoft media framework called DirectShow. DirectShow is already available in any modern version of Windows, and
provides an extremely rich set of commands (or APIs)
that allows other programs to control it and get information from it. These
APIs include everything needed by the DVX Client, and much more.
Using DirectShow does mean that the first DVX Client prototype will
only run on Windows, but this will be sufficient for our proof-of-concept
research into the effectiveness of amateur description techniques. When the DVX
Server API is ready for release, we expect to see more DVX Clients for more
platforms.