Broadcast Standards: Timing Systems In Cloud Compute Infrastructure

Our broadcast standards focused series on cloud compute infrastructure explores timing domains & reference sources in cloud compute infrastructure and new non-linear timing infrastructure proposals.

In a traditional broadcasting environment, media assets (sound, video, timed-text and metadata) are implicitly synchronized in Real-Time. When the assets are delivered as separate elemental streams through an IP environment, timing is asynchronous and there are no guarantees regarding timing accuracy without intervention. Packets may arrive out of sequence or not at all unless you use additional layers such as TCP to buffer and handshake the incoming data stream. Even then, the timing no longer resembles real-time. Countermeasures must be applied at the destination to resynchronize the assets. This needs careful planning and design with additional timing metadata being inserted at the transmitting end. Latency will still introduce a delay regardless of how well the assets are resynchronized.


“You cannot change the laws of physics” - Montgomery Scott (Star-date 1704.2)

Timing Domains

Timing of media assets is complex. On the one hand, we are care about micro-timing with PTP to ensure frame accurate switching and syncing of sources. On the other hand, timecode for subtitle texts, user navigation and essence metadata can be less precise. Date values become important when we move assets to our archives.

These are the principal domains where timing must be carefully managed:

  • Precision timing - Important when synchronizing multiple element streams. Also, important when converting the time-base from 50 to 60 FPS or vice versa.
  • Sample accurate - Purely monophonic audio is rare so there will be at least two synchronized sound channels. Sample accuracy is important to avoid phase related distortions.
  • Frame accurate - Individual video frames must be synchronized with accompanying audio samples.
  • Timecode offset - Synchronization within the asset is needed for timed-text subtitles, chapter marks and other interactive event-triggering metadata.
  • Origin time values - Indicate the start of the asset. This is used for broadcast scheduling and as a reference timestamp for timecode relative offsets.
  • Date values - Recorded in the metadata for archiving. Content creation dates, modifications and other relevant date information is necessary to maintain content stores and archives.

Video assets may include multiple synchronized picture streams for alternative viewing angles, stereoscopic images and augmented or virtual reality scenes.

Unless the cameras were reliably synchronized to each other for multiple camera angles, some phase offsets for the individual frames might occur. This would be visible if high speed cameras are used to capture motion that is played back at normal frame rates. It might be important for stereoscopic and VR use to avoid unnecessary eyestrain.

Surround-sound systems require 6 channels for 5.1 and 8 channels for 7.1 formats. 8K TV services (NHK) require more than 20 channels of audio to be delivered in phase accurate synchronization.

Reference Time Sources

In order to lock everything in perfect synchronization, a reliable source of reference time signals is needed. There are a variety of solutions to this. Analogue technology could survive some degree of uncertainty and the receiving equipment could generate synchronizing signals internally. This is not feasible with digital systems delivered via IP and an external reference is necessary.

Reference time values are embedded with the transmitted assets and then reconciled at the destination. The receiver can acquire an accurate clock value from the same reference source that the transmission system used. Here are the important reference signals and specifications that are commonly used:

ReferenceDescription
IEEE PTPPrecision Time Protocol.
GNSSGlobal Navigational Satellite System.
GPSGlobal Positioning System.
NTPNetwork Time Protocol. Used to synchronize clocks.
OTNOptical Transport network (for timing).
ITU G.709Interfaces for OTN.
ITU G.8275Architecture and requirements for packet-based time and phase distribution.
SMPTE TimecodeA sequence of numeric codes generated at regular intervals.
UTCUniversal Coordinated Time.
TAIInternational Atomic Time.
TSNTime Sensitive Networking (IEEE 802).

SMPTE Timecode

A long time ago, SMPTE standardized the concept of timecodes. Refer to ST 12 for details of the classic timecode specification. Timecodes are used in film, video and audio production. They can be encoded in a variety of different formats depending on the medium:

MethodDescription
LTCLinear timecode delivered in a separate audio track.
VITCVertical interval timecode carried in the ancillary data in the vertical blanking interval of a video track.
AES3Embedded timecode in digital audio content (optional coupling transformer).
AES-EBUAES3 based embedded timecode in digital audio content (minor hardware difference mandating a transformer for coupling).
Burnt-in timecodeVisible in a human-readable form. Once added, it cannot be removed.
CTLControl track timecode.
MIDI timecodeFor synchronizing musical instruments.
DTS timecodeSynchronizes the optical DTS timecode track from a film projector with the CD-based DTS audio tracks in cinema sound systems.

UTC Timestamps & NTP

UTC time is used in computing systems. Each day is exactly 86400 seconds long. The Network Time Protocol (NTP) will synchronize the internal system clocks to UTC. NTP achieves an accuracy of approximately 10 milliseconds over the Internet and 1 millisecond on a Local Area Network (LAN). NTP can operate using a client-server or peer-to-peer model to exchange messages for synchronization. The messages are sent using UDP protocol on port number 123. This must be left open in the firewall to avoid blocking the time-synchronizing messages.

The UTC timestamp can be represented in a variety of human readable formats. These are defined by ISO and RFC standards. Incoming textual metadata containing date-time values must be parsed to extract the UTC timestamp value. It is much more useful to store the numeric UTC value in a database instead of the human readable date string. Relative time and date/time arithmetic is then easy to calculate. It is also more compact. Here are some example date-time-string formats:

Format UTC Time example
ISO-8601 2025-04-03T09:14:37+00:00
RFC 1123 Thu, 03 Apr 2025 09:14:37 GMT
UTC 2025-04-03T09:14:37Z

 

IEE 1588 - Precision Time Protocol (PTP)

PTP is most useful when endpoints must be closely synchronized without access to GPS timing signals.

PTP version 1 was originally introduced in 2002. The later version 2.0 was released in 2008. Because version 2 is incompatible with version 1, they cannot co-exist on the same network. Version 2.0 introduces the concept of profiles and adds support for IPv6 addressing. Profiles simplify the configuration of services. Version 2.1 is upwards compatible with version 2.0 and adds these features:

  • Security
  • Robustness
  • Monitoring

The standard was completed in 2018 and published in 2019. References to the standard may describe either date.

PTP is delivered via the UDP protocol which has no buffering or handshake support. Packets can arrive out of sequence or not at all. This is only likely to happen on a very congested or saturated network route. PTP requires port numbers 319 and 320 to be opened in a boundary firewall so they can pass through. Event messages are passed via port 319 while general messages are sent via port 320.


Port numbers below number 1024 are allocated to specific services and are called well-known ports.


CategoryProfile NameSee std
GenericDefault Delay Request-Response.IEEE 1588
GenericDefault Peer-to-Peer.IEEE 1588
GenericHigh Accuracy Default Request-Response.IEEE 1588
TelecomsPrecision time protocol telecom profile for frequency synchronization.ITU G.8265.1
TelecomsPrecision time protocol telecom profile for phase/time synchronization with full timing support from the network.ITU G.8275.1
TelecomsPrecision time protocol telecom profile for time/phase synchronization with partial timing support from the network.ITU G.8275.2
BroadcastSMPTE profile for synchronization in a professional broadcast environment.ST 2059-2
AudioAES 67 Media Profile.AES 67
MediaNetworks--Timing and synchronization for Time-Sensitive Applications.IEEE 802.1AS
AnalyticsLAN Extensions for Instrumentation IEEE 1588 Profile.LXI IEEE 1588 Profile
AnalyticsGigE Vision for high performance cameras.AIA GigE Vision 2.1

The profiles introduced at version 2 have been developed for many industry specializations. This sub-set is particularly relevant to broadcasters.

PTP resolution is accurate to less than a microsecond within a Local Area Network (LAN). Transporting messages to other networks will transit through a switch or router. The propagation delay may affect the performance.

PTP is based on the same Epoch as UNIX Time which has a reference starting date of 01-January-1970. UNIX Time is based on UTC values and will be affected by Leap-Seconds. PTP uses International Atomic Time (TAI) which is unaffected by leap-seconds. Be very careful when reconciling PTP time values against timestamps from other sources because they could be inconsistent.

Observe the PTP traffic with network analysis tools such as Wireshark. This is a useful tool for recording network traffic. It can store the entire session in a file for later detailed analysis.

Timing Accuracy & Resolution

The resolution of various time references and the system times on different platforms affects the accuracy of any media synchronization. Here are some examples:

Accessing these time values is also dependent on the programming language and style of execution you use. Applications running in interpreted languages will not be able to match the accuracy of compiled code. Scripting languages such as Python & Perl do have embedded support for more accurate time measurement but this escapes out of the interpreted context to run compiled code extensions. An appropriate expression we use in computing circles is:

“Your mileage may vary.”

PlatformResolution
UTC1 second.
Android1 millisecond.
Apple iOSLess than 1 millisecond.
Apple macOSLess than 1 millisecond.
POSIX standard UNIX1 second, 1 microsecond, 1 nanosecond timers are all available.
Windows1 millisecond and 100 nanosecond timers available.
PTP1 nanosecond resolution phase accurate to 100 nanoseconds.
NTP1 millisecond within a LAN with WAN networks reducing phase accuracy to 100 milliseconds.

Time-Linear vs. Time-Non-Linear

The relationship between audio and video is traditionally maintained in a time-linear fashion which keeps them closely synchronized. This exists in a Real-Time context. Processing must also be carried out in real time with minimum latency introduced. Ingest the media into a non-linear editing tool (NLE) where faster processing is available and synchronization is maintained within the application and regenerated on export.

In an IP based infrastructure, the only places where real-time delivery is mandated are at the ingest (camera and audio sampling hardware) and play out to the viewing public. Everything else can be operated on in a Time-Non-Linear fashion provided the necessary metadata carries precisely timestamped markers.

In a broadcast context, the more you distribute the processes involved, the harder it is to maintain timing accuracy and synchronization. With the introduction of IP based infrastructure, the television content is being moved from a Time-Linear environment to a Time-Non-Linear environment. The transportation of the content is no longer time synchronous. Accurate synchronization is reconstructed as the content is received back into a Time-Linear environment.

The transition from Time-Linear to Time-Non-Linear and back again happens at the cloud compute resource edge where content is uploaded or downloaded. Content moving around within the cloud compute resource or from cloud compute resource to cloud compute resource will remain in a Time-Non-Linear format.

The Video Services Forum (VSF) has published a useful Technical Recommendation TR-11 which describes Signal Transport and Timing Considerations for Ground-Cloud-Cloud-Ground workflows.

Remember, cloud compute resource can be in a private (on or off prem) data center or a public cloud service.

This covers three transitions from one environment to another:

  • From your core systems up to a cloud compute architecture.
  • Exchanges between several separate cloud compute systems.
  • Downloading content from the cloud compute resource, back to your core systems.

TR-11 refers to other VSF published material which is all freely available. Acquire a complete set of their documentation for your reference library.

Moving content to a cloud resource and back again is guaranteed to introduce some latency. This is caused by coding requirements and bandwidth limitations during transport. Buffering at the receiving end is necessary to reconstruct a time-linear output but introduces more latency.

VSF recommends these solutions:

  • H.264 low latency over MP2 Transport Streams, via VSF TR-06 (RIST).
  • JPEG XS as described in TR-07, via VSF TR-06 (RIST).
  • JPEG XS as described in TR-08, managed as described in VSF TR-09.

The TR11 document has expectations of timing accuracy being within 0.005%.

A real-world timestamp needs to be established for the start of the media as it enters the cloud environment. The timestamps may be expressed in different ways depending on the source. Applying an offset allows for latency if it is predictable. The timecode may be embedded within the incoming signal or carried in a separate metadata stream:

  • ST 2110-xx incoming media should adhere to ST 2110-10 (version 2022). This uses an RTP timestamp on the incoming stream.
  • ST 2038 coded VANC data carries an Ancillary Time Code (ATC) extracted from the ST 291 stream.
  • ST 2110-40 uses the same ATC value.
  • In the H.264 stream, the Supplemental Enhancement Information (SEI) carries a timecode value.

Carefully review VSF TR-11 because it goes into great depth about how to implement the upload and download process whilst preserving the timing information.

The GCCF API

The Video Services Forum provides sample code to illustrate how an API is implemented to insert media into a cloud compute based service and retrieve it at the receiving end. This is still a work in progress but is available as open-source from their Git repository.

The API is called the GCCF and integrates your workflow with the content in a web-based service so it can be integrated into your dashboard support more easily.

GCCF can be used with ST 2110 based workflows. The content buffering is designed for compatibility with ST 2110 conventions. Timing information is carried in a Media Element Header structure. The essence data is presented as separate elements as defined in ST 2110:

  • Video buffer.
  • Audio buffer.
  • ANC metadata.

In addition to the send and receive mechanisms, the API also provides support for NMOS interactions. An IS-04 Node API is available and connection management conforms to IS-05 as described in AMWA BCP-004-01.

GCCF also vends a time service based on TAI values (International Atomic Time). These are protected from discontinuities caused by Leap-Seconds. The timestamps are accurate to within 50 microseconds. Phase relationships are also important and the timestamps are regulated to within plus or minus 100 milliseconds of their expected arrival times. The values should continuously increment for each successive read.

There may be some discontinuities where time apparently goes backwards at startup or when corrective events arrive to synchronize everything back to the reference time.

Although it is not yet finished, GCCF would be a good starting point for experimenting with the design of a cloud compute interface from your workflow.

Things That Go ‘Bump’ In The Night

There are a few important points to consider in the context of precise time values. Things can go wrong for very obscure reasons. Traffic in an IP based network moves very rapidly. During a 1 second outage of timing reference signals, many hundreds or even thousands of events and transactions might occur. If these need to be time stamped and logged, serious problems can happen later on downstream if the correct ordering of these events is compromised.

There are multiple reference time sources derived in a variety of different ways. They are somewhat coordinated but there are significant discrepancies between them. 

You must use the same reference source throughout your architecture.

Here are some potential issues that could crop up. Some of these might seem unlikely and very far off but they are important:

PlatformResolution
SI units vs UTCThe duration of an international standard second as defined by the European International System of Units (SI). is slightly different to UTC. SI seconds are based on the behavior of a Caesium-133 atom. UTC is based on Solar Time. The difference is approximately 1 second per year. International Atomic Time (TAI) is an average value derived from 450 atomic clocks and is very accurate. UTC is currently running 37 seconds behind TAI.
Leap-SecondsOccasionally the international community applies a leap-second forward or backwards to realign the clocks with the position of the Earth as it orbits the Sun. Either the preceding or following timecode value is repeated to compensate. This creates a discontinuity and results in a day that is not exactly 86400 seconds long. The engineering team at Meta/Facebook suggests that the leap-seconds can be adjusted in much smaller increments over several hours adding or subtracting a few milliseconds at a time. This technique is called smearing.
Daylight SavingDaylight Saving time is not universally applied worldwide. It either omits or repeats a whole hour. Metadata tagging assets with UTC timestamps is more robust. Human readable time strings would be problematic and need to include time zone and DST value to be parsed unambiguously. By comparison, UTC is simple and just requires an integer value.
Time zonesMost time zones are exactly 1 hour apart. A rare few are offset by half an hour. Some large countries span several time zones. The USA has six while China has one even though it spans 5 geographical time zones.
Religious calendarsSome countries observe different reference starting years. Dates in Ethiopia are 7 years behind the rest of the world.
UTC vs System TimeUTC is designed to increment in 1 second intervals. This is not accurate enough for media synchronization. It is fine for regulating clocks (System Time) inside a computer. The accuracy varies according to the operating system.
Year 2038 problemTimestamps are represented as integer values. They might be signed or unsigned and can be 32-bits long (or 64-bits in more modern systems). These values have a limited range and eventually they wrap around with an implied carry over that is not stored. In 2038, a lot of UTC based systems will ‘run out of time’ unless they are fixed beforehand. The consequences are similar to Y2K but for a different reason. Fifteen years might seem a long way off but systems that look ahead to dates in the future will be affected earlier. Content licensing deals for example might be affected as soon as 2033 when negotiating 5-year deals.
NetworksNetworks can sometimes introduce latency which reduces the accuracy of clock signals.
TIA valuesThese may occasionally go into reverse when starting up or resynchronizing to a TIA time service.

Related Standards, Acronyms & Guidelines

The documents and acronyms listed below are relevant to time related services in an IP based broadcast context:

DocumentEditionDescription
AES 672018AES67 Audio Media Profile.
AMWA BCP-004-012021-04NMOS Receiver Capabilities.
AMWA BCP-006-012023-02NMOS with JPEG XS.
AMWA BCP-007-01In progressNMOS with NDI.
AMWA IS-04Version 1.3.3NMOS Discovery and Registration Specification.
AMWA IS-05Version 1.1.2NMOS Device Connection Management Specification.
GigE VisionVersion 2.2Automated Imaging Association (AIA) GigE Vision profile for the Gigabit Ethernet communication protocol. Version 3 is in progress.
GNSS-Global Navigation Satellite Systems. Various types including GPS.
IEEE 802.1AS2020The gPTP time protocol is adapted from IEEE 1588 for use with Audio Video Bridging (AVB) and Time-Sensitive Networking (TSN). Includes a definition of the Audio/video mixed media profile.
IEEE 10032024POSIX edition 8.
IEEE 15882019Version 2.1 of the Precision Time Protocol (PTP). Also published by the open group. Free to access and download.
IEEE 17222016Layer 2 Transport Protocol Working Group for Time Sensitive Streams.
ISO 8601-12019Date and time format - Basic rules.
ISO 8601-22019Date and time format - Extensions.
ISO 99452009The POSIX operating system contains definitions of timing sub-systems. Updated in 2013 and 2017.
ITU G.7092020Interfaces for the Optical Transport Network (OTN).
ITU G.7982024Characteristics of Optical Transport Network (OTN).
ITU G.8722024Architecture for the Optical Transport Network (OTN).
ITU G.82512022The Control of Jitter and Wander within the Optical Transport Network. Updated in 2023 and 2024.
ITU G.8262:2024Signal interruptions and Discontinuities.
ITU G.8265.12010PTP telecom profile for frequency synchronization.
ITU G.8271.22020Network limits for time synchronization in packet networks with partial timing support from the network. Updated in 2024.
ITU G.8273.22023Timing characteristics of telecom boundary clocks and telecom time follower clocks.
ITU G.8273.32023Timing characteristics of telecom transparent clocks.
ITU G.82752024Architecture and requirements for packet-based time and phase distribution.
ITU G.8275.12024PTP telecom profile for phase/time synchronization with full timing support from the network.
ITU G.8275-22024PTP telecom profile for time/phase synchronization with partial timing support from the network.
LXI IEEE 1588 Profile2018AES67 Audio Media Profile.
2008-12Version 1 of the LAN eXtensions for Instrumentation (LXI) Profile.
NTP1981Network Time Protocol. See RFC 5905.
OTN2020Optical Transport Network. See ITU-T G.709.
POSIX2024Portable Operating System Interface. Originally standardized as IEEE 1003 part 1 in 1988. Also standardized as ISO 9945. Developed in collaboration with The Open Group.
RFC 11231989Requirements for Internet hosts.
RFC 59052010Network Time Protocol V4: Protocol and Algorithms Specification.
RFC 83312018RTP Payload for Society of Motion Picture and Television Engineers (SMPTE) ST 291-1 Ancillary Data.
SI1960International System of Units defines a standard second. In 2019, the standard was revised to eliminate the physical reference artefacts which had mysteriously changed (size and mass of the reference kg).
SMPTE EG-402016Conversion of Time Values between SMPTE ST 12-1 Time Code, MPEG-2 PCR Time Base and Absolute Time.
SMPTE RP 2012008Encoding Film Transfer Information Using Vertical Interval Time Code.
ST 122014SMPTE Timecode. A sequence of numeric codes generated at regular intervals.
ST 12-12014Time and Control Code.
ST 12-22014Transmission of Time Code in the Ancillary Data Space.
ST 12-32016Time Code for High Frame Rate Signals and Formatting in the Ancillary Data Space.
ST 2662012Digital Component Systems – Digital Vertical Interval Time Code.
ST 2059-22021SMPTE profile for synchronization in a professional broadcast environment.
ST 2110-102022System architecture and synchronization.
ST 2110-212022Traffic-shaping and network delivery timing.
ST 2110-432021Transport of Timed-Text Markup Language (TTML) for captions and subtitles.
UTC Epoch2001Ratified by the POSIX standard.
VSF TR-062022Reliable Internet Stream Transport (RIST) Protocol Specification – Main Profile.
VSF TR-072022Transport of JPEG XS Video in MPEG-2 TS over IP.
VSF TR-082022Transport of JPEG XS Video in ST 2110-22.
VSF TR-092022Transport of ST 2110 Media Essences over Wide Area Networks - Data Plane.
VSF TR-092022Transport of ST 2110 Media Essences over Wide Area Networks - Control Plane.
VSF TR-112024Ground-Cloud-Cloud-Ground (GCCG) Signal Transport and Timing Considerations. Currently at draft stage.

Conclusion

There are subtle aspects related to timing reliability in media systems. If the correct approach is used these problems can be avoided altogether. Using Atomic Time (TIA) based regimes is helpful. Storing timestamps in a machine-readable format is also a good idea and avoids time zone and daylight savings issues where sub-optimal date-time parsers are deployed for timestamp conversion.

All programming languages have date-time support. Most of these are based on conventions developed a long time ago in the ANSI Standard C-Language. They are accessed via the Standard Library.

Web server middleware platforms such as PHP are based on the same library and function names with some influences also from the BASH shell scripting environment. Familiarity with C-Language and BASH will accelerate your understanding of PHP.

The GCCF API will prove very useful as a foundation for developing cloud compute integration with your existing workflow dashboards.

Part of a series supported by

You might also like...

Building Software Defined Infrastructure: Monitoring Microservices

Breaking production systems into individual microservice based processors, requires monitoring over IP via RESTful APIs and a database system to capture the results.

Monitoring & Compliance In Broadcast: Monitoring QoS & QoE To Power Monetization

Measuring Quality of Experience (QoE) as perceived by viewers has become critical for monetization both from targeted advertising and direct content consumption.

IP Monitoring & Diagnostics With Command Line Tools: Part 5 - Using Shell Scripts

Shell scripts enable you to edit your diagnostic and monitoring commands into a script file so they can be repeated without needing to type them manually every time. Shell scripts also offer some unique and powerful features that help to…

Building Software Defined Infrastructure: Observability In Microservice Architecture

Building dynamic microservices based infrastructure introduces the potential for variable latency which brings new monitoring challenges that require an understanding of observability.

Broadcast Standards: Kubernetes & The Architecture Of Cloud Compute Based Systems

Here we describe Kubernetes and the taxonomy of containerized architecture based cloud compute system designs it manages.