This page describes the technical interface between the FUGA platform and the platform of a consumer DSP (Digital Service Provider) to provide content delivery.
Overview
There are two kinds of products: audio and mobile. Audio product is a music album, mobile a collection of ringtones.
After a DSP makes a deal with a supplier, FUGA delivers to the DSP the media files and metadata associated with the products in the deal.
Delivery is initiated by the content owner (label). The delivery for a single audio product consists of:
- Track audio files encoded into one or more of the following formats:
- Track previews (if requested)
- Video files encoded into H264 (if supported by the receiving party)
- Cover art image file
- Metadata XML file
- Attachments (if exist for the product)
The delivery for a single mobile product consists of:
- Ringtone files encoded into one or more of the following formats:
- Ringtone previews (if requested)
- Cover art image file
- Metadata XML file
- Attachments (if exist for the product)
When FUGA encodes audio tracks it will add (depending on the encoding format), ID3v2 tags to the audio file unless explicitly requested not to by the DSP.
Before a file is sent to the DSP a checksum is generated and added to the metadata. This checksum can be used by the DSP to verify that the audio, video, or image file has not been damaged during network transit.
Once the delivery is completed the DSP will get a delivery notification by email. FUGA currently supports the following protocols for content delivery:
Connecting you to Fuga
Before we can connect you to Fuga and start sending you content, we need some questions to be answered first:
- Who is the technical contact on your side we should contact about reviewing the XML requirements and setting up the interface? (name and email address)
- Who is the commercial contact on your side we should put in touch with the content providers using FUGA? (name and email address)
- How do you want the content delivered to you? (FTP or SFTP)
- What are the credentials to login to a folder on your server where we can drop content?
- Do you want to deliver content from different providers to separate content directories named after the provider name?
- What is your preferred transcoding format? (FLAC,WAV, MP3, AAC, AAC+)
- If you request MP3 or AAC+ what bitrate would you prefer? (128kbps, 192 kbps, 320 kbps, etc.)
- If you request MP3 what should the MP3 type be? (eg ABR, CBR, VBR)
- Should FUGA create audio previews?: (Y/N)
- If yes what format should the previews be?
- If yes what duration should the previews be?
- Will you be able to process:
- meta-data XML only re-deliveries?
- takedowns in XML?
- Can you process H.264 video? (Y/N) If so, what is the prefered bitrate (300kbps, 500kbps, 800kbps, 1500kbps, 6000kbps)?
- mobile ring-tone products?(Y/N)
- Would you like to receive cover art in JPG or PNG?
- What dimensions should the cover art have?
- If cover art is larger should it be scaled down?
- Notifications: (note that delivery notification emails and take-down notifications can be sent to seperate email addresses)
- What is the provider email address where FUGA delivery notification emails should be sent to?
- What is the provider email address where FUGA take-down notification emails should be sent to?
After we receive this information, we will be able to you send you a test delivery.
Delivery structure
The files for a single audio product (audio, video, cover art, metadata, attachments) or a single mobile product (audio, cover art, metadata, attachments) are delivered together in a directory. The directory is named after the product's UPC and FUGA's internal delivery ID in the format of [Delivery ID]-[UPC]. The directory contains the cover art file named [UPC code].jpg, the metadata file named [UPC code].xml, the track files named [UPC code]_[disc number]_[sequence number]_[encoding format].[ext] or the ringtone files named [UPC code]_[sequence number]_[encoding format].[ext], the video files named [UPC code]_[sequence number]_[video configuration counter].m4v (not available in mobile product delivery), and the confirmation file [UPC code].complete.
If there are any attachments belonging to the product, they will be placed in a subdirectory called attachments. The attachment files are named in sequence [upc]_01.jpg, [upc]_02.doc and so on. The extension designates the file type. If no attachments were delivered, the attachments directory is not present.
For example, if the Delivery ID of the product was 63119, the UPC code 723456789013, the files were encoded in MP3@320, and the DSP would support videos, the directory structure of the delivery would be:
- 63119-723456789013
- 723456789013.jpg
- 723456789013.xml
- 723456789013_1_01_mp3_cbr_128.mp3
- 723456789013_1_02_mp3_cbr_128.mp3
- 723456789013_03_01.m4v
- 723456789013.complete
- attachments
- 1234567890136_01.jpg
- 1234567890136_02.doc
Example of mobile product delivery:
- 63119-723456789013
- 723456789013.jpg
- 723456789013.xml
- 723456789013_01_mp3_cbr_128.mp3
- 723456789013_02_mp3_cbr_128.mp3
- 723456789013.complete
- attachments
- 1234567890136_01.jpg
- 1234567890136_02.doc
If requested, FUGA can be configured to deliver to separate directories for separate content providers. It means the product directories will be created as subdirectories of a directory reserved for a specific label:
- content_provider_1
- 63119-723456789013
- 723456789013.jpg
- 723456789013.xml
- 723456789013_1_01_mp3_cbr_128.mp3
- 723456789013_1_02_mp3_cbr_128.mp3
- 723456789013_03_01.m4v
- 723456789013.complete
The confirmation file has zero byte size and is uploaded as the last one. That means once the file is found on the DSP's server, the delivery has been fully completed and the can be ingested.
Metadata format
Metadata is delivered in the XML format for each product. An example of a FUGA metadata document instance can be found
here (for audio product) or here (for mobile product).
Note that this examples reflects only a subset of the full FUGA metadata set. For a complete listing, refer to the
audio product XSD or mobile product XSD.
Product updates
Products are subject to change, even after they have been distributed. The labels can (and will) push these updates to the DSPs.
There are two kinds of update deliveries. A full one consisting of a redelivery of all the delivery content - the metadata file, cover art file, and media files. Second option is metadata only update delivery where only metadata has changed and thus only the XML (and the .complete file) is sent. There is neither cover art nor any tracks or videos in a metadata only delivery.
When FUGA sends an update, it sets the action element in the metadata file to either "update" or "metadata_only" depending on the update type.
Product takedowns
Labels have the right to request you take a product down from your system. In that case FUGA sends you a delivery consisting of only the metadata file and the .complete file. There is neither cover art nor any tracks or videos in the delete request delivery. The structure is the same as for metadata only delivery, only the XML contains "delete" in the action
element.
Changelog
1.7.2
- Add title and version translations for product and assets.
1.7.1
- Add STEMS product tag.
- Add original encoding tag to the audio resources.
1.7.0
-
Add Neighbouring Rights fields on asset level. The following fields have been added to record specific Neighbouring rights data.
- Medley
- Contains Sample
- Remastered
- Recording Date
-
Add Composers with relevant composer rights data with the following fields added:
- Composer Name
- Composer
- Lyricist
- Composer Rights
- Territory
- Copyright control
- Publishing house
-
Add updated neighbouring rights contributor data
- Contributor Name
- Role
- Territory
-
Add repertoire owner and rights holder information
- Rights party name
- Share
- Start date
- End date
- Owner Type(ie. Original vs. Successor)
- Rights Holder Type (ie. Internet, Public Performance And Broadcasting, ...)
1.6.7
- Add Prime On Demand Streaming usage right.
1.6.6
- Add HD tag to standard and classical tracks (48-96KHz sampling rate, 24bits resolution).
1.6.5
- Add language tag to products and assets
- Add optional time to the global release date
1.6.4
-
iTunes HD video support: addition of crop dimension fields, required for HD video delivery.
-
Add Mastered for iTunes feature.
-
Addition of 'Rights Claim' option to Track to allow monetization and block/allow business policies to Rights holders.
1.6.3
-
Track level Territories.
-
Track level Consumer Release Date.
1.6.2
-
Addition of 'Compilation' option to Album.
1.6.0
-
Usage Rights: modification of the internal implementation. Empty usage rights configuration will disable all usage rights.
1.5.1
-
Addition of display title for classical tracks (Work, Movement, Key, ...).
1.5.0
-
Addition of 'clean' option in parental_advisory tags. This is a modification of an existing tag, so update your parser.
1.4.4
-
Territories : Addition of new territories BQ, SX, CW and SS, deprecation of AN.
-
Pricing intervals : Interval pricing enables you to set specific price tiers for different time periods.
-
Instant Gratification: Ability to sell the tracks during the pre-order period.
-
Add support for 12-digit UPC codes.
1.4.2
-
Addition of usage rights on tracks and products
1.4.1
-
Territory based exceptions for release dates and preorder dates
1.4.0
-
classical tracks added - same as tracks, but with
work (string only)
movement number
classical catalog
classical key
- Products got
original release date
-
Tracks & videos & ringtones got
P Line Year
P line text
Rights Holder Name
Country of Recording
Country of comissioning
Rights ownershipname
Rights contract begin date
asset catalog tier
-
videos got
contributors
avaliable separately
parental advisory
1.3.2
- Single video deliveries are now supported.
- Videos now require a screen_shot artwork section (required for iTunes)
- All assets now support suggested_preview_start and suggested_preview_length fields.
-
Track and video assets have a new optional preorder section. Assets that are to be made available
as pre-orders on supporting channels can use this section to specify if previews are allowed during
the preorder period (preorder_preview_allowed) and if an asset is only to be made available during the
preorder period (preorder_only). The pre-order availablility date is set at the release level with
preorder_date
- Attachements have an extra attachment_type with possible values of BOOKLET or REGULAR
- A delivery_id field has been added for those DSPs that require it
1.3.1
-
Added mobile product support.
1.3.0
-
Added video support:
Tracks element is nested under a new assets element. There can also be the videos element that contains information about video assets associated to the product.
-
Using the word "product" instead of "release":
Element release_format_type renamed to product_format_type.
Element release_version renamed to product_version.
-
Added the catalog_tier element.
-
Renamed preview_length to suggested_preview_length and preview_start to suggested_preview_start. Since DSPs can
set their previews configurations themselves for different formats, these values are indeed only suggestions.
-
Removed the description and website elements from the artist element. They haven't been used.
-
Removed effective_from_date and effective_through_date from the contract element. These dates were of no use to the DSP and thus confusing.
-
See the documentation above and the
XSD for more details.
1.2.5
-
Delivery directories are name by their UPC and the delivery ID as 723456789013. Example: 43453-1234567890142.
1.2.4
-
Adds support for attachments. In case there are files attached to a release, an attachments element
with information about the files will be created in the XML and attachments subdirectory will be
used to upload these files. See the documentation above and the
XSD for more details.
1.2.3
-
Adds support for metadata only and delete deliveries. These new types of deliveries contain only
only the metadata file and the .complete file and either request to update the metadata
of a release or to take it down. See the documentation above and the
XSD for more details.
1.2.2
-
Adds the exclusive_for element. It contains the number of days from consumer_release_date
for which no other party is allowed to publish the release. See the
XSD for more details.
1.2.1
-
The fuga_release_date element was removed because it contained a FUGA's internal date and was of no value for DSPs.
Upgrading from 1.1 to 1.2
Why upgrade? All the files among all deliveries have now unique names which allow you to easily ingest them in one big batch. The file names also can't contain any special characters anymore and thus you will have no more problems
with character sets configurations. The newly added confirmation file helps you ensure that the delivery you want to start
ingesting has been fully completed. The XML is more readable and the content of important elements (genres, contributor roles) is restricted to a
list of fixed values.
- Delivered file names changed
- Metadata file is now named [UPC code of the release].xml instead of just release.xml
- Cover art file is now named [UPC code of the release].jpg instead of just cover.jpg
- Track files are named [UPC code]_[disc number]_[track number]_[encoding format].[ext]
instead of [Track title] (track version)_[encoding format].[ext]
- The "territories" element now includes only "territory" elements instead of "included_territory" ones.
- "Digital_release_date" has been renamed to "consumer_release_date."
- Recording_date elements have been renamed to recording_year and contain only a year now
- The contract element has been downsized and changed to have the following structure:
<contract>
<id>411</id>
<effective_from_date>2007-12-10</effective_from>
<effective_through_date>2009-12-10</effective_through>
<supplier>
<id>83</id>
<name>Armada</name>
<reference>ARM</reference>
</supplier>
</contract>
- Two formerly separate elements describing the action expected to be performed by the DSP (insert or update)
are now nested under an element called "action."
- All possible values for genres, contributor roles, and release format type are explicitly stated in the XSD.
Upgrading from 1.0.1 to 1.2
Why upgrade? If you still use 1.0.1, you'll benefit from upgrading 1.2 a lot. Crucial territory information in the metadata, unique file names, checksum of the track files, extended ID3 tags, more information about the cover art are just a few.
- added: file type to describe any physical file delivered. this includes a full path name to
the file as well as a CRC32 checksum and size so you can verify correct delivery of the
file.
- added: audio type to describe an audio track in more detail with properties like recording
type, duration and physical file properties.
- added: more properties for <album>/<cover_art> like color model, width, height, file
format and physical file properties.
- added: action element on album level to support content update notices.
- added: more ID3v2 tags. Next to track title, artist name and album title now copyright
year, track number, total tracks, track located on disc and total discs are available.
- added: new properties <album>/<total_discs> and <track>/<on_disc> describing physical
releases.
- added: contract information over the contract governing the delivery of the release. Please
take notice of the effective through property that states the end of the contract. If the
contract is not prolonged then the release may not be sold from that date onward and
should be removed from your website.
- added: territory information that states for which territories the release is licensed for.
- changed: <track>.<sequence_number> now starts with 1 instead of 0.
- removed: <track>/<file> because FUGA delivery supports multiple audio files per track
to be delivered. the delivered files are listed under <track>/<resources>.
- All the changed between 1.1 and 1.2 stated in the previous section