The Past


Located in Sydney Australia. I started out developing for live and VOD video streaming applications since 1998 in the Windows Media and Realmedia streaming days. Building cross browser streaming video players for Windows Media was clunky and quite difficult at times to due bugs and limitations. These bugs and limitations have carried over today, mostly with Safari browsers and IOS.

In the early days I was administering and developing with Windows Media Streaming server, that I continued to administer for Live streaming through to 2006 and then Flash RTMP streaming servers using Red5, Wowza Media Server and Adobe Media Server through to 2008 and currently today which is mostly Live HLS and Dash based delivery.


I moved into a New Media developer role at SBS TV in Sydney in 2002. Most of my work was PHP and Mysql website and business internal system related but I also started developing with Actionscript and Flash. During this time I was one of the first people to implement interactive Flash video Actionscript projects using Flash Player progressive download video. It was in it's infancy and the project was done before the Adobe launch for this change and before thorough documentation in 2003/2004. Early Flash player video was a string of jpegs packaged in Flash IDE before this. After this it opened up Flash to become a real alternative to Windows Media using progressive download and RTMP apis.


After SBS I moved into a Systems Manager role in 2005 building live and VOD streaming websites. I migrated most of the Windows Media Streaming and Windows Media Player systems over to Flash during this time. It was during this time I met the Red5 Server team and the team at Flowplayer who was working on upgrading their early Flash player from V2 to V3. While building custom players and migrating systems to Flash Player based RTMP and VOD streaming, I begun actively working on both the Flowplayer and Red5 projects and contributing to both. With Java based Red5 Streaming servers I worked on ways to fine tune, scale and monitor the servers for scaling and stability, which at times was rocky with Java. With Flowplayer I was helping the team debug problems and add new features.


From 2008 I moved onto consultancy roles for clients in Flash Player streaming development, related to Flowplayer 3 customisations and Red5 and Wowza Streaming Server administration. I worked with the Flowplayer team adding plugin features and fixing bugs in the code and supporting their customers.

It was during this period from 2008 until 2010 I was at AFTRS Film School studying Sound Post Production. I began working as a Sound editor , recorder and mixer on film projects.

From 2008-2010 I started offering customisations for Flowplayer 3 plugins to customers and clients globally. I began also doing consultancy and customisations of Flowplayer itself for clients during this time for their streaming platform sites.


During this period the plugin feature offerings grew and since the advent of Html5 streaming changes in Flowplayer 5, I naturally migrated everything over to Es5 and Es6 based plugins for Flowplayer 5-7. Until the Flash based offerings became depreciated.

Since the move to Html5 plugin features, I migrated the Flash DRM and Flash encrypted HLS options which became depreciated to HLS and Dash based DRM streaming options as HLS AES encryption is not entirely hack proof. I worked with EZDRM which were kind enough to offer an account to develop such DRM features.

Eventually over time these plugin feature offerings were migrated to JWPlayer, Video.JS and also Flowplayer Native.


In 2016 I started working on VR 360 features using WebGL apis in the browser. It was not new, but it was this time it became mature with more VR headsets becoming available. I added support for the major Headsets including VR Controllers for virtual video controls.

I soon discovered how history repeats itself with my time around 1998 with browsers becoming a problem supporting the same features. Safari and IOS Safari webkit browsers have never supported WebGL well, never supported WebVR or WebXR, and using HLS streaming formats barely worked at all.

I spent 3 months at the start finding WebGL shader work arounds to get HLS rendering, which was shared to the Github community and implemented into many player features including Google VR View. With IOS each major version kept regressing back to an unusable rendering state. Since IOS 11 it enabled cross domain streaming, before this required proxy work arounds. Since IOS 14.4 HLS rendering has regressed again but in Iphone only and waiting for Apple to release the Webkit changes in IOS 14.5. This is the state of VR for IOS currently. Since Android 4.3 VR has functioned fine with strong support by the Google VR team.

Having a surround recording and mixing background I was able to work on Ambisonics Audio support using Omnitone and making surround ambisonics panning content.

The Present in 2021

I am still doing streaming consultancy work for regular and new clients mostly with player plugins, video player customisations , administration and custom Java modules for Wowza Media Server.

Since WebRTC became available not only for Desktop browsers but Phone browsers I have been working on WebRTC player features and administration in Wowza Media Server and ANT Media Server. Which became an offering of a WebRTC broadcaster and subscriber feature for players with virtual background removal features using BodyPix and Tensorflow. I hope to see WebRTC progress for Live streaming and conferencing support with better security features like you have with HLS Fairplay DRM and DASH Widevine DRM.

Most of my work is between client customisations and streaming server support, building new plugin features for customers and Sound work.

The player plugin features are offered as one time licensing with support but on many occasions I offer internal source code licensing.