Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,005 --> 00:00:03,004
- The power of the web has revolutionized the way
2
00:00:03,004 --> 00:00:06,004
that we connect and share experiences.
3
00:00:06,004 --> 00:00:10,005
Film, television and, well, teaching have all
4
00:00:10,005 --> 00:00:13,000
been transformed by the ability of the web
5
00:00:13,000 --> 00:00:15,002
to transmit video.
6
00:00:15,002 --> 00:00:18,000
One way to put video content on a webpage
7
00:00:18,000 --> 00:00:21,006
is to use the video element in HTML.
8
00:00:21,006 --> 00:00:23,002
Just like the audio element,
9
00:00:23,002 --> 00:00:26,000
we can create a video element with both an opening
10
00:00:26,000 --> 00:00:27,004
and a closing tag.
11
00:00:27,004 --> 00:00:31,005
We use the source attribute to point to a video file.
12
00:00:31,005 --> 00:00:34,008
And, we add the controls attribute to tell the browser
13
00:00:34,008 --> 00:00:37,002
to create a video player for us.
14
00:00:37,002 --> 00:00:39,001
Great, we're done now, right?
15
00:00:39,001 --> 00:00:42,008
Well, maybe, this is pretty cool.
16
00:00:42,008 --> 00:00:44,006
It's very simple.
17
00:00:44,006 --> 00:00:48,003
There are a couple problems though for us to solve.
18
00:00:48,003 --> 00:00:51,008
The first has to do with how videos are encoded.
19
00:00:51,008 --> 00:00:53,009
For the simplest version of this demo,
20
00:00:53,009 --> 00:00:58,001
I've made a video file that 480p compressed using
21
00:00:58,001 --> 00:01:01,008
the H.264 codec delivered as an MP4 file.
22
00:01:01,008 --> 00:01:07,006
480p means that there are 480 lines of resolution
23
00:01:07,006 --> 00:01:13,004
or 720 pixels wide by 400 pixels tall.
24
00:01:13,004 --> 00:01:17,004
It's standard depth, not HD, not 4K.
25
00:01:17,004 --> 00:01:19,005
I'm using the H.264 codec
26
00:01:19,005 --> 00:01:21,008
because it has the widest support across browsers
27
00:01:21,008 --> 00:01:26,000
at the moment, much like choosing between PNG, JPEG,
28
00:01:26,000 --> 00:01:28,005
GIF, or SVG for images,
29
00:01:28,005 --> 00:01:30,003
there are a bunch of different codecs
30
00:01:30,003 --> 00:01:33,000
which a video file might be encoded.
31
00:01:33,000 --> 00:01:35,005
Video files contain a lot of data
32
00:01:35,005 --> 00:01:39,005
and can get incredibly big when they aren't compressed,
33
00:01:39,005 --> 00:01:41,009
far too big to travel across the internet.
34
00:01:41,009 --> 00:01:45,009
So, any internet video is using a pretty hefty mechanism
35
00:01:45,009 --> 00:01:47,007
for smashing all the data into
36
00:01:47,007 --> 00:01:52,000
the smallest possible package.
37
00:01:52,000 --> 00:01:55,001
There've been many attempts to make the ultimate codec,
38
00:01:55,001 --> 00:01:59,009
Real Video, Sorenson, Windows Media, Flash, H.263,
39
00:01:59,009 --> 00:02:03,007
there've been a lot of codecs.
40
00:02:03,007 --> 00:02:08,006
From about 2015 to 2020, the H.264 codec
41
00:02:08,006 --> 00:02:10,003
is the one that's dominated.
42
00:02:10,003 --> 00:02:13,004
It's the codec that most of us are using most of the time.
43
00:02:13,004 --> 00:02:17,008
But the thing is, it's not open source, it's patented.
44
00:02:17,008 --> 00:02:20,003
It's owned by a consortium that charges fees
45
00:02:20,003 --> 00:02:23,008
for every device, every operating system, every browser,
46
00:02:23,008 --> 00:02:27,005
every camera, anything that wants to be able to record,
47
00:02:27,005 --> 00:02:31,002
compress or play H.264 files.
48
00:02:31,002 --> 00:02:36,009
And, they are about to charge way more for H.265
49
00:02:36,009 --> 00:02:39,000
None of the image file formats that we use
50
00:02:39,000 --> 00:02:41,004
are owned by someone who's charging licensing fees.
51
00:02:41,004 --> 00:02:44,001
They're all public, anyone can use JPEG or GIF.
52
00:02:44,001 --> 00:02:46,001
None of the underlying technology on the web
53
00:02:46,001 --> 00:02:46,009
should be patented.
54
00:02:46,009 --> 00:02:48,004
HTML isn't patented.
55
00:02:48,004 --> 00:02:49,008
You don't have to pay to use CSS.
56
00:02:49,008 --> 00:02:52,000
Why should video codecs be different?
57
00:02:52,000 --> 00:02:55,001
To fix this, a lot of effort has gone
58
00:02:55,001 --> 00:02:58,005
into creating a truly open, not patented,
59
00:02:58,005 --> 00:03:01,003
but still super awesome video codec.
60
00:03:01,003 --> 00:03:04,007
Folks had hoped that WebM would emerge the winner,
61
00:03:04,007 --> 00:03:07,002
but it's still unclear if it will.
62
00:03:07,002 --> 00:03:08,006
More recently, there's great hope
63
00:03:08,006 --> 00:03:10,009
that we finally solved this with AV1.
64
00:03:10,009 --> 00:03:15,000
It's looking like AV1 is a better codec than H.264
65
00:03:15,000 --> 00:03:18,000
and is truly royalty free.
66
00:03:18,000 --> 00:03:20,009
Time will tell on how things shake out.
67
00:03:20,009 --> 00:03:22,008
The good thing is that the video element
68
00:03:22,008 --> 00:03:26,007
has the ability for us to point to multiple source files.
69
00:03:26,007 --> 00:03:29,002
We can use more than one codec at the same time.
70
00:03:29,002 --> 00:03:31,009
We can use H.264 and WebM.
71
00:03:31,009 --> 00:03:35,003
And, once there're tools for making AV1 files,
72
00:03:35,003 --> 00:03:36,008
we can use AV1.
73
00:03:36,008 --> 00:03:39,001
This works the same way as it does
74
00:03:39,001 --> 00:03:41,005
for the audio and picture elements.
75
00:03:41,005 --> 00:03:45,005
We use a source element to list the multiple file formats,
76
00:03:45,005 --> 00:03:48,009
with the source attribute to link to the file,
77
00:03:48,009 --> 00:03:51,004
and the type attribute to tell the browser
78
00:03:51,004 --> 00:03:53,000
which type of file it is.
79
00:03:53,000 --> 00:03:56,004
The browser will play the first file that it understands.
80
00:03:56,004 --> 00:03:58,009
Which brings us to the second problem to solve.
81
00:03:58,009 --> 00:04:01,008
I've got a 480p file here
82
00:04:01,008 --> 00:04:03,006
and this is probably a good choice for users
83
00:04:03,006 --> 00:04:06,002
who have a smaller screen and a slower network connection.
84
00:04:06,002 --> 00:04:09,001
Although, maybe an even smaller video
85
00:04:09,001 --> 00:04:13,000
would be good for them, 360p or 240p.
86
00:04:13,000 --> 00:04:15,003
What about the people who have a faster connection
87
00:04:15,003 --> 00:04:17,007
and want HD or 4K?
88
00:04:17,007 --> 00:04:20,004
We'd like to send them a pretty big file.
89
00:04:20,004 --> 00:04:23,003
We have a solution for this with images.
90
00:04:23,003 --> 00:04:25,006
With the image source set and picture,
91
00:04:25,006 --> 00:04:28,004
but there's nothing in HTML that will allow us
92
00:04:28,004 --> 00:04:30,003
to send different sizes of video
93
00:04:30,003 --> 00:04:32,004
under different network conditions.
94
00:04:32,004 --> 00:04:35,004
In part, that's because we don't want the device
95
00:04:35,004 --> 00:04:40,001
to get only one moment to make a choice between, say,
96
00:04:40,001 --> 00:04:42,000
standard def and high def.
97
00:04:42,000 --> 00:04:46,002
We want it to make that choice over and over and over again.
98
00:04:46,002 --> 00:04:49,007
Maybe, someone has an HD screen,
99
00:04:49,007 --> 00:04:51,008
but the network is kind of slow,
100
00:04:51,008 --> 00:04:54,002
so instead of sending them a 1080p file,
101
00:04:54,002 --> 00:04:56,005
we want to send them a 720 video,
102
00:04:56,005 --> 00:04:59,002
but then, as soon as their network speed improves,
103
00:04:59,002 --> 00:05:02,001
we want to switch from 720 to 1080.
104
00:05:02,001 --> 00:05:05,007
This is how Netflix, Hulu, HBO, YouTube, Vimeo
105
00:05:05,007 --> 00:05:07,005
and all those TV apps work.
106
00:05:07,005 --> 00:05:10,009
They're constantly switching from one resolution to another
107
00:05:10,009 --> 00:05:12,005
as people watch,
108
00:05:12,005 --> 00:05:16,004
using a technique called adaptive bitrate streaming.
109
00:05:16,004 --> 00:05:18,009
The whole thing is really complicated and basically,
110
00:05:18,009 --> 00:05:22,008
it requires a server farm of transcoding robots,
111
00:05:22,008 --> 00:05:26,001
which is why when you go to put video on a website,
112
00:05:26,001 --> 00:05:29,002
it's likely you might not use the video element.
113
00:05:29,002 --> 00:05:31,003
There's a good chance you'll use embed code
114
00:05:31,003 --> 00:05:33,005
from a video hosting service,
115
00:05:33,005 --> 00:05:38,000
which I'll talk about right after we talked about captions.
8672
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.