In the early days of the internet, video advertising was primarily implemented through Flash animations or GIF images on websites. These ads were typically static and lacked sound or animated effects.
With the development of internet technology, advertisements started to integrate more with the video content itself and could be inserted before the video playback (pre-roll), during the video playback (mid-roll), or after the video ends (post-roll). The choice of ad placement depends on the video service provider and the desired combination of ad positions. They can also choose to combine videos into ad pods, allowing advertisers to play multiple ads consecutively during the ad slot.
In the field of streaming media advertising, there are two methods for inserting ads into videos: Client-Side Ad Insertion (CSAI) and Server-Side Ad Insertion (SSAI).
CSAI is a method of delivering ads to the client-side, where the client (video player) directly requests ads from the ad server when it detects ad markers in the video stream or playlist. The ads are then played during the specified time slots.
When the ad server receives a request from the client, it uses data analysis to deliver the appropriate ads to the specific client and responds with the ad information. Subsequently, the video player pauses the video, plays the ad, and then resumes video playback.
basic flow of CSAI
SSAI is also an ad insertion method: Unlike CSAI, which inserts ads on the client-side, SSAI directly splices the ad media files into the video stream on the server-side (instead of the client-side).
The advantage of SSAI lies in its resistance to blocking or tampering, as the client-side does not need to make server API calls to initiate ad insertion. In CSAI, the client needs to send API calls to the ad server, which can be easily blocked by plugins or other means, thereby reducing the revenue for content publishers.
In SSAI, all operations are performed on the server-side, and ads are directly inserted into the video stream, making it impossible to be blocked. However, SSAI has a more complex workflow and requires higher stability and quality standards for the server-side.
basic flow of SSAI
As mentioned earlier, both CSAI and SSAI require the program to be able to recognize ad cue points, which can be achieved through SCTE-35.
SCTE-35 is a digital broadcasting standard developed by the Society of Cable Telecommunications Engineers (SCTE) in the United States. It is used to insert and transmit time and event information in digital video broadcasting. The SCTE-35 standard defines a binary message format for identifying upcoming ad insertion points and ad termination points within a video stream. This enables ads to be seamlessly inserted and removed from the video stream without affecting the continuity of the video.
SCTE-35 diagram
SCTE-35 consists of a SpliceInfoSection, which can be represented as structured data in XML or binary format. The SCTE-35 standard defines various specific time types and fields, with common types being splice_time and time_signal, which will not be further elaborated here.
The ad insertion process requires parsing XML and generating corresponding tags and metadata within the MPEG-TS encapsulated video stream.
SCTE-35 tags are also supported in HLS/DASH manifests, indicating the switch to ad content at specified time intervals. Here, let's take HLS as an example to introduce several commonly used tags.
Here are two examples.
SCTE-35 in HLS
SCTE-35 in DASH
Once the event identifier is available, the program, upon recognition, needs to retrieve ad information from the ad decision service. This is where the standard between the ad player (or an ad insertion server) and the ad decision service comes into play.
VAST (Video Ad Serving Template), VPAID (Video Player-Ad Interface Definition), and VMAP (Video Multiple Ad Playlist) are the primary advertising service standards established by the Interactive Advertising Bureau (IAB). By utilizing these standards, the entire advertising ecosystem operates seamlessly in the process of creating, editing, delivering, and tracking ads.
Here, we primarily introduce the fundamental and crucial standard, VAST. It serves as the standard between the ad player and the ad serving service, an open protocol developed by the Interactive Advertising Bureau (IAB). VAST aims to connect content creators, content distributors, and ad trackers. Initially created by DoubleClick, VAST became the advertising standard for YouTube after being acquired by Google and has since become the de facto industry standard.
VAST supports multiple ad formats:
VAST contains the following key points:
On Tencent MPS Stream Service, it is possible to implement CSAI (Content-Segmented Ad Insertion) based on SCTE-35 event signaling, as well as dynamic ad insertion based on SSAI (Server-Side Ad Insertion). Below are the playback comparison results from four different players after ad insertion using Tencent's Stream Service platform. As shown, each player inserted different ad videos at the same playback time point.
There are two ways in which Stream Service generates SCTE-35 markers. The first method is when using MPEG-TS streaming protocols such as RTP/SRT/UDP, where the source stream already contains SCTE-35 data. In this case, Stream Service can be configured to pass through the SCTE-35 data (SCTE-35 passthrough) and generate corresponding protocol tags in HLS/DASH playback protocols.The second method involves using Stream Service's scheduling and orchestration feature. It allows for the insertion of desired SCTE-35 events at specified times or the current moment (SCTE-35 insert), followed by further processing.
The approximate workflow of SSAI is as follows:
Additionally, if using the CSAI method, the player needs to support SCTE-35 parsing and VAST standard to retrieve the ad video URL. If using the SSAI method, where insertion and replacement are done on the server-side, the player does not require any special mechanisms and can support regular HLS or DASH playback (with support for parsing the EXT-X-DISCONTINUITY tag).
If you have relevant business needs or would like to further understand Tencent MPS, please let us know. You are welcome to Contact Us for more information.