SyncTV uses only open standards for all communication protocols and data formats. We also strive for simplicity in our system design. The following is a description of all communication and data format standards necessary to run a world-class Internet content service. All standards must be freely available and governed by an industry consortium or international standards body. Where no equivalent standard exists for a specific function, such as Storefront RSS, SyncTV has published the standard under Creative Commons license.


SyncTV clients which provide direct user access to the SyncTV storefront (SyncTV storefront clients) must support the HTTP 1.1 protocol standard as well as the SUAE user-agent extensions to HTTP. Such clients must include the SUAE User-agent extension in all HTTP requests, and must be capable of interpreting the SETH Breadcrumbs, Search-base and Service-info HTTP response extensions. The SUAE specification is located here.

SyncTV clients must use "synctv" as the service name in the SUAE User-agent extension, and the allowed mode values are "tv" for tv oriented clients or "desktop" for desktop oriented clients. The id value must be equal to the device id string registered with the SyncTV service.


SyncTV storefront clients which use the SyncTV storefront user interface must include web browsing capability for all navigation of the storefront. The web browsing function must have support for XHTML 1.0 Strict or Transitional, ECMA-262 Edition 3 (JavaScript), DOM 2, and CSS 2.1.

SyncTV clients which provide direct user access to the SyncTV storefront must support the SETH extensions to HTTP. Such clients must be capable of interpreting the SETH breadcrumbs, searchBase and serviceInfo HTML extensions. The SETH specification is located here.

SyncTV clients must support the following SETH searchBase scope values: "netcast", "channel", "tvshow" and "movie". If multiple scope values are supplied in the searchBase element, any scope values after the first may be ignored.

SyncTV clients must correctly interpret the SETH serviceInfo element having a service name "synctv", and the service version must be checked against the client's maximum service version supported. If the service version is larger than the maximum version supported by the client, then the client must immediately check for an available software update via SSUP or vendor-specific method.


RSS

SyncTV storefront clients must use RSS to track episodes of shows within a season or volume set. The RSS 2.0 specification can be obtained here. Such SyncTV clients must support the following RSS 2.0 elements.

Within the <channel> element:

<title> (ex.: “Season 1”; also required for RSS 2.0 compliance)
<link> (ex.: “nbc.com”; also required for RSS 2.0 compliance)
<image> (icon image URL)
<description> (full volume or season description; also required for RSS 2.0 compliance)

Within the <item> element:

<title> (episode name, ex.: “The White Rabbit”; also required for RSS 2.0 compliance)
<description> (full episode description)
<pubDate> (date first aired, ex.: “Tue, 07 Nov 2006 00:00:01 GMT”)
<language> (usually “en-us”)
<copyright> (ex.: “2006 NBC Universal”)
<enclosure> (includes the URL to download the episode, length in bytes and type=“video/mpeg”)
<category domain="synctv.com/namespace/category"> (ex: “comedy:standup”)
<guid> (SyncTV content id number, ex.: “34258”)

Additionally, a SyncTV storefront client must support the additional elements defined by the SyncTV Netcast RSS, Storefront RSS and Media RSS extensions to the RSS 2.0 specification. The SyncTV Netcast RSS specification is located here. The Storefront RSS specification is located here. The Media RSS specification can be obtained here. A SyncTV client is required to support both the <enclosure> and Media RSS <media> elements to represent content items. If both are discovered within the same <item> element, then the <media> element should be used.


A SyncTV storefront client must support the SRX-based XML messaging protocols described in this section. SyncTV clients must be capable of handling UTF-8 character encoding in the SRX response. SyncTV clients must handle the serviceInfo element with name attribute equal to "synctv" in an SRX response. The client must compare the version attribute value to the maximum version supported by the client. If the version reported by the service is larger, the client should notify the user of a possible incompatibility between the client and the current service version. A SyncTV storefront client must support store login, device authorization, purchase and rental transactions, content download requests and preview requests via the methods defined by the SCTP standard. The SCTP protocol specification is located here.

A SyncTV storefront client must support subscription activation, cancellation, as well as subscription information requests via the methods defined by the SCSP standard. The SCSP protocol specification is located here.

A SyncTV storefront client must support advertisement queries and retrieval via the methods defined by the SARP standard. For ad supported content (such as subscription-based content), a SyncTV storefront client must embed SARP ad map data into downloaded content files and must embed SARP target map data into downloaded ad files. The SARP protocol specification is located here.

A SyncTV storefront client must support system message retrieval via the methods defined by the SWMP standard. The SWMP protocol specification is located here.

A SyncTV storefront client may support software update requests via the methods defined by the SSUP standard. The SSUP protocol specification is located here.


All SyncTV clients must support the H.264 video standard, including support for high profile and AAC LC audio (low complexity AAC). Playback of video at "Standard" quality must be supported. Playback of video at "HD" and "Full HD" resolutions is optional. The following is a list of possible video resolutions (with associated Storefront RSS quality values):

 640x480 or 640x352 (quality = "Standard")
 1280x720 (quality = "HD")
 1920x1080 (quality = "Full HD")

The file format is MP4 as defined by the MPEG-4 standard. For more information about MPEG-4 go to the MPEG site. For more information about H.264 go to the ITU-T H.264 site.


For the best user experience SyncTV understands that the best DRM is no DRM. That said, SyncTV is required to protect a large portion of the available video content as part of our obligation to the content licensers. For DRM protected content SyncTV requires that all SyncTV clients support the Marlin open standard DRM system. As such Marlin broadband certification is a prerequisite of SyncTV device certification. The MP4 video files are formatted to include the Marlin metadata according to the OMA specification. Details of the Marlin specification are located at Marlin Developer Community web site. All protected content provided by SyncTV is delivered to the SyncTV client encrypted, and a SyncTV storefront client must embed Marlin license data into the protected content file. SyncTV supports the following usage models for DRM content: purchase, rental and subscription.


SyncTV allows digital streaming of TV shows and movies between devices within the home using DLNA standard protocols for device to device communication over a home network. For more information about DLNA go to the DNLA web site.


SyncTV allows digital streaming output of protected content from authorized devices within the home via standard DVI-D at SD quality, and via HDCP (over DVI-D and HDMI) at any quality. For more information about HDCP go to the Digital Content Protection web site.

Additionally, SyncTV allows digital streaming output of protected content from authorized devices within the home using the DTCP (over USB, 1394, Bluetooth and MOST links) and DTCP-IP (over Ethernet and 802.11 links) secure transport standards. For more information about DTCP go to the DTLA web site.