| Using the Windows CE Shared Source DVR engine |
(Jun. 29, 2006)
This article provides a summary of the Live Chat held on June 22 covering Microsoft's Shared Source DVR Engine for Windows CE. It is primarily for the benefit of participants in the 2006 Windows CE Shared Source Contest, but may be of interest to other developers, as well.
[Note: a link to the complete, 55-minute audio transcript from the June 22 DVR Engine Live Chat appears below.]
DVR Engine background
The DVR engine is part of the free Windows CE NMD Feature Pack upgrade introduced by Microsoft in April. The Feature Pack includes a DVR engine, networking capabilities, device drivers, and video codecs typically required to develop consumer NMDs (networked media devices) and IP-STBs (internet protocol set-top boxes), according to Microsoft.
 The new Windows CE 5.0 feature-pack adds a DVR engine, codecs, and other "NMD"-oriented functions (Source: Microsoft)
Microsoft says that it has released the feature pack's NMD middleware, DVR engine, and sample UI under a Shared Source license, in order to allow developers to customize the software to meet specific device requirements.
What the DVR Engine does
The primary focus of the DVR Engine is to record and play back digital video streams. There is a distinction between "permanent recording," which is saved to the hard disk for later playback, and "temporary recording," which maintains the last x minutes of the video stream. A temporary recording can be converted to permanent.
The engine accepts video input in MPEG2 format and also delivers output in MPEG2. Significantly, the package does not include an MPEG2 encoder or decoder. The output stream must be decoded before being rendered on a display. Hardware and software decoders are available from third parties such as Media Excel.
Open Source possibilities may include: However, users are cautioned not to "mix" GPL and Shared Source code together within a single program, as this would violate both licenses. Also, keep in mind that successful use of a software decoder requires a sufficiently powerful processor.
On the input side, webcams typically do not generate MPEG2 streams. Therefore, an application using a webcam will probably require a third party encoder to translate uncompressed RGB into MPEG2.
The engine saves video in a very large number of small files. The real value added is the way in which it indexes these files to support seamless access. The indexing algorithms are highly dependent on the MPEG2 format and are rather widely dispersed in the code.
As an example of the value of indexing, "fast forwarding" is implemented by "skipping" frames, rather than by trying to "jam" them through the decoder at a high data rate.
It was suggested during the live chat that an interesting project might be to port the DVR Engine to a different video format, but this would probably be "challenging."
DVR Engine Live Chat Audio Transcript
Microsoft has made the entire 55-minute audio transcript from the June 22 Shared Source DVR Live Chat available for contest participants and other interested developers. Click on the following link to download the entire 40 MB MP3 file from WindowsForDevices.com's server:
Additional DVR Engine Resources
Additional useful resources include: - Information on the NMD feature pack -- further information about the Windows CE Network Media Device feature pack, which contains the Shared Source DVR Engine, is available on Microsoft's website, here.
- Obtaining the DVR engine's source code -- the source code for the shared source DVR engine is accessed from Microsoft's MSDN developer site, in the Windows CE Shared Source area. The actual source code to the DVR engine can be downloaded from Microsoft's download area, using this link (binary file download: "Shared_Sources.msi").
- DVR engine shared source license -- the DVR Engine is released under the "Microsoft Windows CE 5.0 Networked Media Device Feature Pack Shared Source License Agreement" A snapshot of the current license terms in PDF form is available here. The license is also visible when you install the NMD FP.
- DVR Engine technical resources at MSDN -- resources on Microsoft's MSDN developer website for the DVR Engine appear on this MSDN page. In addition to the links on that page, the following articles and video may also be of interest:
- Other Windows CE development resources -- a number of videos that may be of more general interest to contest participants are available at the Windows CE Tutorial page.
- WindowsForDevices forum discussion area -- finally, for the latest discussion and questions on the 2006 Windows CE Shared Source contest, be sure to check out this special area of the WindowsForDevices discussion forum. Note, in particular, the thread titled Shared Source DVR Engine questions & discussion.
Windows CE Shared Source Contest Resources
Click here to see a complete list of Windows CE Shared Source Contest resources:
To be informed by email of Contest breaking news and other Contest-related developments, subscribe to the special Shared Source Contest Newsletter by sending a blank email using the following link:
Other Related Stories
(Click here for further information)
|
|
|
|
|
|
|