Tag: C++

Demo update: Web camera video with MPEG-DASH live broadcasting, now also with HLS

Serving MPEG-DASH differs from serving HLS but as long as you have video packaged in ISO BMFF segments, adding an option to also expose content as HLS (HTTP Live Streaming, RFC 8216) is not too difficult. Besides, being able to stream webcamera signal as MPEG-DASH using http://localhost/MediaFoundationCameraToolkit/Capture/manifest.mpd I also made it possible to use http://localhost/MediaFoundationCameraToolkit/Capture/master.m3u8…

Read the full article

Demo: Web camera video with MPEG-DASH live broadcasting

New series in demonstrations of what one can squeeze out of Windows Media Foundation Capture Engine API. This video camera capture demonstration application features a mounted MPEG-DASH (Dynamic Adaptive Streaming over HTTP) server. The concept is straightforward: during video capture, the application takes the video feed and compresses it in H.264/AVC format using GPU hardware-assisted…

Read the full article

Demo: Direct3D 11 aware SuperResolution scaler based on AMD framework

A variant of previous CaptureEngineVideoCapture demo application which features AMD Advanced Media Framework SuperResolution scaler for video. It is basically a live video camera application started in low resolution mode, and it enables you to switch between GPU (OpenCL probably?) implemented realtime upscaling modes. AMD scaler is wrapped into Media Foundation Transform and is applied…

Read the full article

Demo: GPU shader Sobel filter and video capture with Media Foundation Capture Engine API

Back to some experiments… The current video capture API in Windows is Media Foundation Capture Engine API (AKA IMFCaptureEngine and mfcaptureengine.h). Media Foundation is layered: you can work at lower level with video capture Media Sources, but if you don’t want to go into details you have the Capture Engine. The application continues a good…

Read the full article

Breaking the Rules: A Quick and Dirty Approach to FX Trading Automation

One of the truly unconventional development projects was our development of specialized automated agent for foreign exchange (FX) trading.

The customer wanted to implement their unusual ideas at one (and then another) of the popular electronic Forex market trading platforms. The key idea was to be a market maker and a liquidity provider agent, and also to be able to provide the fastest reaction to market events.

Applications like this, that are touching big/real money are normally developed in respective way: robust tooling, a well-established software stack, comprehensive unit test coverage, peer-reviewed code, and thorough documentation.

We were breaking all the rules! That time we took a different approach — a quick and dirty one.

Singlehandedly and rather straightforwardly, we implemented a #FIX (Financial Information eXchange) client in C++ addressing ultra-low latency, and the application was running on a box connected via secure fiber connection with the platform data center located in neighboring building.

At the peak of the swing, we had positions at CurrenEx worth a jaw-dropping $15 million. Yeah, you read that right. Fifteen million bucks!