Sequence of video ad


Here is a sample sequence, using preroll as an example.
get VMAP, Video Multiple Ad Playlist, form DFP, e.g. vmap.xml, which has preroll midroll ad.
vmap.xml look like this, with URLs for preroll:
<vmap:VMAP
<vmap:AdBreak
<vmap:AdTagURI
https://pubads.g.doubleclick.net/gampad/ads?url=https://developers.google.com/&#8230;

The AdTagURI above returns a preroll ad, which is a VAST, e.g. vast.xml, and looks like the following:
<!–?xml

<?xml
<VAST
<Ad id=”7096…..”>
<InLine>
<Impression> https://securepubads.g.doubleclick.net/pcs/view?xai=AKA
<Creatives>
<Creative id=”578610…..
<Linear>
<Duration>00:00:10
<TrackingEvents>
<Tracking event=”start”> https://pubads.g.doubleclick.net/pagead/ai=BZK9Sr&#8230;
<VideoClicks>
<ClickThrough id=”GDFP”> https://pubads.g.doubleclick.net/pcs/click?xai=AK&#8230;
<MediaFiles>
<MediaFile id=”GDFP” https://redirector.gvt1.com/video../id/5bad…/file.mp4

Some of the key fields are:
Impression: call this URL to tell that this ad has been viewed.
Tracking: call this URL to tell that the video ad has started playing
ClickThrough: the URL to go to when the ad is clicked.
MediaFiles: the .mp4 if the video ad

For JW Player, vast.xml is passed into Setup() as:
advertising.schedule.adbreak1.tag, with adbreak1.offset=pre

Advertisements

SSAI


Here is one way of doing SSAI, Server Side Ad Insertion
Encoder outputs with SCTE35 metadata track gets translated to HLS.
Live video input in HSL origin.m3u8, with markers like this:
#EXT-X-VERSION:3
#EXT-X-CUE-OUT:9 ad time start here, for 9 seconds
#EXT-X-CUE-OUT-CONT:ElapsedTime=4,Duration=9 ad time 4 seconds passed
…more EXT-X-CUE-OUT-CONT
#EXT-X-CUE-IN ad time ends
Ad insertion service replace the things like EXT-X-CUE* with ad segments ad.ts
Ad insertion service output regular playlist dai.m3u8
Player requests dai.m3u8, which includes things like movie234.ts and ad23.ts
Player requests movie234.ts from CDN, and ad23.ts from Ad insertion service

Pros:
More reachable players: Player doesn’t have to do the stitching since server does it
Harder to block the ads:
Hard to detect ads: No calls are made to DFP asking what ad to play
There is no ready-to-use movie stream

Cons:
More likely fraud: no need to fake many players; just fake the server.
since the server sends ad impression tracking on the player’s behalf, even with X-Forwarded-For

CSAI


Client side ad insertion flows like this:
Video comes in with SCTE35 to indicate ad breaks.
Client send VAST request to DFP for ad video URL.
Insert the ads video into main video.
Video experience is not as good due to delay and different resolution and FPS.
These ads can be blocked too by detecting ad video from known ad server.

Windows Manager


The role WM is not obvious in Window 10 and Gnome when mixed with desktop.
The GUI applicatin, guix in last post, cannot be moved/resized without WM.
dwm is used as WM here.
Install the binary: apt-get install dwm, $ dwm & to run it, through ssh.
Run  guix from ssh: $ guix Handstand1903.xbm
Run stterm by shortcut from vcxsvr: AltShiftEnter
Resize and drag guix:
on vcxsvr, dwm showing 1 2 … 9 tags.
Alt left mouse to drag, Alt right mouse to resize.
dwm draws guix’s tilte bar, which says “Titlebar not there by default” in guix.
guix doesn’t have to be started by WM, e.g. Alt-P, in order to be decorated by WM.

dwm