Online music : Last.fm, Deezer and Spotify

A renowned online music service is iTunes, based on SoundJam MP and launched by Apple in 2001. Jeff Robbin and Bill Kincaid developed SoundJam MP in 1998 with assistance from Dave Heller. They chose Casady & Greene to publish SoundJam MP. Jeff Robbin is now the vice president of consumer applications at Apple Inc and he remains the lead software designer for iTunes.

Other online music services are less known, among them Last.fm, Deezer and Spotify.

Last.fm is a music website, founded in the United Kingdom in 2002, acquired by CBS Interactive in May 2007. Using a music recommender system called Audioscrobbler, Last.fm builds a detailed profile of each user’s musical taste by recording details of the songs the user listens to. Audioscrobbler began as a computer science project of Richard Jones. Last.fm was founded in 2002 by Felix Miller, Martin Stiksel, Michael Breidenbruecker and Thomas Willomitzer as an internet radio station and music community site. Last.fm won the Europrix 2002 and was nominated for the Prix Ars Electronica in 2003. Last.fm and Audioscrobbler were merged in 2005 and are still active today. A new desktop player was released on January 15, 2013.

Deezer is a French web-based music streaming service. It allows users to listen to music on various devices. It currently has more than 20 million licensed tracks and over 30,000 radio channels. The first version of Deezer, called Blogmusik, has been developed by Daniel Marhely in Paris in 2006. The company became succesful in 2010 when they entered a partnership with Orange. Deezer has three account types : discovery (free), premium and premium-plus. Deezer was launched in Luxembourg in March 2012 in partnership with Tango.

Spotify is a commercial music streaming service providing DRM-protected content from a range of major and independent record labels, including Sony, EMI, Warner Music Group and Universal. The service was launched in October 2008 by Swedish startup Spotify AB. The company was founded by Daniel Ek and Martin Lorentzon. Since November 2012 the service is also available in Luxembourg.

The system is currently accessible using Microsoft Windows, Mac OS X, Linux, iOS, Android, BlackBerry, Windows Mobile, Windows Phone, S60 (Symbian), Sonos, and other devices. Music can be browsed by artist, album, record label, genre, playlist, radio channels, as well as by direct searches. About 20 million songs are available since December 2012. Some artists are missing because of licensing restrictions imposed by the record labels or by the artists. The Beatles, for example, are not available because of a digital distribution agreement that is exclusive to iTunes.

Three subscriptions, with trials, are available : open, unlimited, premium. A free service is only available upon invitation. Spotify operates under a so-called ‘Freemium’ model, which is offering simple and basic services free for the user to try and more advanced or additional features at a premium price based ont the Open Music Model (OMM). The incorporation of DRM diverges however from the OMM.

In 2011 Spotify was announced as a technology pioneer by the World Economic Forum (WEF).

FFmpeg formats and codecs

Last update : September 16, 2013

By typing ffmpeg -formats in the command prompt window, a list of all supported media formats by FFmpeg is returned. The same is true for ffmpeg -codecs to get the list of all supported video- and audio-codecs.

I am particularly interested in the following FFmpeg formats and codecs :

File formats :
D. = Demuxing supported
.E = Muxing supported

  • D aac                                           raw ADTS AAC (Advanced Audio Coding)
  • DE ac3                                         raw AC-3
  • DE amr                                        3GPP AMR
  • DE asf                                          ASF (Advanced / Active Streaming Format)
  • DE avi                                          AVI (Audio Video Interleaved)
  • DE dv                                           DV (Digital Video)
  • E dvd                                            MPEG-2 PS (DVD VOB)
  • DE flv                                           FLV (Flash Video)
  • DE h264                                      raw H.264 video
  • E ismv                                         ISMV/ISMA (Smooth Streaming)
  • DE m4v                                       raw MPEG-4 video
  • DE mjpeg                                    raw MJPEG video
  • E mov                                          QuickTime / MOV
  • D mov,mp4,m4a,3gp,3g2,mj2     QuickTime / MOV
  • E mp4                                          MP4 (MPEG-4 Part 14)
  • DE mpeg                                     MPEG-1 Systems / MPEG program stream
  • E mpeg2video                             raw MPEG-2 video
  • DE mpegts                                  MPEG-TS (MPEG-2 Transport Stream)
  • D mpegvideo                               raw MPEG video
  • DE u8                                          PCM unsigned 8-bit
  • E psp                                           PSP MP4 (MPEG-4 Part 14)
  • E vob                                           MPEG-2 PS (VOB)
  • D webvtt                                      WebVTT subtitle

Codecs:
D….. = Decoding supported
.E…. = Encoding supported
..V… = Video codec
..A… = Audio codec
..S… = Subtitle codec
…I.. = Intra frame-only codec
….L. = Lossy compression
…..S = Lossless compression

  • D.V..S fraps                                 Fraps
  • DEV.LS h264                               H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • DEVIL. mjpeg                              Motion JPEG
  • DEV.L. mpeg1video                    MPEG-1 video
  • DEV.L. mpeg2video                    MPEG-2 video (decoders: mpeg2video mpegvideo )
  • DEA..S pcm_u8                          PCM unsigned 8-bit
  • D.S… webvtt                               WebVTT subtitle

Save Contents of Command Prompt to Text File

Command Prompt is a feature of Windows that provides an entry point for typing MS‑DOS (Microsoft Disk Operating System) commands and other computer commands.

To get a command prompt, click the Start button, click All Programs, click Accessories, and then click Command Prompt. To view a list of common commands, type help, and then press ENTER. To view more information about each of these commands, type help‌ command name and then press ENTER.

To save the content of the Command Prompt Window to a text file, add > name.txt after the command and then press ENTER.

Metadata handled by Synology Photostation

Last update : September 17, 2013

The following metadata for images are handled by the Photostation application of the Synology Diskstation :

—- EXIF —-

  • Make (IFD0)
  • Camera Model Name (IFD0)
  • Exposure Time (ExifIFD)
  • F Number (ExifIFD)
  • ISO (ExifIFD)
  • Exif Version (ExifIFD)
  • Date/Time Original (ExifIFD) : yyyy:mm:dd hh:mm:ss
  • GPS Version ID (GPS)
  • GPS Latitude Ref (GPS)
  • GPS Latitude (GPS)
  • GPS Longitude Ref (GPS)
  • GPS Longitude (GPS)

—- XMP —-

  • XMP Toolkit (XMP-x)
  • Region Person Display Name (XMP-MP)
  • Region Rectangle (XMP-MP) : x1, y1, x2, y2
  • Description (XMP-dc)
  • Subject (XMP-dc) : keywords

XMP-exif metadata tags are not recognised.

Responsive video

Last update : June 27, 2014

Responsive webdesign needs not only adaptive images, but also fluid videos. The pioneers in emdedding responsive videos in webpages are Chris Coyier and Dave Rupert. They created in 2011 FitVids, a lightweight, easy-to-use jQuery plugin for reactive width video embeds. FitVids automates the Intrinsic Ratio Method by Thierry Koblentz to achieve fluid width videos in your responsive web design. The source code is available at Github.

Here is a list of more useful links to contributions about responsive video :

Language localization with Poedit

Language localization differs from translation, because it involves a comprehensive study of the target culture in order to correctly adapt the product to local needs. Poedit is a free, open source and cross-platform gettext catalog editor to aid in the process of language localization. Poedit provides compact view of data and very effective UI. Poedit is developed by Vaclav Slavik. The latest version is 1.5.5. released on February 4, 2013. The sources are available at Github.

MPEG-4 Tools

Last update : September 16, 2013

To create and modify MPEG-4 Multimedia files, you need different MPEG-4 tools, e.g. an encoder, a multiplexer and a packager :

MPEG-4 Tools : Video encoder

x264  (Wikipedia) is a free software library (libx264) and application (x264.exe) for encoding video streams into the H.264/MPEG-4 AVC format, and is released under the terms of the GNU GPL. X264 provides best-in-class performance, compression, and features, gives the best quality and has the most advanced psychovisual optimizations. A comparison with other H264 codecs is available at the MSU Graphics & Media Lab (Video Group) of Lomonosov Moscow State University. The leader in this comparison for software encoders is x264, followed by MainConcept, DivX H.264 and Elecard.

X264.exe is a command line tool. A typical command to enter in the Command Prompt Window looks as follows :

x264.exe --crf 18 --ref 3 --bframes 2 --subme 3 --keyint 100 --sar 1:1 --output %1.mkv %1
pause

All available parameters can be listed with the command x264 –fullhelp. The purpose and use of all x264 settings is also explained on the MeWiki website.

The fourcc code of the X264 codec is X264.

MPEG-4 Tools : Multiplexer

To encode videos, x264 is not sufficient. Audio, subtitles and metadata should be added, and all these data need to be multiplexed. Therefore other tools are needed. FFmpeg is one of these tools. FFmpeg is a free software project that produces libraries and programs for handling multimedia data. It includes libavcodec, the leading audio/video codec library and libavformat, an audio/video container mux and demux library. FFmpeg is published under the GNU Lesser General Public License 2.1+ or GNU General Public License 2+, depending on which options are enabled. The ffmpeg component is a command-line tool to convert one video file format to another. X264 is added as an external library to FFmpeg. Zeranoe has great static builds of FFmpeg for Windows with libx264 included. Other useful external libraries are the Fraunhofer AAC library for AAC encoding and the LAME library for MP3 encoding.

A very comprehensive documentation about ffmpeg , the libraries, utilities and tools is available at the FFmpeg website.

MPEG-4 Tools : Packager

A third command-line tool performing some manipulations on ISO media files like mp4 is MP4Box, the multimedia packager from GPAC (Project on Advanced Content). Dynamic Adaptive Streaming over HTTP (DASH) is one example. GPAC officially started as an open-source project in 2003 with the initial goal to develop from scratch, in ANSI C, clean software compliant to the MPEG-4 Systems standard, a small and flexible alternative to the MPEG-4 reference software. The GPAC framework is being developed at École nationale supérieure des télécommunications (ENST) as part of research work on digital media. A general documentation about MP4Box is available at the GPAC website.

MP4Box is a command-line tool, the following GUI’s are available :

  • MeGUI, by several authors (version 2356, released on June 8, 2013)
  • My MP4Box GUI, by Matthew Bodin (version 0.6.0.6, released on January 4, 2013)
  • Java MP4Box Gui, by Rune André Liland (version 1.7, released on May 18, 2013)
  • Yamb, by kurtnoise version 2.1.0.0 beta 2, released on June 29, 2009)

The following list provides links to additional posts about MPEG-4 tools :

ISMA, MPEGIF, OIPF, HbbTV, Xiph

The Internet Streaming Media Alliance (ISMA) was Founded in December 2000 as a non-profit corporation by Apple Computer, Cisco Systems, Kasenna, Philips, and Sun Microsystems.

In 2010 ISMA was merged with the MPEG Industry Forum (MPEGIF).

The mission of ISMA was to accelerate the market adoption of open standards for streaming and progressive download of rich media over all types of Internet Protocols (IP). ISMA has released several specifications for the transport of rich media over IP, the main ones are :

  • ISMA 1.0 – details how to stream MPEG-4 Part 2 video (Simple Profile and Advanced Simple Profile) over IP networks.
  • ISMA 2.0 – details how to stream H.264/MPEG-4 AVC video and HE-AAC audio over IP networks.
  • ISMACryp – specifies an end-to-end encryption system for ISMA 1.0 and 2.0 streams.

The MPEG Industry Forum (MPEGIF), founded in 2000, was a non-profit consortium dedicated to further the adoption of MPEG Standards, by establishing them as well accepted and widely used standards among creators of content, developers, manufacturers, providers of services, and end users.

The group was involved in many tasks, including promotion of MPEG standards (MPEG-4, MPEG-4 AVC / H.264, MPEG-7 and MPEG-21), developing MPEG certification for products, organising educational events and collaborating on development of new de facto MPEG standards.

In June 2012 the MPEG Industry Forum closed its operation and merged its remaining assets with that of the Open IPTV Forum.

The Open IPTV Forum (OIPF) was formed in march 2007 to enable and accelerate creation of a mass market for IPTV by defining and publishing free-of-charge, standards-based specifications for end-end IPTV services of the future. The founding members Samsung, Ericsson, Sony Corporation, France Telecom, Telecom Italia and Philips have since been joined by other leading industry stakeholders.

The OIPF specifications are available on the OIPF website which hosts also the ISMA technical specifications and the MPEGIF informations.

The OIPF collaborates with the Hybrid Broadcast Broadband TV or “HbbTV” consortium, a major new pan-European initiative aimed at harmonising the broadcast and broadband delivery of entertainment to the end consumer through connected TVs and set-top boxes.

The Xiph.Org Foundation (open source community) is a non-profit corporation dedicated to protecting the foundations of Internet multimedia from control by private interests. Xiph.Org hosts a collection of open source, multimedia-related projects. The goal is to put the foundation standards of Internet audio and video into the public domain, where all Internet standards belong.

Foo and Hello World

The term foo is sometimes used as a placeholder name in computer programming or computer-related documentation. Other placeholders, also referred to as metasyntactic variables, are bar, baz, qux and foobar. The word foo originated as a nonsense word from the 1930s.

The term foo is very often used in programming examples, much like the Hello World program is commonly used as an introduction.

Time Machine : rolling ball clock

Last update : May 18, 2013
A rolling ball clock is a clock which displays time by means of balls and rails. It was invented by Harley Mayenschein in the 1970s. He patented the design and founded Idle Tyme Corporation in 1978, which manufactured these clocks from solid hardwoods.The US Patent 4,077,198 was issued to Harley Mayenschein on March 7, 1978.

Figure of US Patent 4,077,198

Figure of US Patent 4,077,198

The clock works by using steel balls to indicate the exact time. There are 3 main rails which are numbered for hours and minutes. The bottom rail represents the hours. The middle and upper rails are used to represent the minutes. An electric motor scoops up a ball every minute. Every five minutes, the top rail will dump and deposit a ball on the second rail. Every hour, the upper and middle rails dump and one ball is transferred to the bottom rail to increment the hours.

Original Rolling Ball Clock

Original Rolling Ball Clock

Mayenschein sold a license on the patent to Arrow Handicraft Corporation. The clocks were sold in kits to be assembled in one hour.

First page of the assembly instruction of the Arrow Ball Clock kit

First page of the assembly instruction of the Arrow Ball Clock kit

Arrow Handicraft Corporation made different versions of the clock kit : classic, large, Deluxe, and a Domino kit. Mattel also made the ball clocks under License.

When Harley passed away in 1985 the family closed the business. Joe Mayenschein, Harley’s Son and primary clock maker, started the business again a few years ago. It is a limited production operation; about five clocks per week are made and shipped on a First Come, First Served basis. Three options to order a clock (four colors to choice : walnut, cherry, oak, black satin) are offered at prices between 253$ and 300$.

The current version of the Arrow Rolling Ball Clock comes from the company Can You Imagine and is now called Time Machine – Kinetic Display Clock. Assembly is no longer required. All you have to do is put the balls on the rails. The Time Machine now has a seconds wheel which lets you see exactly when a ball is about to get scooped up.

clock_gadget

Rolling Ball Clock Gadget

I received today a Time Machine as a Christmas gift and enjoy watching the 1:00 drop when all three rails dump their balls to the feed rail at the bottom.

Adam Bowman (aBowman), a web developer who lives in Hallowell, Maine, creates small gadgets that can be added to webpages or your desktop. One of these gadgets is a rolling ball clock.

Additional informations about rolling ball clocks and related topics are available at the following links :