Showing Posts From

Multimedia

Introducing Aurio and AudioAlign

Introducing Aurio and AudioAlign

AudioAlign is a tool that I started developing in 2010 for my master’s thesis (and have been actively developing since then), with the goal to create a software for the automatic synchronization of audio and video recordings. Although I never quite reached the point of a fully automatic synchronization system, it showed promising results compared to the few similar commercial applications available on the market, and continues to be a helpful tool for my research purposes. I gave up on the plan to commercialize it due to patenting problems I didn’t know how to deal with, but instead decided on open sourcing it, so others can make use of it and hopefully even help me improve it.

Aurio is a library extracted from AudioAlign, providing the underlying core audio processing functionality, including audio fingerprinting and time warping algorithms. Both Aurio and AudioAlign are now available on GitHub under the AGPL license.

TVUnblock IP update script for OpenWRT

Yesterday I discovered the free TVUnblock.com service and was suprised how easy it is to use. Configuring my OpenWRT router to get access to US Netflix content only took me about 5 minutes. Being a free service, TVUnblock requires users to register their IP with them to unlock the unblocking functionality. For internet connections with dynamic IP adresses, this means that you have to regularly re-register your IP address, else you’re back to the local program, or none at all if you use it for services that aren’t available outside the US.

ITEC MediaPlayer reaching v3.0, getting production-ready and a new name: MediaPlayer-Extended

Since the previous post from about a year ago, the ITEC MediaPlayer for Android has evolved to its second major version, receiving a lot of bugfixes, a rewritten playback core with huge performance improvements, and the ability to playback audio-only sources. Its new name now bumps it to version 3.0, and it is reaching a point where I feel confident that it can be used in production. In fact, people are already starting to use it.

LAIS.Foto

LAIS.Foto

LAIS.Foto is a voluntary project that I developed a few months ago for a friend. It’s a self-hosted online photo sharing platform with community features, similar to Flickr. Compared to other existing platforms, it features a unique upload and download workflow with an intermediate moderation step, tailored to the principle of donating and requesting pictures.

Spectaculum - Android OpenGL ES Accelerated View for Picture and Video Content

Spectaculum - Android OpenGL ES Accelerated View for Picture and Video Content

Spectaculum is a view widget for Android to display visual content in a GLES accelerated context, providing zooming and panning functionality, parameterized shader effects, and frame grabbing. It comes with additional views that save developers a lot of time and implement all functionality for displaying bitmap images, camera preview, and videos through the Android MediaPlayer, MediaPlayer Extended, and ExoPlayer. The packaged shader effects range from simple color filters to immersive 360° VR video rendering.

Native immersive 360° VR video playback on Android with Spectaculum

Native immersive 360° VR video playback on Android with Spectaculum

Playback of immersive 360° video on Android is usually done in a WebView with an HTML5 video player. This tutorial demonstrates how to display 360° video in a native view widget to save the overhead of a whole browser stack. This is done by using the versatile Spectaculum view widget for video rendering and the popular ExoPlayer for video decoding. Both of these libraries are open source under the Apache 2.0 license and available on GitHub and the JCenter repository.

Aurio adds support for realtime live fingerprinting and cross-plattform cloud deployments with .NET Core 2.0

Aurio adds support for realtime live fingerprinting and cross-plattform cloud deployments with .NET Core 2.0

A collaboration with eyecandylab, a company developing products for augmenting TV programs, recently gave me the opportunity to implement great new features into Aurio. The most recent version released today extends the architecture to support processing of real-time audio streams with infinite lengths, which means that live streams can now be fingerprinted on the fly with minimal latency. Additionally, the Aurio core library has been ported to .NET Standard 2.0 and will run with the .NET Core 2.0 framework on Windows, Linux and MacOS, enabling building microservices in containerized environments like Docker.

Automatic subtitle synchronization for edited TV productions

Two years ago I was approached by someone from a public TV broadcaster in Germany with the following problem: Given multiple video files with differently cut versions of the same production, is it possible to use the technology from AudioAlign/Aurio to automatically generate edit decision lists (EDL/XML) and use them to transfer subtitles from a reference version to the different cuts? The answer is “yes”, and that’s just one of many use-cases. This article describes the challenges and how Aurio solves them almost magically in a successful prototype developed for the TV station.