@latest-thinking/lt-player 1.1.0-r → 1.1.0-t
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ README.md +1 -0
- package/dist/css/lt-player-main.css +1 -1
- package/dist/css/lt-player-main.css.map +1 -1
- package/dist/js/lt-player-main.js +1 -1
- package/dist/js/lt-player-main.js.map +1 -1
- package/examples/lt-page-with-player.html +3529 -0
- package/examples/lt-page-with-player_files/Weiskopf_Coverphoto.jpg +0 -0
- package/examples/lt-page-with-player_files/ajax-progress.module.css +49 -0
- package/examples/lt-page-with-player_files/align.module.css +32 -0
- package/examples/lt-page-with-player_files/announce.js +49 -0
- package/examples/lt-page-with-player_files/autocomplete-loading.module.css +22 -0
- package/examples/lt-page-with-player_files/autocomplete.css +16 -0
- package/examples/lt-page-with-player_files/bootstrap.css +22691 -0
- package/examples/lt-page-with-player_files/clearfix.module.css +15 -0
- package/examples/lt-page-with-player_files/container-inline.module.css +16 -0
- package/examples/lt-page-with-player_files/cookiesjsr.min.css +10 -0
- package/examples/lt-page-with-player_files/core.css +97 -0
- package/examples/lt-page-with-player_files/details.module.css +10 -0
- package/examples/lt-page-with-player_files/fieldgroup.module.css +9 -0
- package/examples/lt-page-with-player_files/hidden.module.css +53 -0
- package/examples/lt-page-with-player_files/himme-alexander-beyond_0.jpg +0 -0
- package/examples/lt-page-with-player_files/item-list.module.css +19 -0
- package/examples/lt-page-with-player_files/js.module.css +22 -0
- package/examples/lt-page-with-player_files/latest_thinking.style.css +6496 -0
- package/examples/lt-page-with-player_files/logo-small.png +0 -0
- package/examples/lt-page-with-player_files/lt-player.css +3795 -0
- package/examples/lt-page-with-player_files/menu.css +64 -0
- package/examples/lt-page-with-player_files/nowrap.module.css +8 -0
- package/examples/lt-page-with-player_files/paragraphs.unpublished.css +3 -0
- package/examples/lt-page-with-player_files/position-container.module.css +8 -0
- package/examples/lt-page-with-player_files/progress.module.css +51 -0
- package/examples/lt-page-with-player_files/radix.style.css +1 -0
- package/examples/lt-page-with-player_files/reset-appearance.module.css +15 -0
- package/examples/lt-page-with-player_files/resize.module.css +21 -0
- package/examples/lt-page-with-player_files/search_api_autocomplete.css +41 -0
- package/examples/lt-page-with-player_files/sticky-header.module.css +13 -0
- package/examples/lt-page-with-player_files/system-status-counter.css +30 -0
- package/examples/lt-page-with-player_files/system-status-report-counters.css +27 -0
- package/examples/lt-page-with-player_files/system-status-report-general-info.css +14 -0
- package/examples/lt-page-with-player_files/tabledrag.module.css +98 -0
- package/examples/lt-page-with-player_files/tablesort.module.css +19 -0
- package/examples/lt-page-with-player_files/theme.css +446 -0
- package/examples/lt-page-with-player_files/thumbnail_MPI_CBS_Eingangsbereich.jpg +0 -0
- package/examples/lt-page-with-player_files/tree-child.module.css +18 -0
- package/examples/lt-page-with-player_files/widget-min.js +10 -0
- package/examples/lt-website.html +76 -0
- package/examples/portrait-with-subtitles.html +1 -0
- package/examples/samples/vtt/Sobolev-Anton-Subtitles-20230518_0.vtt +352 -0
- package/package.json +1 -1
- package/src/assets/sass/abstracts/_variables.scss +1 -1
- package/src/assets/sass/components/_all.scss +1 -1
- package/src/assets/sass/components/_loader.scss +70 -0
- package/src/assets/sass/core/_player.scss +3 -1
- package/src/assets/sass/sections/_additional-info.scss +1 -1
- package/src/assets/sass/sections/_settings.scss +1 -1
- package/src/assets/sass/sections/_subtitles.scss +50 -11
- package/src/assets/sass/sections/controllers/_botom.scss +43 -20
- package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +12 -1
- package/src/components/LTPlayerManager.ts +16 -0
- package/src/components/LTPlayerStatusFeedback.ts +68 -0
- package/src/components/LTPlayerUpdate.ts +3 -9
- package/src/components/captions/LTPlayerCaptions.ts +64 -0
- package/src/components/config/LTPlayerConfig.ts +10 -0
- package/src/components/config/LTPlayerConfigProcessor.ts +2 -1
- package/src/components/controls/LTPlayerChapters.ts +7 -3
- package/src/components/controls/LTPlayerControlsEvents.ts +63 -58
- package/src/components/controls/settings/LTPlayerCommonSettingsControllers.ts +7 -1
- package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +4 -5
- package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +40 -44
- package/src/components/events/LTPlayerCommon.ts +46 -1
- package/src/components/events/LTPlayerDesktop.ts +8 -8
- package/src/components/events/LTPlayerMobile.ts +8 -11
- package/src/global/controllers/LTPlayerController.ts +7 -0
- package/src/services/Helper.ts +5 -1
- package/src/services/TemplateService.ts +5 -0
- package/src/views/settings.handlebars +1 -1
- package/src/views/settings.mobile.handlebars +20 -0
- package/src/views/template.handlebars +3 -0
- package/src/assets/sass/components/_spinner.scss +0 -46
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
WEBVTT
|
|
2
|
+
|
|
3
|
+
00:00:10.510 --> 00:00:15.850
|
|
4
|
+
These days, no matter where you go online, whether you spend time on social networks
|
|
5
|
+
|
|
6
|
+
00:00:16.030 --> 00:00:21.775
|
|
7
|
+
or read your favorite online magazines or newspapers, you get bombarded by thousands of ads.
|
|
8
|
+
|
|
9
|
+
00:00:21.775 --> 00:00:28.270
|
|
10
|
+
Millions of websites such as digital media websites monetize their content by running ads.
|
|
11
|
+
|
|
12
|
+
00:00:28.270 --> 00:00:31.540
|
|
13
|
+
Some of these ads can be quite valuable for consumers,
|
|
14
|
+
|
|
15
|
+
00:00:31.540 --> 00:00:36.632
|
|
16
|
+
but the overwhelming volume of these ads can quickly become disturbing.
|
|
17
|
+
|
|
18
|
+
00:00:36.632 --> 00:00:39.812
|
|
19
|
+
This is the place where ad blockers, simple software programs,
|
|
20
|
+
|
|
21
|
+
00:00:39.812 --> 00:00:45.002
|
|
22
|
+
come into play in order to prevent ads from being displayed to users.
|
|
23
|
+
|
|
24
|
+
00:00:45.002 --> 00:00:48.602
|
|
25
|
+
The adoption of ad blockers is becoming more widespread.
|
|
26
|
+
|
|
27
|
+
00:00:48.602 --> 00:00:52.862
|
|
28
|
+
Recent surveys have shown that 40% of internet users in Germany
|
|
29
|
+
|
|
30
|
+
00:00:53.372 --> 00:00:59.373
|
|
31
|
+
and 35% of internet users in the US have installed ad blockers on their desktop devices.
|
|
32
|
+
|
|
33
|
+
00:00:59.373 --> 00:01:01.835
|
|
34
|
+
So how do ad blockers make money?
|
|
35
|
+
|
|
36
|
+
00:01:01.835 --> 00:01:07.205
|
|
37
|
+
So among different methods of how ad blockers can generate revenues, they often use so-called whitelisting.
|
|
38
|
+
|
|
39
|
+
00:01:07.205 --> 00:01:13.596
|
|
40
|
+
Under whitelisting, publishers are allowed to show their ads to the consumers.
|
|
41
|
+
|
|
42
|
+
00:01:13.596 --> 00:01:20.421
|
|
43
|
+
For instance, Adblock Plus, a dominant ad blocker in Germany with 95% market share,
|
|
44
|
+
|
|
45
|
+
00:01:20.421 --> 00:01:27.981
|
|
46
|
+
asks publishers for 30% of their additional advertising revenue if they want to become whitelisted.
|
|
47
|
+
|
|
48
|
+
00:01:27.981 --> 00:01:31.806
|
|
49
|
+
While ad blockers can be widely appreciated by users,
|
|
50
|
+
|
|
51
|
+
00:01:31.806 --> 00:01:38.499
|
|
52
|
+
they pose a serious threat to publishers who rely on ad financing.
|
|
53
|
+
|
|
54
|
+
00:01:38.499 --> 00:01:44.889
|
|
55
|
+
Additionally, ad blockers affect the way advertisers place their ads in the advertising market,
|
|
56
|
+
|
|
57
|
+
00:01:44.889 --> 00:01:49.929
|
|
58
|
+
and this in turn affects how advertisers compete with each other in the product market
|
|
59
|
+
|
|
60
|
+
00:01:50.109 --> 00:01:53.439
|
|
61
|
+
when they sell their final products to consumers.
|
|
62
|
+
|
|
63
|
+
00:01:53.439 --> 00:01:58.709
|
|
64
|
+
In our study, we explore the strategic and welfare effects of ad blocking.
|
|
65
|
+
|
|
66
|
+
00:01:58.709 --> 00:02:01.770
|
|
67
|
+
We are interested in the following questions.
|
|
68
|
+
|
|
69
|
+
00:02:01.770 --> 00:02:06.720
|
|
70
|
+
First of all, who is benefiting and who is losing from the presence of ad blockers?
|
|
71
|
+
|
|
72
|
+
00:02:06.720 --> 00:02:13.553
|
|
73
|
+
What is the impact of ad blocking on the advertising market and on the product market?
|
|
74
|
+
|
|
75
|
+
00:02:13.553 --> 00:02:16.012
|
|
76
|
+
We're trying to answer these questions in our study.
|
|
77
|
+
|
|
78
|
+
00:02:20.144 --> 00:02:22.124
|
|
79
|
+
To investigate these questions,
|
|
80
|
+
|
|
81
|
+
00:02:22.124 --> 00:02:28.844
|
|
82
|
+
we're building a theoretical model that reconciles the key ingredients of advertising and product markets.
|
|
83
|
+
|
|
84
|
+
00:02:28.844 --> 00:02:35.594
|
|
85
|
+
The main challenge for us is that we're essentially faced with a complex environment with multiple layers of strategic
|
|
86
|
+
|
|
87
|
+
00:02:35.624 --> 00:02:36.674
|
|
88
|
+
players.
|
|
89
|
+
|
|
90
|
+
00:02:36.674 --> 00:02:42.374
|
|
91
|
+
I will provide the simplest framework that helps to think about that environment
|
|
92
|
+
|
|
93
|
+
00:02:42.854 --> 00:02:46.694
|
|
94
|
+
and introduce all the key players step by step.
|
|
95
|
+
|
|
96
|
+
00:02:46.694 --> 00:02:55.034
|
|
97
|
+
The supply side of the advertising market is represented by two publishers that bundle their content with advertising.
|
|
98
|
+
|
|
99
|
+
00:02:55.034 --> 00:03:03.155
|
|
100
|
+
We assume that these publishers are ad funded in the sense that they provide the content to consumers for free
|
|
101
|
+
|
|
102
|
+
00:03:03.515 --> 00:03:07.985
|
|
103
|
+
and sell advertising slots to the advertisers.
|
|
104
|
+
|
|
105
|
+
00:03:07.985 --> 00:03:11.195
|
|
106
|
+
We assume that consumers visit both publishers
|
|
107
|
+
|
|
108
|
+
00:03:11.495 --> 00:03:18.275
|
|
109
|
+
and advertisers can reach consumers by buying ad slots at any of the publishers.
|
|
110
|
+
|
|
111
|
+
00:03:18.275 --> 00:03:25.295
|
|
112
|
+
It's reasonable to think that if a publisher displays multiple ads to a consumer that these ads become less effective.
|
|
113
|
+
|
|
114
|
+
00:03:25.295 --> 00:03:29.405
|
|
115
|
+
This could be, for instance, due to the limited attention on the consumer side.
|
|
116
|
+
|
|
117
|
+
00:03:29.405 --> 00:03:35.975
|
|
118
|
+
Therefore, we assume that each publisher has only one slot to be sold to an advertiser.
|
|
119
|
+
|
|
120
|
+
00:03:35.975 --> 00:03:42.785
|
|
121
|
+
This, in turn, creates competition between advertisers for the attention of consumers.
|
|
122
|
+
|
|
123
|
+
00:03:42.785 --> 00:03:47.992
|
|
124
|
+
If one advertiser occupies one ad slot, this slot cannot be taken by the rival advertiser.
|
|
125
|
+
|
|
126
|
+
00:03:47.992 --> 00:03:51.310
|
|
127
|
+
If competition for consumer attention is extremely high,
|
|
128
|
+
|
|
129
|
+
00:03:51.310 --> 00:03:57.400
|
|
130
|
+
then advertisers might want to foreclose their rivals by buying both ad slots
|
|
131
|
+
|
|
132
|
+
00:03:57.520 --> 00:04:01.330
|
|
133
|
+
and gaining the monopolistic position in the product market.
|
|
134
|
+
|
|
135
|
+
00:04:01.330 --> 00:04:08.580
|
|
136
|
+
Now, with this framework in hand, we can analyze what happens when the ad blocker enters the advertising market.
|
|
137
|
+
|
|
138
|
+
00:04:12.671 --> 00:04:17.091
|
|
139
|
+
We show that if the product market is highly competitive,
|
|
140
|
+
|
|
141
|
+
00:04:17.091 --> 00:04:22.911
|
|
142
|
+
then advertisers will fiercely compete in the advertising market.
|
|
143
|
+
|
|
144
|
+
00:04:22.911 --> 00:04:23.841
|
|
145
|
+
Therefore,
|
|
146
|
+
|
|
147
|
+
00:04:23.841 --> 00:04:32.601
|
|
148
|
+
advertisers might find it optimal to foreclose their rivals by buying both ad slots on both publishers in order to get
|
|
149
|
+
|
|
150
|
+
00:04:32.691 --> 00:04:36.351
|
|
151
|
+
and capture the monopoly profits in the product market.
|
|
152
|
+
|
|
153
|
+
00:04:36.351 --> 00:04:39.651
|
|
154
|
+
If the competition in the product market is low,
|
|
155
|
+
|
|
156
|
+
00:04:39.651 --> 00:04:44.331
|
|
157
|
+
then there is no threat from the rival advertisers in the product market
|
|
158
|
+
|
|
159
|
+
00:04:44.361 --> 00:04:51.461
|
|
160
|
+
and therefore they buy only one ad slot in the advertising market in order to get access to consumers.
|
|
161
|
+
|
|
162
|
+
00:04:51.461 --> 00:04:55.920
|
|
163
|
+
Then, having this nice framework in hand, we explore the strategic
|
|
164
|
+
|
|
165
|
+
00:04:55.950 --> 00:05:01.170
|
|
166
|
+
and welfare effects of ad blockers entry into the advertising industry.
|
|
167
|
+
|
|
168
|
+
00:05:01.170 --> 00:05:09.180
|
|
169
|
+
Suppose now that the ad blocker enters the market and some of the consumers install software of this ad blocker.
|
|
170
|
+
|
|
171
|
+
00:05:09.180 --> 00:05:15.390
|
|
172
|
+
We assume that the ad blocker provides whitelisting opportunities for publishers.
|
|
173
|
+
|
|
174
|
+
00:05:15.390 --> 00:05:17.730
|
|
175
|
+
If a publisher buys whitelisting,
|
|
176
|
+
|
|
177
|
+
00:05:17.730 --> 00:05:25.350
|
|
178
|
+
then the advertiser who buys an ad slot from that publisher can get access to consumers who have previously installed
|
|
179
|
+
|
|
180
|
+
00:05:25.410 --> 00:05:26.700
|
|
181
|
+
the ad blocker.
|
|
182
|
+
|
|
183
|
+
00:05:26.700 --> 00:05:34.590
|
|
184
|
+
Our key finding reveals that the ad blocker might find it optimal to exclusively sell whitelisting only to one
|
|
185
|
+
|
|
186
|
+
00:05:34.890 --> 00:05:35.730
|
|
187
|
+
publisher.
|
|
188
|
+
|
|
189
|
+
00:05:35.730 --> 00:05:42.330
|
|
190
|
+
Then, if the product market is highly competitive, then just as in the case without the ad blocker,
|
|
191
|
+
|
|
192
|
+
00:05:42.330 --> 00:05:48.360
|
|
193
|
+
advertisers will try to buy both ad slots in order to foreclose the rival advertisers.
|
|
194
|
+
|
|
195
|
+
00:05:48.360 --> 00:05:53.190
|
|
196
|
+
In this case, the ad blocker doesn't change the competitiveness of the product market
|
|
197
|
+
|
|
198
|
+
00:05:53.490 --> 00:05:58.110
|
|
199
|
+
and only extracts some surplus from the whitelisted publisher and the advertiser.
|
|
200
|
+
|
|
201
|
+
00:05:58.110 --> 00:06:05.130
|
|
202
|
+
Otherwise, if competition in the product market is low, then each advertiser is going to buy only one ad slot.
|
|
203
|
+
|
|
204
|
+
00:06:05.130 --> 00:06:13.260
|
|
205
|
+
The crucial difference with the case without an ad blocker is that now the advertiser who buys an ad slot from the
|
|
206
|
+
|
|
207
|
+
00:06:13.260 --> 00:06:18.730
|
|
208
|
+
whitelisted publisher is going to get monopoly access to the consumers who have installed the ad blocker.
|
|
209
|
+
|
|
210
|
+
00:06:18.730 --> 00:06:23.580
|
|
211
|
+
This, as a result, would soften the competition between the advertisers.
|
|
212
|
+
|
|
213
|
+
00:06:23.580 --> 00:06:29.910
|
|
214
|
+
Therefore, in this case, we can conclude that the ad blocker softens competition in the product market
|
|
215
|
+
|
|
216
|
+
00:06:30.240 --> 00:06:34.140
|
|
217
|
+
and extracts some surplus not only from the whitelisted publishers and the advertisers,
|
|
218
|
+
|
|
219
|
+
00:06:34.140 --> 00:06:38.670
|
|
220
|
+
but also from the final consumers who buy the product in the product market.
|
|
221
|
+
|
|
222
|
+
00:06:42.834 --> 00:06:50.376
|
|
223
|
+
We think that our results are relevant because they can be applied to many markets in which the adoption of ad blockers
|
|
224
|
+
|
|
225
|
+
00:06:50.390 --> 00:06:51.680
|
|
226
|
+
rapidly grows.
|
|
227
|
+
|
|
228
|
+
00:06:51.680 --> 00:06:56.090
|
|
229
|
+
There's empirical evidence that ad blocking reduces publishers’ revenue
|
|
230
|
+
|
|
231
|
+
00:06:56.450 --> 00:07:00.320
|
|
232
|
+
and the number of consumer visits to publisher websites.
|
|
233
|
+
|
|
234
|
+
00:07:00.320 --> 00:07:07.760
|
|
235
|
+
Moreover, there's empirical evidence showing that ad blocking reduces the ad spending of online advertisers.
|
|
236
|
+
|
|
237
|
+
00:07:07.760 --> 00:07:12.590
|
|
238
|
+
This confirms the importance of taking into account both the advertising and product markets.
|
|
239
|
+
|
|
240
|
+
00:07:12.590 --> 00:07:14.390
|
|
241
|
+
So in our study,
|
|
242
|
+
|
|
243
|
+
00:07:14.390 --> 00:07:20.630
|
|
244
|
+
we advocate for comprehensive analysis of both of these markets in order to evaluate the welfare effects of ad
|
|
245
|
+
|
|
246
|
+
00:07:20.660 --> 00:07:21.610
|
|
247
|
+
blockers’ entry.
|
|
248
|
+
|
|
249
|
+
00:07:21.610 --> 00:07:26.150
|
|
250
|
+
Second, our results are relevant because they can be applied in a great number of debates
|
|
251
|
+
|
|
252
|
+
00:07:26.600 --> 00:07:31.880
|
|
253
|
+
and discussions in Germany about the competitive effects of ad blockers.
|
|
254
|
+
|
|
255
|
+
00:07:31.880 --> 00:07:41.105
|
|
256
|
+
In Germany, among other publishers, Axel Springer was not very happy about the idea of paying to Adblock Plus,
|
|
257
|
+
|
|
258
|
+
00:07:41.105 --> 00:07:49.310
|
|
259
|
+
a dominant ad blocker in Germany that first blocks the ads in order to later unblock them,
|
|
260
|
+
|
|
261
|
+
00:07:49.310 --> 00:07:57.110
|
|
262
|
+
in exchange for a license fee. Unsurprisingly, many publishers call this business practice highway robbery.
|
|
263
|
+
|
|
264
|
+
00:07:57.110 --> 00:08:04.100
|
|
265
|
+
Since 2014, Axel Springer has been trying to legally confront Adblock Plus without success.
|
|
266
|
+
|
|
267
|
+
00:08:04.100 --> 00:08:11.480
|
|
268
|
+
In 2019, the Federal Supreme Court of Germany declared that both of the practices, ad blocking and whitelisting,
|
|
269
|
+
|
|
270
|
+
00:08:11.480 --> 00:08:18.860
|
|
271
|
+
are permissible. Other cases against Adlock Plus were resolved in favor of the ad blocker.
|
|
272
|
+
|
|
273
|
+
00:08:18.860 --> 00:08:22.850
|
|
274
|
+
Our research demonstrates that ad blockers setting high prices
|
|
275
|
+
|
|
276
|
+
00:08:22.910 --> 00:08:29.510
|
|
277
|
+
and providing exclusive whitelisting to publishers can undermine competition in the product market.
|
|
278
|
+
|
|
279
|
+
00:08:29.510 --> 00:08:34.160
|
|
280
|
+
This eventually leads to higher prices that advertisers pay in the advertising market
|
|
281
|
+
|
|
282
|
+
00:08:34.610 --> 00:08:39.740
|
|
283
|
+
and also to high prices that consumers pay for products in the product market.
|
|
284
|
+
|
|
285
|
+
00:08:39.740 --> 00:08:43.532
|
|
286
|
+
These arguments are new and haven't been previously explored.
|
|
287
|
+
|
|
288
|
+
00:08:47.711 --> 00:08:51.761
|
|
289
|
+
We believe that our results are relevant and useful for antitrust authorities
|
|
290
|
+
|
|
291
|
+
00:08:52.451 --> 00:08:57.941
|
|
292
|
+
and can help them to evaluate the competitive effects of ad blocking and whitelisting.
|
|
293
|
+
|
|
294
|
+
00:08:57.941 --> 00:09:01.481
|
|
295
|
+
But there are some other considerations that have to be taken into account.
|
|
296
|
+
|
|
297
|
+
00:09:01.481 --> 00:09:01.811
|
|
298
|
+
First,
|
|
299
|
+
|
|
300
|
+
00:09:01.811 --> 00:09:10.151
|
|
301
|
+
it is important to study the strategic response of publishers that react to the widespread adoption of ad blockers.
|
|
302
|
+
|
|
303
|
+
00:09:10.151 --> 00:09:17.861
|
|
304
|
+
We observed that some of the publishers may improve the ad experience of consumers by reducing their ad load.
|
|
305
|
+
|
|
306
|
+
00:09:17.861 --> 00:09:23.921
|
|
307
|
+
For instance, they may employ more careful selection of ads to be displayed to the users.
|
|
308
|
+
|
|
309
|
+
00:09:23.921 --> 00:09:30.911
|
|
310
|
+
Some of the publishers tried to fight back against the ad blockers by detecting those consumers who have installed the
|
|
311
|
+
|
|
312
|
+
00:09:30.941 --> 00:09:35.681
|
|
313
|
+
ad blocker and adjusting their experience on the website accordingly.
|
|
314
|
+
|
|
315
|
+
00:09:35.681 --> 00:09:42.431
|
|
316
|
+
So, for instance, these consumers can be asked to provide their personal emails, to subscribe to the newsletters
|
|
317
|
+
|
|
318
|
+
00:09:42.821 --> 00:09:45.731
|
|
319
|
+
or to allow for collecting data.
|
|
320
|
+
|
|
321
|
+
00:09:45.731 --> 00:09:52.241
|
|
322
|
+
Sometimes these ad blocking visitors can be asked to even turn off their ad blockers
|
|
323
|
+
|
|
324
|
+
00:09:53.021 --> 00:09:57.461
|
|
325
|
+
or even asked to pay for ad free access to the website.
|
|
326
|
+
|
|
327
|
+
00:09:57.461 --> 00:10:05.051
|
|
328
|
+
Second, it is important to take into account how advertisers would change their ads in response to ad blocking.
|
|
329
|
+
|
|
330
|
+
00:10:05.051 --> 00:10:11.441
|
|
331
|
+
We observed that more and more advertisers tried to improve their ad campaigns by focusing more on conversion
|
|
332
|
+
|
|
333
|
+
00:10:11.471 --> 00:10:13.841
|
|
334
|
+
and clicks rather than just impressions.
|
|
335
|
+
|
|
336
|
+
00:10:13.841 --> 00:10:19.181
|
|
337
|
+
We also observed that some advertisers are trying to shift to what is called native ads;
|
|
338
|
+
|
|
339
|
+
00:10:19.751 --> 00:10:25.301
|
|
340
|
+
the ads that are naturally embedded in the true content of the publishers website.
|
|
341
|
+
|
|
342
|
+
00:10:25.301 --> 00:10:28.301
|
|
343
|
+
Native advertising is becoming more and more popular
|
|
344
|
+
|
|
345
|
+
00:10:28.631 --> 00:10:33.461
|
|
346
|
+
and can be one of the directions of how online advertising evolves in the future.
|
|
347
|
+
|
|
348
|
+
00:10:33.461 --> 00:10:39.701
|
|
349
|
+
Although the strategists of publishers and advertisers can push their ad blockers a little bit,
|
|
350
|
+
|
|
351
|
+
00:10:39.701 --> 00:10:47.351
|
|
352
|
+
we believe that the effects of ad blockers on advertising and product markets will remain significant.
|
package/package.json
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
@import "../abstracts/variables";
|
|
2
|
+
|
|
3
|
+
.lt-state-loader-active {
|
|
4
|
+
.lt-player__poster {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.loader {
|
|
9
|
+
display: inline-block;
|
|
10
|
+
|
|
11
|
+
&__backdrop {
|
|
12
|
+
display: block;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.loader {
|
|
18
|
+
@include center-position(50%, 50%);
|
|
19
|
+
display: none;
|
|
20
|
+
width: 80px;
|
|
21
|
+
height: 80px;
|
|
22
|
+
|
|
23
|
+
&__backdrop {
|
|
24
|
+
position: absolute;
|
|
25
|
+
inset: 0;
|
|
26
|
+
display: none;
|
|
27
|
+
z-index: 999;
|
|
28
|
+
background-color: rgb(0,0,0,0.2);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.loader div {
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
display: block;
|
|
35
|
+
position: absolute;
|
|
36
|
+
width: 64px;
|
|
37
|
+
height: 64px;
|
|
38
|
+
margin: 8px;
|
|
39
|
+
border: 8px solid $default-lt-player-white;
|
|
40
|
+
border-radius: 50%;
|
|
41
|
+
animation: rotate 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
|
|
42
|
+
border-color: $default-lt-player-white transparent transparent transparent;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.loader div:nth-child(1) {
|
|
46
|
+
animation-delay: -0.45s;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.loader div:nth-child(2) {
|
|
50
|
+
animation-delay: -0.3s;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.loader div:nth-child(3) {
|
|
54
|
+
animation-delay: -0.15s;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@keyframes rotate {
|
|
58
|
+
0% {
|
|
59
|
+
transform: rotate(0deg);
|
|
60
|
+
}
|
|
61
|
+
100% {
|
|
62
|
+
transform: rotate(360deg);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.lt-player-orientation--portrait {
|
|
67
|
+
.loader {
|
|
68
|
+
top: 35%;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.plyr {
|
|
30
|
-
border-radius: 0 0 0 30px;
|
|
31
30
|
z-index: unset!important;
|
|
32
31
|
width: 100%;
|
|
33
32
|
&__video-embed {
|
|
@@ -59,6 +58,9 @@
|
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
.lt-player {
|
|
61
|
+
border-radius: 0 0 0 30px;
|
|
62
|
+
overflow: hidden;
|
|
63
|
+
|
|
62
64
|
&.fullscreen-disabled {
|
|
63
65
|
.fullscreen-custom-control {
|
|
64
66
|
display: none;
|
|
@@ -9,23 +9,24 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.lt-player-custom-captions {
|
|
12
|
-
|
|
12
|
+
display: inline-block;
|
|
13
|
+
background-color: rgba($default_color_player, 0.8);
|
|
14
|
+
margin: 0 $lt-player-padding-xxl / 2 16px $lt-player-padding-xxl / 2;
|
|
15
|
+
padding: 8px 12px;
|
|
16
|
+
|
|
17
|
+
&:is(:not(span)) {
|
|
18
|
+
padding: 0;
|
|
19
|
+
}
|
|
13
20
|
|
|
14
21
|
span {
|
|
15
|
-
|
|
16
|
-
justify-content: center;
|
|
17
|
-
margin: auto;
|
|
18
|
-
width: 100%;
|
|
19
|
-
color: $default-lt-player-black;
|
|
20
|
-
background-color: rgba(216, 216, 70, 0.7);
|
|
22
|
+
font-family: $lt-font-family-base;
|
|
21
23
|
font-size: $lt-player-font-size-lg;
|
|
22
24
|
line-height: $lt-player-line-height;
|
|
23
25
|
font-weight: $lt-player-font-weight-md;
|
|
24
|
-
|
|
25
|
-
border-radius: 40px;
|
|
26
|
-
font-family: "MuseoSans", sans-serif;
|
|
26
|
+
color: $default-lt-player-black;
|
|
27
27
|
white-space: unset;
|
|
28
28
|
box-decoration-break: clone;
|
|
29
|
+
padding: 0 16px;
|
|
29
30
|
|
|
30
31
|
&:empty {
|
|
31
32
|
padding: 0;
|
|
@@ -33,10 +34,48 @@
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
.lt-player-orientation--portrait {
|
|
38
|
+
.lt-player-custom-captions {
|
|
39
|
+
margin: 0 0 16px 0;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.lt-player-orientation--landscape {
|
|
44
|
+
.lt-player-custom-captions {
|
|
45
|
+
span {
|
|
46
|
+
font-size: $lt-player-font-size-sm;
|
|
47
|
+
border-radius: 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&.lt-state-controls-visible {
|
|
52
|
+
.lt-player-custom-captions {
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
36
58
|
@container portrait (width < 319px) {
|
|
37
59
|
.lt-player-custom-captions {
|
|
38
60
|
span {
|
|
39
61
|
font-size: $lt-player-font-size-sm;
|
|
40
62
|
}
|
|
41
63
|
}
|
|
42
|
-
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@container landscape (width > 639px) {
|
|
67
|
+
.lt-player-orientation--landscape {
|
|
68
|
+
.lt-player-custom-captions {
|
|
69
|
+
span {
|
|
70
|
+
font-size: $lt-player-font-size-lg;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&.lt-state-controls-visible {
|
|
75
|
+
.lt-player-custom-captions {
|
|
76
|
+
margin: 0 $lt-player-padding-xxl 16px $lt-player-padding-xxl;
|
|
77
|
+
display: inline-block;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
bottom: 0;
|
|
118
118
|
height: 40%;
|
|
119
119
|
background: var(--plyr-video-controls-background,linear-gradient(transparent,rgba(0,0,0,.75)));
|
|
120
|
-
|
|
120
|
+
z-index: -1;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
&__volume_control {
|
|
@@ -311,6 +311,32 @@
|
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
+
.lt-player-orientation--landscape {
|
|
315
|
+
.plyr {
|
|
316
|
+
&__progress {
|
|
317
|
+
&--wrapper {
|
|
318
|
+
padding: 0 $lt-player-padding-xxl / 2;
|
|
319
|
+
|
|
320
|
+
.bottom-controller__current {
|
|
321
|
+
display: none;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
&__controls {
|
|
327
|
+
.bottom-controller {
|
|
328
|
+
padding: 0 $lt-player-padding-xxl / 2 15px $lt-player-padding-xxl / 2;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
&:not(.lt-state-controls-visible) {
|
|
334
|
+
.bottom-controller__background {
|
|
335
|
+
display: none;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
314
340
|
// @Container Query
|
|
315
341
|
|
|
316
342
|
@container portrait (width > 319px) {
|
|
@@ -367,13 +393,17 @@
|
|
|
367
393
|
.plyr {
|
|
368
394
|
&__progress {
|
|
369
395
|
&--wrapper {
|
|
370
|
-
padding: 0
|
|
396
|
+
padding: 0 $lt-player-padding-xxl / 2;
|
|
397
|
+
|
|
398
|
+
.bottom-controller__current {
|
|
399
|
+
display: flex;
|
|
400
|
+
}
|
|
371
401
|
}
|
|
372
402
|
}
|
|
373
403
|
|
|
374
404
|
&__controls {
|
|
375
405
|
.bottom-controller {
|
|
376
|
-
padding: 25px
|
|
406
|
+
padding: 0 $lt-player-padding-xxl / 2 25px $lt-player-padding-xxl / 2;
|
|
377
407
|
|
|
378
408
|
&__center-buttons {
|
|
379
409
|
gap: 20px;
|
|
@@ -394,13 +424,13 @@
|
|
|
394
424
|
.plyr {
|
|
395
425
|
&__progress {
|
|
396
426
|
&--wrapper {
|
|
397
|
-
padding: 0
|
|
427
|
+
padding: 0 $lt-player-padding-xxl;
|
|
398
428
|
}
|
|
399
429
|
}
|
|
400
430
|
|
|
401
431
|
&__controls {
|
|
402
432
|
.bottom-controller {
|
|
403
|
-
padding: 25px
|
|
433
|
+
padding: 0 $lt-player-padding-xxl 25px $lt-player-padding-xxl;
|
|
404
434
|
|
|
405
435
|
&__left-buttons,
|
|
406
436
|
&__right-buttons {
|
|
@@ -413,7 +443,7 @@
|
|
|
413
443
|
|
|
414
444
|
&__volume_control {
|
|
415
445
|
display: flex;
|
|
416
|
-
left:
|
|
446
|
+
left: 80px;
|
|
417
447
|
}
|
|
418
448
|
|
|
419
449
|
.mini-player-control {
|
|
@@ -430,30 +460,18 @@
|
|
|
430
460
|
}
|
|
431
461
|
}
|
|
432
462
|
|
|
433
|
-
@container landscape (width > 759px) {
|
|
434
|
-
.lt-player-orientation--landscape {
|
|
435
|
-
.plyr {
|
|
436
|
-
&__controls {
|
|
437
|
-
.bottom-controller {
|
|
438
|
-
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
|
|
445
463
|
@container landscape (width > 912px) {
|
|
446
464
|
.lt-player-orientation--landscape {
|
|
447
465
|
.plyr {
|
|
448
466
|
&__progress {
|
|
449
467
|
&--wrapper {
|
|
450
|
-
padding: 0
|
|
468
|
+
padding: 0 $lt-player-padding-xxl;
|
|
451
469
|
}
|
|
452
470
|
}
|
|
453
471
|
|
|
454
472
|
&__controls {
|
|
455
473
|
.bottom-controller {
|
|
456
|
-
padding: 28px
|
|
474
|
+
padding: 0 $lt-player-padding-xxl 28px $lt-player-padding-xxl;
|
|
457
475
|
|
|
458
476
|
&__left-buttons,
|
|
459
477
|
&__right-buttons {
|
|
@@ -464,6 +482,10 @@
|
|
|
464
482
|
gap: 32px;
|
|
465
483
|
}
|
|
466
484
|
|
|
485
|
+
&__volume_control {
|
|
486
|
+
left: 100px;
|
|
487
|
+
}
|
|
488
|
+
|
|
467
489
|
&__next-chapter-view,
|
|
468
490
|
&__previous-chapter-view {
|
|
469
491
|
font-size: $lt-player-font-size-lg2;
|
|
@@ -490,6 +512,7 @@
|
|
|
490
512
|
&__previous-chapter-view,
|
|
491
513
|
&__next-chapter-view {
|
|
492
514
|
display: flex;
|
|
515
|
+
gap: 8px;
|
|
493
516
|
}
|
|
494
517
|
}
|
|
495
518
|
}
|