Please see the TVDNS wiki page for notes, examples and discussion relating to the TVDNS specification.
TVDNS is a mechanism for connected receivers to construct a fully-qualified domain name (FQDN) for a particular broadcast service — typically, but not necessarily, a television station.
TVDNS is an extension to RadioDNS, and is defined along
the same lines: the TVDNS specification defines an additional root domain
(tvdns.net), and a mapping scheme which formulates a FQDN based
upon specific values from the DVB Service Information (SI).
Once a fully-qualified domain name has been constructed, a connected device
can perform DNS lookups in order to locate IP-delivered applications relating
to that station. These applications are principally advertised by way of SRV
records. Further background can be found on the RadioDNS website.
TVDNS allows a content provider to offer ancilliary services and content without requiring modifications to the broadcast stream. This is especially important for smaller broadcasters for whom the finer detail of delivery is outsourced to a third party, or in situations where inserting additional information into the broadcast stream might otherwise be logistically problematic.
TVDNS is broadly agnostic: although it is specified here for DVB-based broadcasting systems, it would also be generally applicable to other systems, such as ATSC and ISDB.
TVDNS is inherently reliant upon a single party and the resources of that party in order to function: the operator of the domain name used as a root in all TVDNS-generated domain names is ultimately responsible for ensuring that a stable and consistent service is available. For some broadcasters, it might be preferable to instead provide a domain name which is used as a service-discovery target as part of the Service Description Table (SDT) contained within the broadcast stream — this would allow receivers to make the association between a broadcast service and a set of applications advertised through a DNS domain name operated by the broadcaster without involving a third party.
The TVDNS specification is defined as a set of amendments to the RadioDNS Technical Specification (RDNS01 v0.6.1 — 2009-06-15) (PDF).
Replace:
In this document the domain “
radiodns.org” is used solely to illustrate a unique namespace against which to prepend service parameters to create a resolvable FQDN.
with:
In this document the domains “
radiodns.org” and “tvdns.net” are used solely to illustrate unique namespaces against which to prepend service parameters to create resolvable FQDNs.
Replace diagram first box caption:
Construct “radiodns.org” URI and query DNS
DNS returns a
CNAME
with:
Construct “radiodns.org” or “tvdns.net” fully-qualified domain name and perform an
ANYDNS queryDNS may return
CNAME,DNAME, orNSrecords
Replace diagram second box caption:
Query DNS using returned
CNAMEto locateSRVrecords
with:
If a
CNAMEwas returned, query DNS within theCNAMEtarget to locateSRVrecords
Append new section:
The DVB family of broadcasting systems identify services through a combination of several 16-bit unsigned integer identifiers: a
network_idand anoriginal_network_id, which are assigned by and registered with DVB Services, and atransport_stream_idandservice_id, both of which are assigned by the registrant of thenetwork_idvalue. The combination of these three values identifies a particular service, although a given service might be assigned different combinations of identifiers in different broadcasting regions, and may be broadcast by multiple distinct platforms each with their ownnetwork_idregistration and internal identifier assignments.The FQDN for a DVB service is compiled as follows:
<network_id>.<service_id>.<transport_stream_id>.<original_network_id>.dvb.tvdns.net.The parameters are populated as follows:
Parameters Description Value Status network_idNetwork Identifier The network identifier assigned to the network by DVB Services, or an internally-assigned network identifier taken from the “reusable” network identifier blocks 4-digit hexadecimal mandatory service_idService Identifier The service identifier assigned by the platform to a particular station. 4-digit hexadecimal mandatory transport_stream_idTransport Stream (TS) Identifier The transport stream identifier assigned by the platform to a particular station. 4-digit hexadecimal mandatory original_network_idOriginal Network Identifier (ONID) The ONID assigned to the platform by DVB Services 4-digit hexadecimal mandatory The device should acquire the values for
original_network_id,network_id,transport_stream_idandservice_idfrom the DVB/MPEG Transport Stream.The
original_network_id,network_id,transport_stream_idandservice_idvalues are contained within the Network Information Table (NIT) defined by ETSI EN 300 468 “Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems”.
Replace:
A
CNAMErecord unique to each radio service provider must be defned and used to deliver streaming content so thatSRVrecords can be held against this domain instead.
with:
In order to perform application discovery, a client will perform an
ANYDNS query against the FQDNs1.stream.provider.net.. This FQDN may be aCNAME(unique to each service) to ease domain management, withSRVrecords associated with the domain name that is the target of theCNAME. In this case applications must query forSRVrecords within the domain that is the target of theCNAME, rather than the original FQDN.
Remove the following paragraph:
Devices must lookup
SRVrecords on the inital FQDN that the stream is located and not the resultng domain aferCNAMEresoluton.
Replace:
Once the relevant
CNAMErecord has been derived for a service based on the details above, it is antcipated that broadcasters will advertse available applicatons through the use ofSRVrecords associated with that domain record.
with:
Once the relevant fully-qualified domain name has been determined for a service based upon the details above, it is anticipated that broadcasters will advertise services through the use of
SRVrecords associated with that domain. Broadcasters may make use ofCNAMEorDNAMErecords, delegations, or wildcards in order to simplify domain management processes. The implementation of application discovery should first perform anANYquery against the fully-qualified domain name for the service, and if this results in aCNAMErecord being returned, query for applicationSRVrecords within the target of thatCNAME.
In the list headed “For IP delivered services:”, replace:
4. Client connects and streams from resolved address
http://stream.musicradio.com/stream.mp3
with:
4. Client resolves
stream.musicradio.comto a host address.5. Client establishes an HTTP connection to the host and begins streaming
/stream.mp3, specifying aHost:request header offabfm.musicradio.com.