Event editor

Stanislav Sumec



This tool is designated to labeling of video and audio recordings. It allows defining named events and assigning these events to certain time of the source recordings. Each of assigned events can be also described by a short text. The program furthermore allows assign to each moment of a source recording plain text. XML file is created as an output. It contains definitions of events and assignment of events and texts to certain moments. It is also possible to read created XML and modify it.

How to use it?

Definition of events

First necessary thing is to define events, which will be used for labeling of the source media. The events can be for example used for storing gestures of the persons on the scene. The events can be defined in a window called Events list. This window can be activated from menu Windows. It is possible to add new events and modify and delete existing events in this window. Each event has a name and in addition it is possible to assign a hot key (F1 - F24) for insertion of this event to recording. It is useful store XML file if the events are defined because this file can be used as events template for all recordings. Item Save in menu File store all work into XML file whereas item Load can load XML into editor.

Source media

Next step is load media files, which will be labeled. It is possible open several files by item Add in menu Media. The preview window is shown when the media file is opened. This window can be hidden and shown in menu Window or in submenu Show in menu Media. It is also possible to assign camera number to each media files. This number can be use for example in video editing. Selected media file can be also removed from editor by submenu Remove in menu Media. The editor allows play the media files synchronously. 

Playback can be controlled by buttons from tool bar or by keys on num pad as it is shown on the following table.


It is also possible change the position of media by slider that is set below the tool bar. An actual time of recording is displayed in the status bar. It is possible choose the format of displayed time. Milliseconds and frames can be used as its units.

Labeling by defined events

Main window is divided in two parts. In the left part is displayed list of events which are assigned to certain moment of media and the right part is indented for writing plain text. Each of these parts can be optionally hidden or shown.

Events can be inserted to the list by pressing its hot key or by clicking on the event name in Event list window. Event is inserted with the actual time of source media. They can be also inserted to the list when the media files are playing. However it is necessary for inserting events tick a check box Edit above the list of events. Inserted event can be removed from the list by pressing Delete button. It is also possible remove all events from the list with Clear button. Edit box between the check box Edit and the list of events is dedicated for writing short description of event. When the event is chosen from the list description can be added by pressing enter on this edit box or by clicking Insert button. It is possible modify inserted event by the window that is shown with Modify button. All properties of the event can be modified and in addition parameters for the event can be inserted. Each event can contain list of the parameters. These parameters are inserted into box called Parameters where each parameter is written into one line and this. Syntax is following: "ParameterName=ParameterValue".

Labeling by titles

Similarly to inserting short events descriptions works inserting of titles what can be useful for storing of speaking. There is the check box Edit, the edit box for writing text and the list of written texts on the right. When the text is written to edit box and pressed enter the text is inserted to the list with actual time of video file. It is necessary tick the check box too. Modify button can also change the text and specific time of certain title.

Structure of XML file

XML file that can be used in Event editor contains two main sections, which are in root section <AVEvents>. Names of defined events are stored in the first section called <Events>. Each of the events has its own subsection <Name> where its name is stored and also its identification number is stored as property ID. A hot key of the event can be stored as property Key.

Second section <File> is used for storing individual events and titles, which describe source media files. This section has to contain at least one subsection <Source>, where the name of the source media is saved. Subsection <Source> can optionally have property Camera, where number of camera is stored. Section <File> can optionally contain subsection <TimeFormat>. Only values Milliseconds and Frames can be stored in this subsection. This subsection says which units are used for the timestamps of individual events and titles. The property FrameRate, which specify frame rate of the source media, can by optionally stored in subsection <TimeFormat>. This property is used only when the frames are used as units for the timestamps. For each individual event or title is stored one subsection <Event> or <Title> in section <File>. Each subsection <Event> contains subsection <ID>, where the number is stored that is equal to ID number of certain event from section <Events>. Next it contains subsection <Time> with timestamp of the event, which unit is given by section <TimeFormat>. The subsections <Text> and <Parameters> can be stored optionally in section <Event>. The section <Text> contains description of individual event. Some user-defined parameters can be stored as properties in the section <Parameters>. Subsection <Title> contains only text and timestamp of the title.

<?xml version="1.0" ?>
        <Name ID="0" Key="F5">start speaking</Name>
        <Name ID="1" Key="F6">stop speaking</Name>

        <Source Camera="1">source1.avi</Source>
        <Source Camera="2">source2.avi</Source>
        <TimeFormat FrameRate="1">Frames</TimeFormat>
            <Text>It is one o'clock.</Text>
            <Parameters Person="A"/>
            <Text />
            <Parameters Person="A"/>
            <Text>It is one o'clock.</Text>