There are a lot of Delphi XE5 Firemonkey developers that want to get real time video streaming working on Android and IOS. Real time video streaming is not an easy project to undertake. One solution that I have found recently is to use Motion JPEGs to handle receiving the video stream. I believe the Digifort Mobile Client which is written in XE5 uses motion JPEGs. While investigating real time video streaming solutions I found this motion JPEG decoder code which uses a thread and reads a stream of motion JPEGs using Indy 10. It was updated to compile in Delphi XE4 and run on Windows, OSX, and IOS by Johan van den Heijkant. I downloaded it and tested it with Delphi XE5 Firemonkey and it compiled without any problems for Android. I did not actually test the motion JPEG decoding but it looks like it is being used to power a camera component in the Digital Home Server software which is written in Delphi. One additional bonus that is found on the same site is a link to some motion detector code which will test images for motion (say for example a webcam). The motion detection unit does use some AnsiChars and TPixelFormat so you would need to upgrade it to support Firemonkey yourself. I have also included a mirror of both files below.
Update: Jim McKeeth’s Gadgets and Devices Webinar from Embarcadero has some motion JPEG source code from XE5 for reading from a TMemoryStreamBuffer as well. Check the “Eric’s IP Cameras and Controllers” zip file from the Webinar source package.
Video Streaming Using Motion JPEG With Delphi XE5 Firemonkey On Windows And IOS by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Tokyo Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.