Application Software Development Kit for MPEG2/4/1 PCI Card
Inventa Australia has released MPEGIO-Application-SDK --- a Software Development Kit that allows rapid development of application software to capture, play, transcode and stream multiple-stream high-quality MPEG1/2/4 video on PCs, using C++, VB, C#, Delphi, or any modern high-level programming languages.
Designed specifically for application software developers, MPEGIO-Application-SDK offers easy-to-use stand-alone C-function calls to program multiple(1~10) MPEGIO PCI MPEG encoder/decoder cards in the same PC, by shielding the software writers from sophisticated hardware low-level interfacing, as well as the over-complicated DirectX/DirectShow programming. The result is extremely fast application software development in hours or days, instead of the usual months or years. Common hardware MPEG video encoding/decoding operations such as recording, transcoding, playback, and streaming can all be implemented by single C-function calls, without any of the traditional headaches of hardware initialization, register read/write, chip-command download etc, nor those over-bloated Microsoft DirectX/DirectShow filter building, pin-connecting, graph-running, etc., etc. Using MPEGIO-Application-SDK, the software developers will really concentrate on their application-specific features of the software, with minimum attention to the hardware interface coding. Take the very first hardware initialization and live video preview as an example: MPEGIO-Application-SDK needs only one single function call to accomplish the entire initialization and video window creation, to put multiple live video-input windows on PC's screen. Gone forever are those labyrinth of endless class structure declarations and mysterious incarnations of hardware representations, starting or stopping the MPEG encoding is now as simple as one function call from anywhere in your C or Visual Basic source code. With MPEGIO-Application-SDK, even Visual Basic for Application source code can make video capture happen in one statement --- now your end users can press one button from Microsoft PowerPoint or Excel to start live video input if they want to.
For customers requiring full MPEG video/audio stream data access in realtime, MPEGIO-Application-SDK allows powerful call-back function set-up that can intercept every bit of data realtime encoded or decoded by the MPEG chipset, therefore any on-the-fly processing by the application software is possible.
Various MPEG encoding parameters, including MPEG1, MPEG2, MPEG4 encoding type, Program Stream and Transport Stream type, Group-Of-Picture(GOP) structures inc. I-Frame Only structure, Video PID and Audio PID, Transport Stream ID, Scene Detection Enabling, etc, are all allowed to be programmatically set and manipulated.
Programmers familiar withMicrosoft DirectShow SDK can also use their own DirectShow filter connected graphs to preview MPEGIO video while simultaneously calling MPEGIO-Application-SDK functions to record and stream hardware-encoded MPEG video. External DirectShow SDK based programs such as VideoLan, DataStead TVideoGrabber etc., or any customized software using DirectShow SDK functions to preview/capture uncompressed live video/audio, can be used side-by-side with the hardware MPEG encoding functions inside the MPEGIO-Application-SDK.
For various text and graphics overlay on realtime MPEG decoding/transcoding applications, MPEGI-Application-SDK supplies a flexible On Screen Display(OSD) mechanism that allows multiple text lines and bitmap graphics, as well as automatically updated time and date info., to be added to live playback MPEG video. The text displayed can also have various positions, sizes, colours, and blending methods(alpha channel), full programming details are available in the SDK Manual and the sample source code.
For applications requiring realtime
text and graphics overlay on incoming video to be displayed directly on external
TV screens, MPEGIO SDK supplies
a realtime loopback function (MPEGIO_startVideoLoopback)
that turns MPEGIO card into a realtime text/graphics overlay device.
Compared with conventional standalone overlay boxes MPEGIO offers extra
-- No need of PC screen to paint the overlaid text and graphics, they are mixed directly onto the incoming video
-- No VGA pass-through cabling is needed
-- Multiple (same or different content) overlays on multiple incoming video sources can be easily handled from one PC
-- MPEG video files of both the original and text/graphics overlaid video can be recorded when two MPEGIO cards are installed
To overlay unlimitedly complicated colour text and graphics onto encoded MPEG video in realtime, Inventa Voverlay card and its SDK can be used together with MPEGIO-Application-SDK, see Voverlay for more details.
For high-quality realtime end-to-end MPEG video streaming, either from live external video sources or from pre-recorded files, MPEGIO-Application-SDK provides simple one function call --- MPEGIO_streamStart(BoardNumber, IPAddr, Port, Multicast) ---- to stream video at any time to any TCP/IP address, without any other set up or configuration. Live or pre-recorded MPEG video can be streamed out with or without simultaneous local PC recording. When streamed out with a transcoding operation, realtime user-definable and changeable OSD contents can also be added on the surface of the video. The streamed out video can be displayed and saved by PC streaming client software such as VideoLan, MPEG4IP, or by any stand-alone video set-top boxes that can receive raw MPEG stream. Thanks to its hardware encoding and decoding nature, MPEGIO consumes little PC system resources even during multiple card multiple I/O video streaming from any moderate PC, while still providing many flexible features such as Realtime User Data Insertion, Realtime Encoding Parameter Change, etc.
For realtime arbitrary User Data Insertion, MPEGIO-Application-SDK provides function call MPEGIO_insertUserData() that allows multiple cards to simultaneously insert unlimited User Data at video encoding, transcoding and streaming time.
As a unique hardware feature, MPEGIO-Application-SDK allows Realtime Changing Encoding Parameters during its Program Stream MPEG2 and MPEG4/MPEG1 video recording, transcoding and streaming, thus providing maximum scalability and flexibility for any application environment.
Apart from straightforward hardware controlling, MPEGI-Application-SDK also provides high-level programming features to facilitate MPEGIO's powerful hardware MPEG video encoding and decoding. Features like instant Recording File Splitting, live Pause and Resume during encoding, Multiple Aspect Ratio (inc. 16:9 Wide-Screen) Encoding, record timer modification, colour adjustment, playlist file selection and looping, etc, are all implemented through single function calls available any time anywhere during the programming.
MPEGIO-Application-SDK is delivered as a simple Dynamic Linking Library (.DLL). A Detailed User Manual, complete C++ and Visual Basic Sample Source Codes and projects files are also included. Installing application software written with MPEGIO-Application-SDK on target PCs requires minimum file copies without complicated system registry modification. Interested parties can contact Inventa Australia for any further information at firstname.lastname@example.org, Tel 61-2-95186100, Fax 61-2-95717887.
Download MPEGIO Application SDK Free Trial here.
Screenshots for sample projects with full source codes included with the MPEGIO Application SDK: