CXP Archive Transcoder
The ConferenceXP Windows Media Archive Transcoder is a tool designed to post-process archives produced on the ConferenceXP platform to integrate audio, video and presentation data, and enable easy streaming and off-line use. The project was funded by an award under the 2005 MSR ConferenceXP RFP.
- The full project description (PDF)
- Source code is licensed under Apache 2.0 and is available on GitHub
- Classroom Presenter (distributed presentation application)
- CXP WebViewer (playback tool for archives with presentation data)
- ArchiveTranscoder_2_0_12.msi (5/30/2014) Support building presentation from video. Various fixes and updates.
- ArchiveTranscoder_2_0_10.msi (4/15/2013) Improved code for building a presentation from a video source
- ArchiveTranscoder_2_0_9.msi (9/23/2011) Updated for .Net 4 Client Profile. Works better on x64. Misc improvements.
Installation and Configuration
We recommend installing on Windows XP or later. Corresponding Server platforms should also work provided that Windows Media Player v10 or later is available.
We assume that the system already has installed support for the Windows Media Format APIs which is the case for Windows XP SP3 and later. If you have difficulty encoding, you may try manually installing the Windows Media Format support by running the included redistributable file wmfdist.exe in the application directory.
The application communicates with the SQL Server hosting the Archive Service database, not with the Archive Service itself. By default, the application uses Windows "integrated" security. In order to connect successfully with this security model, you will need to be running under a Windows account which has access to the SQL Server system, and at least "select" permission on the Archive Service database tables. If you need to use SQL Server security you may do this by editing the connection string in ArchiveTranscoder.exe.config. The config file is found in the application directory.
You may also need to add a firewall exception to the SQL Server system to allow access on TCP port 1433.
After the initial launch of Archive Transcoder, the first thing to do is to configure the application with the host name of your SQL Server system. Do this from the 'Config' menu.
Basic ArchiveTranscoder Concepts
An ArchiveTranscoder Job Segment is a simple abstraction to provide support for certain video editing scenarios. By definition a segment consists of a single CXP video source, one or more CXP audio sources, and optionally a presentation source. A segment spans one continuous time period.
An Archive Transcoder Job contains one or more segments. Multiple segments in a job will be joined together one after another to make one continuous Windows Media output. Among other things, this provides support for removing an undesired period of time (such as a break) from the archive of an event, and for scenarios where different video or audio sources are desired at different times during the archive.
An Archive Transcoder Output Target may be 'stream' or 'download'. One or both targets must be specified in a job. A Stream target is designed for a scenario where you will stream the archive to remote clients. In this scenairo a Windows Media Server may be used to distribute the audio and video, and a separate web server would be used to deliver slide images and presentation data. The major assumption for the stream target is that all clients have reasonably good network connectivity at all times during archive viewing. The download target is designed to be packaged in a zip archive for download, or placed on removable media, and used by off-line clients. The download target is entirely self-contained and requires no network services during archive viewing.
A Windows Media Profile defines the details of the audio and video compression. ArchiveTranscoder provides a few standard profiles by default. Custom profiles may be created with the Windows Media Profile Editor. The resulting PRX files should be placed in the Archive Transcoder application directory, and they will be parsed at launch time, and provided for selection in the UI. The Windows Media Profile Editor is available from the Windows Media site.
The No Recompression selection in the Windows Media Profile combo-box will use the native compression found in the CXP archive. Processing using no recompression will be much faster than other profiles using recompression, however there are certain limitations. For example, 'no recompression' will not work in the case where there are media type changes from one segment to the next, and where slide images are to be used in place of video.
Creating an Archive
The following are the steps to post-process an archive:
- Launch ArchiveTranscoder, and type the archive name.
- Click the 'Create' button to create a Job Segment including at least one audio stream and one video stream from a conference in your Archive Service database. In the segment editor dialog, double-click the desired audio, video and presentation sources to add them to the segment. You may use Audio/Video Preview to aid in locating appropriate cut-in and cut-out time for the segment.
- If the conference included a presentation, you may also specify the presentation decks used. Specifying decks will permit Archive Transcoder to build slide images in the output even in the case where the slides are not found in the Archive Service database.
- When the segment has been defined, click OK to return to the main form.
- Set the remaining fields including the output directory and base name, select a Windows Media profile, and select at least one job target.
- If your job will use the stream target, use the Stream Settings button to define server names and URIs for the Windows Media and other web-based content.
- Save the job using the Job menu. Saved jobs are stored in XML files, which may be reloaded later. It is also possible to edit the XML files with a text editor.
- Click "Start Job" to begin processing. As processing proceeds a status message will be updated at the bottom of the form.
- When the job is completed you may view the job log using the "Job" menu. The job output will be found in a directory named with the base name you specified, under the specified output directory. There will be additional subdirectories for each selected job target. The target directories in turn will contain the output files and deployment notes.
Which CXP Capabilities Are Supported?
The following CXP stream sources and capabilities can be handled by Archive Transcoder:
- ConferenceXP audio and video in all Windows Media format
- Classroom Presenter 3, either as a stand-alone application or as a CXP capability
- The ConferenceXP Presentation capability
- The Windows Media Playback Capability (see notes regarding audio mixing below)
- The CXP Screen Streaming capability (see notes regarding screen streaming below)
Audio Mixing Limitations
All CXP audio sources are believed to work with the ArchiveTranscoder mixer, however some audio streams sourced from Windows Media Playback Capability may not mix with CXP streams. In these cases a workaround may be to use multiple Archive Transcoder segments and to remove offending audio streams from the segments where they are not essential to the archive. If multiple segments are used and they have differing audio (or video) media types, you will most likely need to use a target with recompression.
Transcoding Screen Streaming Video
The CXP Screen Streaming capability can produce high resolution, low frame rate video consisting of screen snapshots taken from the local system. Though the low frame rate causes the motion to be jumpy, the high resolution and the codec, which is optimized for screen capture, will allow medium and even small fonts to be legible to remote viewers. When transcoding screen streaming video, for best results you should retain the original video format and codec using the 'norecompression' option in the Windows Media Profile combo-box. The use of 'norecompression' implies that segments using screen streaming cannot be combined in a single job with segments using other video formats and codecs. If it is an absolute priority to combine the screen streaming portion with other video segments, then you will have no option but to choose a Windows Media profile to encode the job, but in this case the legibility of the screen streaming segment will suffer.
Using Presentation Slide Images and Ink to Produce a Video Stream
ArchiveTranscoder segments can use a presentation source to produce the video stream. This option is mainly targeted for users of small screen mobile devices. To use this option, configure the segment with a presentation source, then tick the checkbox labeled 'Create Video from Presentation' in the segment editor dialog. Note that using this option together with the 'norecompression' option is not supported.
Creating a Presentation from a Video Stream
A presentation may be captured in the form of a video stream, either with the screen streaming capability, or using a scan converter. Archive Transcoder can convert a video into a presentation stream. Use the "Create Presentation from Video" button in the segment editor dialog to select the video stream that you want to use as the presentation.
Command Line Mode
A command line tool called "ArchiveTranscoderCmd.exe" is available in the application folder. This tool can be used to process a Archive Transcoder job. With the -m option it will convert a job to produce the video from a presentation stream prior to processing.
Questions/comments welcome. Please use the comment link at the bottom of this page.