This commit is contained in:
Tobias Schneider 2015-01-28 15:52:03 -08:00
Родитель f6014281ed
Коммит c68bdfd1bb
16 изменённых файлов: 4875 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,11 @@
1
00:00:02,000 --> 00:00:05,000
Big Buck Bunny
The Movie
1
00:00:45,000 --> 00:00:59,000
Hello, there...
I'm Big Buck Bunny

Двоичные данные
examples/jwplayer/big_buck_bunny_640x360.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 47 KiB

Двоичные данные
examples/jwplayer/big_buck_bunny_640x360_2.28.mp4 Normal file

Двоичный файл не отображается.

82
examples/jwplayer/dat.gui.min.js поставляемый Normal file

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1,333 @@
1
00:00:15,000 --> 00:00:17,951
At the left we can see...
2
00:00:18,166 --> 00:00:20,083
At the right we can see the...
3
00:00:20,119 --> 00:00:21,962
...the head-snarlers
4
00:00:21,999 --> 00:00:24,368
Everything is safe.
Perfectly safe.
5
00:00:24,582 --> 00:00:27,035
Emo?
6
00:00:28,206 --> 00:00:29,996
Watch out!
7
00:00:47,037 --> 00:00:48,494
Are you hurt?
8
00:00:51,994 --> 00:00:53,949
I don't think so.
You?
9
00:00:55,160 --> 00:00:56,985
I'm Ok.
10
00:00:57,118 --> 00:01:01,111
Get up.
Emo, it's not safe here.
11
00:01:02,034 --> 00:01:03,573
Let's go.
12
00:01:03,610 --> 00:01:05,114
What's next?
13
00:01:05,200 --> 00:01:09,146
You'll see!
14
00:01:16,032 --> 00:01:18,022
Emo.
This way.
15
00:01:34,237 --> 00:01:35,481
Follow me!
16
00:02:11,106 --> 00:02:12,480
Hurry Emo!
17
00:02:48,059 --> 00:02:49,930
You're not paying attention!
18
00:02:50,142 --> 00:02:54,052
I just want to answer the...
...phone.
19
00:02:54,974 --> 00:02:57,972
Emo, look,
I mean listen.
20
00:02:59,140 --> 00:03:02,008
You have to learn to listen.
21
00:03:03,140 --> 00:03:04,965
This is not some game.
22
00:03:05,056 --> 00:03:09,345
You, I mean we,
we could easily die out here.
23
00:03:10,014 --> 00:03:13,959
Listen,
listen to the sounds of the machine.
24
00:03:18,054 --> 00:03:20,009
Listen to your breathing.
25
00:04:27,001 --> 00:04:28,956
Well, don't you ever get tired of this?
26
00:04:29,084 --> 00:04:30,909
Tired?!?
27
00:04:31,126 --> 00:04:34,491
Emo, the machine is like clockwork.
28
00:04:35,083 --> 00:04:37,074
One move out of place...
29
00:04:37,166 --> 00:04:39,121
...and you're ground to a pulp.
30
00:04:40,958 --> 00:04:42,004
But isn't it -
31
00:04:42,041 --> 00:04:46,034
Pulp, Emo!
Is that what you want, pulp?
32
00:04:47,040 --> 00:04:48,995
Emo, your goal in life...
33
00:04:50,081 --> 00:04:51,953
...pulp?
34
00:05:41,156 --> 00:05:43,028
Emo, close your eyes.
35
00:05:44,156 --> 00:05:46,027
Why?
- Now!
36
00:05:51,155 --> 00:05:52,102
Ok.
37
00:05:53,113 --> 00:05:54,688
Good.
38
00:05:59,070 --> 00:06:02,103
What do you see at your left side, Emo?
39
00:06:04,028 --> 00:06:05,899
Nothing.
- Really?
40
00:06:06,027 --> 00:06:07,105
No, nothing at all.
41
00:06:07,944 --> 00:06:11,984
And at your right,
what do you see at your right side, Emo?
42
00:06:13,151 --> 00:06:16,102
The same Proog, exactly the same...
43
00:06:16,942 --> 00:06:19,098
...nothing!
- Great.
44
00:06:40,105 --> 00:06:42,724
Listen Proog! Do you hear that!
45
00:06:43,105 --> 00:06:44,894
Can we go here?
46
00:06:44,979 --> 00:06:47,894
There?
It isn't safe, Emo.
47
00:06:49,145 --> 00:06:52,013
But...
- Trust me, it's not.
48
00:06:53,020 --> 00:06:54,145
Maybe I could...
49
00:06:54,181 --> 00:06:55,969
No.
50
00:06:57,102 --> 00:06:59,934
NO!
51
00:07:00,144 --> 00:07:03,058
Any further questions, Emo?
52
00:07:03,976 --> 00:07:05,090
No.
53
00:07:09,059 --> 00:07:10,089
Emo?
54
00:07:11,142 --> 00:07:13,058
Emo, why...
55
00:07:13,095 --> 00:07:14,022
Emo...
56
00:07:14,058 --> 00:07:18,003
...why can't you see
the beauty of this place?
57
00:07:18,141 --> 00:07:20,048
The way it works.
58
00:07:20,140 --> 00:07:23,895
How perfect it is.
59
00:07:23,932 --> 00:07:26,964
No, Proog, I don't see.
60
00:07:27,056 --> 00:07:29,970
I don't see because there's nothing there.
61
00:07:31,055 --> 00:07:34,965
And why should I trust my
life to something that isn't there?
62
00:07:35,055 --> 00:07:36,926
Well can you tell me that?
63
00:07:37,054 --> 00:07:38,926
Answer me!
64
00:07:42,970 --> 00:07:44,000
Proog...
65
00:07:45,053 --> 00:07:46,985
...you're a sick man!
66
00:07:47,022 --> 00:07:48,918
Stay away from me!
67
00:07:52,052 --> 00:07:54,884
No! Emo! It's a trap!
68
00:07:55,135 --> 00:07:56,931
Hah, it's a trap.
69
00:07:56,968 --> 00:08:01,043
At the left side you can see
the hanging gardens of Babylon!
70
00:08:01,967 --> 00:08:03,957
How's that for a trap?
71
00:08:05,050 --> 00:08:06,922
No, Emo.
72
00:08:09,008 --> 00:08:12,088
At the right side you can see...
...well guess what...
73
00:08:12,924 --> 00:08:14,665
...the colossus of Rhodes!
74
00:08:15,132 --> 00:08:16,053
No!
75
00:08:16,090 --> 00:08:21,919
The colossus of Rhodes
and it is here just for you Proog.
76
00:08:51,001 --> 00:08:52,923
It is there...
77
00:08:52,959 --> 00:08:56,040
I'm telling you,
Emo...
78
00:08:57,000 --> 00:08:59,867
...it is.

Двоичные данные
examples/jwplayer/elephants_dream_640x360.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 23 KiB

Двоичные данные
examples/jwplayer/elephants_dream_640x360_2.30.mp4 Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,160 @@
<!DOCTYPE html>
<meta charset="utf8">
<style>
html {
background: #ccc;
}
</style>
<title>JWPlayer</title>
<script src="dat.gui.min.js"></script>
<script src="jwplayer.js"></script>
<script src="../../build/shuobject/shuobject.js"></script>
<script>
shuobject.hack('jwplayer', true);
jwplayer.key="CZ1NIKr/zc7LWAKtyMr+sToZQmznGTyYSxK3aw==";
</script>
<div id='player'></div>
<script>
var config = {
aspectratio: [ '16:9', '16:10', '4:3', '3:2', '1:1', '2.4:1' ],
autostart: false,
controls: true,
file: [ 'elephants_dream_640x360_2.30.mp4',
'big_buck_bunny_640x360_2.28.mp4',
'sintel_640x360_2.28.mp4' ],
height: 360,
image: [ 'elephants_dream_640x360.jpg',
'big_buck_bunny_640x360.jpg',
'sintel_640x360.jpg' ],
mute: false,
primary: [ 'flash', 'html5' ],
repeat: false,
skin: '',
width: 640,
androidhls: false,
hlslabels: '',
listbar: {
position: [ 'bar', 'bottom', 'right' ],
size: 180,
layout: [ 'extended', 'basic' ]
},
captions: {
color: '#ffffff',
fontSize: 15,
fontFamily: 'sans',
fontOpacity: 100,
backgroundColor: '#000000',
backgroundOpacity: 75,
edgeStyle: 'none',
windowColor: '#000000',
windowOpacity: 0
},
abouttext: 'JW Player 6.x.xxx',
aboutlink: 'http://www.jwplayer.com/learn-more/',
displaytitle: true,
fallback: false,
flashplayer: 'jwplayer.flash.swf',
html5player: 'jwplayer.html5.js',
startparam: '',
stagevideo: true,
stretching: [ 'uniform', 'exactfit', 'fill', 'none' ]
};
var playlist = [
{
image: "elephants_dream_640x360.jpg",
sources: [{file: "elephants_dream_640x360_2.30.mp4"}],
title: "Elephants Dream",
tracks: [{
file: "elephants_dream.srt"
}]
},
{
image: "big_buck_bunny_640x360.jpg",
sources: [{file: "big_buck_bunny_640x360_2.28.mp4"}],
title: "Big Buck Bunny",
tracks: [{
file: "big_buck_bunny.srt"
}]
}, {
image: "sintel_640x360.jpg",
sources: [{file: "sintel_640x360_2.28.mp4"}],
title: "Sintel Trailer",
tracks: [{
file: "sintel.srt"
}]
}
];
var proxy = {
'Load Playlist Block': function () {
jwplayer('player').load(playlist);
},
'Load Playlist RSS': function () {
jwplayer('player').load('playlist.rss');
}
};
function setupPlayer() {
jwplayer('player').setup(config);
}
function addOption(gui, controller, object, property, value) {
var setting;
if (Array.isArray(value)) {
object[property] = value[0];
setting = controller.add(object, property, value);
} else if (typeof value === 'object') {
var folder = gui.addFolder(property[0].toUpperCase() + property.slice(1));
for (var property in value) {
addOption(gui, folder, value, property, value[property]);
}
return;
} else if (typeof value === 'boolean') {
object[property] = value + '';
proxy[property] = value;
setting = controller.add(proxy, property);
setting.onChange(function (value) {
object[property] = +value;
});
} else if (typeof value === 'string' && value[0] === '#') {
object[property] = value.slice(1);
proxy[property] = value;
setting = controller.addColor(proxy, property);
setting.onChange(function (value) {
object[property] = value.slice(1);
});
} else {
setting = controller.add(object, property);
}
setting.onFinishChange(setupPlayer);
}
window.onload = function() {
var gui = new dat.GUI({ width: 400 });
gui.remember(config);
gui.add(proxy, 'Load Playlist Block');
gui.add(proxy, 'Load Playlist RSS');
var options = gui.addFolder('Basic');
options.open();
for (var property in config) {
var value = config[property];
if (property === 'abouttext') {
options = gui.addFolder('Other');
}
addOption(gui, options, config, property, value);
}
setupPlayer();
};
</script>

Двоичные данные
examples/jwplayer/jwplayer.flash.swf Normal file

Двоичный файл не отображается.

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

631
examples/jwplayer/jwpsrv.js Normal file
Просмотреть файл

@ -0,0 +1,631 @@
window.CLOSURE_NO_DEPS = true;
(function() {
var k = window.jwplayer.jwpsrv = window.jwplayer.jwpsrv || {},
p = window.jwplayer;
function u(b, a, c, d) {
this.f = w;
this.extend = window.jwplayer.utils.extend;
this.J = "http" + ("https:" === document.location.protocol ? "s://ssl." : "://") + "p.jwpcdn.com/6/jwpsrv_frq.js";
this.K = d;
this.debug = a;
this.R = c;
this.F = 0;
this.G = "p pt pd pm pi pf ps psl psd pk pkl pkd pkt pkc pkp b bp bpb bpr bl ble blb bat bal bdt bfb bfp bhp bsp bsv sth stn ste stu stf bar bas bcr bht bte bpy bph bpf brt bsk bwi a acv acg at ak am an av ad ap ab abp abm abo abl abn y ym yp g gi gt s sl sc sh r rf ro rc rh rd c cc cs cf co cb ct ce cw cd m mb ms mt l lf lh ll lm lp".split(" ");
this.D =
"dev.jwpltx.com";
this.I = "n.jwpltx.com";
this.H = "v1/playerconfig/ping.gif?";
this.d = p.utils.exists;
this.e = b;
"function" !== p.utils.typeOf(k.setSampleFrequency) && (k.setSampleFrequency = k.setSampleFrequency || function(b) {
k.sampling_frequency = parseFloat(b)
}, this.A = new p.utils.scriptloader(this.J), this.A.load());
k.parseConfig = k.parseConfig || A(this)
}
function A(b) {
return function(a) {
var c = {};
b.f(b.G, function(b, a) {
c[a] = 0
});
b.d(a.k) || (a = new C(a));
a = a.k();
D(b, c, a);
E(b, a);
F(b, c, a.playlist);
b.d(a.listbar) && K(b, c, a.listbar);
b.d(a.captions) && L(b, c, a.captions);
b.d(a.rtmp) && M(b, c, a.rtmp);
b.d(a.logo) && N(b, c, a.logo);
b.d(a.related) && aa(b, c, a.related);
b.d(a.sharing) && ba(b, c, a.sharing);
var d;
b.d(a.plugins) && b.f(a.plugins, function(b, a) {
a.client && (a.client.match("vast") || a.client.match("googima")) && (d = a)
});
b.d(d) && ca(b, c, d);
b.d(a.sitecatalyst) && da(b, c, a.sitecatalyst);
b.d(a.ga) && ea(b, c, a.ga);
return c
}
}
u.prototype.u = function() {
if (void 0 === k.sampling_frequency) this.A.addEventListener("COMPLETE", this.u);
else {
var b = k.sampling_frequency || this.F;
if (!(Math.random() >= b)) {
var a = A(this)(this.e),
b = fa(this, a, b);
(new Image).src = b
}
}
};
function fa(b, a, c) {
var d = [];
d.push("n=" + Math.random().toFixed(16).substr(2, 16));
d.push("aid=" + encodeURIComponent(b.R));
d.push("ed=" + b.K);
d.push("f=" + c);
d.push("pv=" + p.version);
var e;
if (window.top !== window.self) {
e = document.referrer;
try {
e = e || window.top.location.href
} catch (z) {}
}
e = e || window.location.href;
b.f(a, function(b, a) {
d.push(b + "=" + encodeURIComponent(a))
});
d.push("pu=" + encodeURIComponent(e));
return ["http" + ("https:" === document.location.protocol ? "s://s." : "://i."), b.debug ? b.D : b.I, "/", b.H, d.join("&")].join("")
}
function F(b, a, c) {
"string" === typeof c ? a.pf++ : b.f(c, function(c, e) {
a.p++;
b.d(e.title) && a.pt++;
b.d(e.description) && a.pd++;
b.d(e.mediaid) && a.pm++;
b.d(e.image) && a.pi++;
b.d(e.sources) && ha(b, a, e.sources);
b.d(e.tracks) && ia(b, a, e.tracks)
})
}
function aa(b, a, c) {
a.r++;
b.d(c.file) && a.rf++;
b.d(c.onclick) && a.ro++;
b.d(c.oncomplete) && a.rc++;
b.d(c.heading) && a.rh++;
b.d(c.dimensions) && a.rd++
}
function ba(b, a, c) {
a.s++;
b.d(c.link) && a.sl++;
b.d(c.heading) && a.sh++;
b.d(c.code) && a.sc++
}
function K(b, a, c) {
a.b++;
b.d(c.position) && (a.bp++, "bottom" === c.position && a.bpb++, "right" === c.position && a.bpr++);
b.d(c.layout) && (a.bl++, "extended" === c.layout && a.ble++, "basic" === c.position && a.blb++)
}
function ha(b, a, c) {
b.f(c, function(c, e) {
a.ps++;
b.d(e.label) && a.psl++;
b.d(e["default"]) && e["default"] && a.psd++
})
}
function ia(b, a, c) {
b.f(c, function(c, e) {
a.pk++;
b.d(e.label) && a.pkl++;
b.d(e["default"]) && e["default"] && a.pkd++;
b.d(e.kind) && ("captions" === e.kind && a.pkp++, "thumbnails" === e.kind && a.pkt++, "chapters" === e.kind && a.pkc++)
})
}
function D(b, a, c) {
b.d(c.abouttext) && a.bat++;
b.d(c.aboutlink) && a.bal++;
b.d(c.displaytitle) && c.displaytitle && a.bdt++;
b.d(c.fallback) && c.fallback && a.bfb++;
b.d(c.flashplayer) && a.bfp++;
b.d(c.html5player) && a.bhp++;
b.d(c.startparam) && a.bsp++;
b.d(c.stagevideo) && !c.stagevideo && a.bsv++;
b.d(c.stretching) && a.sth++;
b.d(c.stretching) && "none" == c.stretching && a.stn++;
b.d(c.stretching) && "exactfit" == c.stretching && a.ste++;
b.d(c.stretching) && "uniform" == c.stretching && a.stu++;
b.d(c.stretching) && "fill" == c.stretching && a.stf++;
b.d(c.aspectratio) && a.bar++;
b.d(c.autostart) && c.autostart && a.bas++;
b.d(c.controls) && !c.controls && a.bcr++;
b.d(c.height) && a.bht++;
b.d(c.mute) && c.mute && a.bte++;
b.d(c.primary) && a.bpy++;
b.d(c.primary) && "html5" == c.primary && a.bph++;
b.d(c.primary) && "flash" == c.primary && a.bpf++;
b.d(c.repeat) && a.brt++;
b.d(c.skin) && a.bsk++;
b.d(c.width) && a.bwi++
}
function L(b, a, c) {
a.c++;
b.d(c.color) && a.cc++;
b.d(c.fontSize) && a.cs++;
b.d(c.fontFamily) && a.cf++;
b.d(c.fontOpacity) && a.co++;
b.d(c.backgroundColor) && a.cb++;
b.d(c.backgroundOpacity) && a.ct++;
b.d(c.edgeStyle) && a.ce++;
b.d(c.windowColor) && a.cw++;
b.d(c.windowOpacity) && a.cd++
}
function M(b, a, c) {
a.m++;
b.d(c.bufferlength) && a.mb++;
b.d(c.subscribe) && a.ms++;
b.d(c.securetoken) && a.mt++
}
function N(b, a, c) {
a.l++;
b.d(c.file) && a.lf++;
b.d(c.hide) && a.lh++;
b.d(c.link) && a.ll++;
b.d(c.margin) && a.lm++;
b.d(c.position) && a.lp++
}
function ca(b, a, c) {
a.a++;
b.d(c.client) && c.client.match("vast") && a.acv++;
b.d(c.client) && c.client.match("googima") && a.acg++;
b.d(c.tag) && (a.at++, a.abp++);
b.d(c.vastxml) && a.av++;
b.d(c.skipoffset) && a.ak++;
b.d(c.admessage) && a.am++;
b.d(c.companiondiv) && "object" === typeof c.companiondiv && a.an++;
b.d(c.schedule) && "string" === typeof c.schedule && a.ap++;
b.d(c.schedule) && "object" === typeof c.schedule && ja(b, a, c.schedule)
}
function ja(b, a, c) {
a.ad++;
b.f(c, function(c, e) {
switch (e.offset) {
case "pre":
a.abp++;
break;
case "post":
a.abo++;
break;
default:
a.abm++
}
b.d(e.ad) ? O(b, a, e.ad) : O(b, a, e)
})
}
function O(b, a, c) {
b.d(c.type) && ("linear" === c.type && a.abl++, "nonlinear" === c.type && a.abn++);
a.ab++;
b.d(c.tag) && a.at++;
b.d(c.vastxml) && a.av++
}
function da(b, a, c) {
a.y++;
b.d(c.mediaName) && a.ym++;
b.d(c.playerName) && a.yp++
}
function ea(b, a, c) {
a.g++;
b.d(c.idstring) && a.gi++;
b.d(c.trackingobject) && a.gt++
}
function E(b, a) {
var c = {
description: "",
L: "",
M: "",
title: "",
Q: [],
S: []
};
if (!a.playlist) {
var d = {};
b.f(c, function(c) {
P(b, a, d, c)
});
d.sources || (a.levels ? (d.sources = a.levels, delete a.levels) : (c = {}, P(b, a, c, "file"), P(b, a, c, "type"), d.sources = c.file ? [c] : []));
a.playlist = [Q(b, d)]
} else if ("string" !== typeof a.playlist)
for (c = 0; c < a.playlist.length; c++) a.playlist[c] = Q(b, a.playlist[c])
}
function Q(b, a) {
var c = b.extend({}, {
description: "",
L: "",
M: "",
title: "",
Q: [],
S: []
}, a),
d;
c.tracks = a && b.d(a.tracks) ? a.tracks : [];
0 === c.sources.length && (c.sources = [R(b, c)]);
for (var e = 0; e < c.sources.length; e++) d = c.sources[e]["default"], c.sources[e]["default"] = d ? "true" == d.toString() : !1, c.sources[e] = R(b, c.sources[e]);
if (c.captions && !b.d(a.tracks)) {
for (d = 0; d < c.captions.length; d++) c.tracks.push(c.captions[d]);
delete c.captions
}
for (e = 0; e < c.tracks.length; e++) c.tracks[e] = ka(b, c.tracks[e]);
return c
}
function R(b, a) {
var c = {
file: null,
label: null,
type: null,
"default": null
},
d = b.extend({}, c);
b.f(c, function(c) {
b.d(a[c]) && (d[c] = a[c], delete a[c])
});
return d
}
function ka(b, a) {
var c = {
file: null,
label: null,
kind: "captions",
"default": !1
},
d = b.extend({}, c);
b.f(c, function(c) {
b.d(a[c]) && (d[c] = a[c], delete a[c])
});
return d
}
function P(b, a, c, d) {
b.d(a[d]) && (c[d] = a[d], delete a[d])
};
function U(b, a, c) {
this.key = b;
this.value = a;
this.C = c
}
U.prototype.getKey = function() {
return this.key
};
function w(b, a) {
var c, d;
for (c in b) "function" == window.jwplayer.utils.typeOf(b.hasOwnProperty) ? b.hasOwnProperty(c) && (d = b[c], a(c, d)) : (d = b[c], a(c, d))
};
function la(b, a) {
if (window.jwplayer._tracker) return window.jwplayer._tracker;
window.jwplayer._tracker = this;
this.j = {};
this.P = "n.jwpltx.com";
this.O = "v1/jwplayer6/ping.gif?";
this.N = window.jwplayer.version;
this.h = b;
this.t = (this.t = this.h.sdkplatform) || "0";
this.v = 2 === parseInt(this.h.sdkplatform);
if (this.o = window.top === window.self ? 0 : 1) {
this.i = document.referrer;
try {
this.i = this.i || window.top.location.href, this.n = window.top.document.title
} catch (c) {}
}
this.i = this.i || window.location.href;
this.n = this.n || document.title;
this.v && (this.n = this.i = this.o = "");
this.trackerVersion = 14;
this.B = "complete" == document.readyState;
this.q = [];
(this.debug = a) && (this.eventObjs = [])
}(function(b) {
var a = window.onload;
window.onload = "function" != typeof window.onload ? b : function() {
a && a();
b()
}
})(function() {
var b = window.jwplayer._tracker;
if (b) {
for (; 0 < b.q.length;) {
var a = b.q.shift();
V(b, a)
}
b.B = !0
}
});
function W(b, a, c, d) {
b.j[a] || (b.j[a] = {});
b.j[a][c] || (b.j[a][c] = {});
var e = X(b, a, c, d, !1);
b.j[a][c][e] && (e += "&dup=1");
b.debug && (d = X(b, a, c, d, !0), d.url = e, d.fired = !1, b.eventObjs.push(d));
b.B ? V(b, e) : b.q.push(e);
b.j[a][c][e] = !0
}
function Y(b, a, c) {
return new U(b, a, c)
}
function X(b, a, c, d, e) {
a = [Y("tv", b.trackerVersion, 0), Y("n", Math.random().toFixed(16).substr(2, 16), 2), Y("aid", a, 4), Y("e", c, 5), Y("i", b.o, 6), Y("pv", b.N, 7), Y("pu", b.i, 101), Y("pt", b.n, 103), Y("sdk", b.t, 25)].concat(d).sort(function(b, a) {
return b.C > a.C ? 1 : -1
});
b.v && a.push(Y("did", b.h.mobiledeviceid, 26), Y("sv", b.h.iossdkversion, 27), Y("dm", b.h.mobiledevicemodel, 28), Y("an", b.h.applicationname, 29));
if (e) {
b = {};
for (e = 0; e < a.length; e++) b[a[e].getKey()] = a[e].value;
return b
}
c = [];
for (e = 0; e < a.length; e++) c.push(a[e].getKey() +
"=" + encodeURIComponent(a[e].value));
return ["http" + ("https:" === document.location.protocol ? "s://s." : "://i."), b.P, "/", b.O, c.join("&")].join("")
}
function V(b, a) {
(new Image).src = a;
b.debug && w(b.eventObjs, function(b, d) {
d.url == a && (d.fired = !0)
})
};
function C(b) {
this.e = b
}
function ma(b, a) {
b.e.onReady(a)
}
function na(b, a) {
b.e.onComplete(a)
}
function oa(b, a) {
b.e.onTime(a)
}
function Z(b) {
return b.e.getPlaylistItem()
}
function $(b) {
return "html5" === b.e.getRenderingMode().toLowerCase()
}
C.prototype.k = function() {
return this.e.config
};
function pa(b, a, c) {
function d() {
l = {};
G = !1;
h = 0
}
function e(b) {
return function(a) {
if (!v) {
var c = l[b];
if ("meta" === b && (a = a.metadata || a, c && (a.width = a.width || c.width, a.height = a.height || c.height, a.duration = a.duration || c.duration), $(g) && (100 === a.duration || 0 === a.duration) && 0 === a.width && 0 === a.height)) return;
l[b] = a;
"play" === b && (c || (q = 0), s = g.e.getPosition());
if (l.play && l.meta && l.levels && !G) {
a = Z(g);
var c = H(a),
e = a.title || "",
d;
a: {
if ((d = l.levels) && d.w && d.w.length && (d = d.w[0]) && "auto" === ("" + d.label).toLowerCase()) {
d =
5;
break a
}
if ((d = a.sources) && d.length && (d = d[0].type, "aac" == d || "mp3" == d || "vorbis" == d)) {
d = 6;
break a
}
d = l.meta || {};
var m = d.width | 0;
d = 0 === m ? 0 < (d.height | 0) ? 0 : 6 : 320 >= m ? 1 : 640 >= m ? 2 : 1280 >= m ? 3 : 4
}
var m = z(),
h;
h = m | 0;
h = 0 >= h ? 0 : 15 > h ? 1 : 300 >= h ? 2 : 1200 >= h ? 3 : 4;
m = B(m);
x = $(g) ? 1 : 0;
W(I, r, "s", [f("ph", y, 1), f("pi", J, 8), f("m", x, 10), f("a", g.k().autostart ? 1 : 0, 11), f("ed", n, 20), f("vs", d, 21), f("l", h, 22), f("q", m, 23), f("mu", c, 100), f("t", e, 102), f("id", a.mediaid || "", 101)]);
G = !0
}
}
}
}
function z() {
var a = g.e.getDuration();
if (0 >= a) {
var b = l.meta;
b && (a = b.duration)
}
return a | 0
}
function B(a) {
a |= 0;
return 0 >= a ? 0 : 30 > a ? 1 : 60 > a ? 4 : 180 > a ? 8 : 300 > a ? 16 : 32
}
function ga() {
s = g.e.getPosition();
h = 0
}
function H(a) {
var b;
if (b = a.sources) {
a = [];
for (var c = b.length; c--;) b[c].file && a.push(b[c].file);
a.sort();
b = a[0]
} else b = a.file;
var d;
var e = b;
if (e.match(/^[a-zA-Z]+:\/\//)) d = e;
else {
d = d || document.location.href;
b = d.substring(0, d.indexOf("://") + 3);
a = d.substring(b.length, d.indexOf("/", b.length + 1));
c = e.split("/");
0 !== e.indexOf("/") && (d = d.split("?")[0], d = d.substring(b.length +
a.length + 1, d.lastIndexOf("/")), c = d.split("/").concat(c));
d = [];
for (e = 0; e < c.length; e++) c[e] && "." != c[e] && (".." == c[e] ? d.pop() : d.push(c[e]));
d = b + a + "/" + d.join("/")
}
return d
}
function qa() {
var a = g.k(),
b = g.e.getWidth(),
d = /\d+%/.test(a.width || b);
if (d && a.aspectratio) return 4;
if (a.height) {
var e = 0;
a.listbar && "bottom" === a.listbar.position && (e = a.listbar.size);
if (40 >= a.height - e) return 5
}
d && c && c.parentNode && (b = c.parentNode.offsetWidth);
b |= 0;
return 0 === b ? 0 : 320 >= b ? 1 : 640 >= b ? 2 : 3
}
function S(a, b, c) {
var d = Z(g),
e = H(d),
h =
d.title || "";
b = b + 0.5 | 0;
0 < b && W(I, r, "t", [f("ph", y, 1), f("pi", J, 8), f("ed", n, 20), f("ti", b, 21), f("pw", a | 0, 22), f("q", c, 23), f("mu", e, 100), f("t", h, 102), f("id", d.mediaid || "", 101)])
}
function ra(a) {
a.T ? v = !0 : v = !1
}
if (!1 !== a.enabled) {
var f = function(a, b, c) {
return new U(a, b, c)
},
T = false || !0 === a.debug,
g = new C(b),
J = String(a.id || "").substring(0, 34),
y = (b = window.jwplayer.defaults) && b.ph ? b.ph : 0;
2 === parseInt(a.sdkplatform) && (y = "");
var x, n = 0,
r;
if (window.jwplayer.key) {
b = new window.jwplayer.utils.key(window.jwplayer.key);
var t = b.edition();
"invalid" != t && (r = b.token());
"enterprise" == t ? n = 6 : "invalid" == t ? n = 4 : "ads" == t ? n = 3 : "premium" == t ? n = 2 : "pro" == t && (n = 1)
}
r || (r = "_");
var sa = new u(g, T, r, n),
I = new la(a, T),
l, G, h, q = 0,
s = null,
v = !1;
ma(g, function() {
var a = Z(g),
b = H(a),
c = a.title || "",
d = qa();
x = $(g) ? 1 : 0;
W(I, r, "e", [f("ph", y, 1), f("pi", J, 8), f("a", g.k().autostart ? 1 : 0, 11), f("ed", n, 20), f("ps", d, 21), f("mu", b, 100), f("t", c, 102), f("m", x, 10), f("id", a.mediaid || "", 101)]);
sa.u()
});
g.e.onPlay(e("play"));
g.e.onMeta(e("meta"));
g.e.onQualityLevels(e("levels"));
if (g.e.onCast) g.e.onCast(ra);
oa(g, function(a) {
if (!v) {
var b = a.position,
c = a.duration;
if (b) {
if (1 < b) {
if (!l.meta) {
a = {
duration: c
};
if ($(g)) {
var d = $(g) ? g.e.getContainer().getElementsByTagName("video")[0] : null;
d && (a.width = d.videoWidth, a.height = d.videoHeight)
}
e("meta")(a)
}
l.levels || e("levels")({})
}
a = B(c);
c = b / (c / a) + 1 | 0;
0 === h && (h = c);
null === s && (s = b);
d = b - s;
s = b;
d = Math.min(Math.max(0, d), 4);
q += d;
c === h + 1 && (b = 128 * h / a, h = 0, c > a || (S(b, q, a), q = 0))
}
}
});
na(g, function() {
if (!v) {
var a = z();
0 >= a || (S(128, q, B(a)), q = 0)
}
});
g.e.onSeek(ga);
g.e.onIdle(d);
g.e.onPlaylistItem(d);
d()
}
}
window.jwplayer && window.jwplayer() && window.jwplayer().registerPlugin("jwpsrv", "6.0", pa);
})();

Просмотреть файл

@ -0,0 +1,29 @@
<rss version="2.0" xmlns:jwplayer="http://rss.jwpcdn.com/">
<channel>
<item>
<title>Elephants Dream</title>
<description>Elephants Dream is a computer-generated short film that was produced almost completely using the free software 3D suite Blender</description>
<jwplayer:image>elephants_dream_640x360.jpg</jwplayer:image>
<jwplayer:source file="elephants_dream_640x360_2.30.mp4" />
<jwplayer:track file="elephants_dream.srt" />
</item>
<item>
<title>Big Buck Bunny</title>
<description>Big Buck Bunny is a short computer animated film by the Blender Institute.</description>
<jwplayer:image>big_buck_bunny_640x360.jpg</jwplayer:image>
<jwplayer:source file="big_buck_bunny_640x360_2.28.mp4" />
<jwplayer:track file="big_buck_bunny.srt" />
</item>
<item>
<title>Sintel Trailer</title>
<description>Sintel is a short computer animated film by the Blender Institute.</description>
<jwplayer:image>sintel_640x360.jpg</jwplayer:image>
<jwplayer:source file="sintel_640x360_2.28.mp4" />
<jwplayer:track file="sintel.srt" />
</item>
</channel>
</rss>

Просмотреть файл

@ -0,0 +1,33 @@
1
00:00:02,000 --> 00:00:08,000
(Howling blizzard)
2
00:00:09,500 --> 00:00:10,500
(Heavy drums)
3
00:00:12,000 --> 00:00:15,000
What brings you to the land
of the gatekeepers?
4
00:00:16,500 --> 00:00:17,500
(Heavy drums)
5
00:00:18,500 --> 00:00:20,500
I'm searching for someone.
6
00:00:26,500 --> 00:00:29,000
(Giant roar)
7
00:00:36,500 --> 00:00:39,000
A dangerous quest for a lone hunter.
8
00:00:41,500 --> 00:00:44,000
I've been alone for as long
as I can remember.

Двоичные данные
examples/jwplayer/sintel_640x360.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 19 KiB

Двоичные данные
examples/jwplayer/sintel_640x360_2.28.mp4 Normal file

Двоичный файл не отображается.