Tiện ích (vPlus) cho phép tác giả tạo một bản trình bày HTML được đồng bộ hoá với video. So với video truyền thống, vPlus có những lợi ích sau:
- các trang trình bày có thể sử dụng các tính năng của DevSite như:
- include để giúp dễ dàng sử dụng lại nội dung
- có điều kiện để hiển thị nội dung phù hợp với các đối tượng khác nhau, trong đó cùng một trang trình bày đề cập đến công nghệ nội bộ của nhân viên của Google và nội dung trên Google Cloud Platform cho công chúng nói chung
Tác giả có thể kiểm soát việc video sẽ xuất hiện ở một góc của trang trình bày, bao phủ toàn bộ trang trình bày hay dừng lại trong khi người dùng tương tác với trang trình bày.
Bản minh hoạ
Sau đây là ví dụ về vPlus minh hoạ các tính năng. Nhấn nút Play (Phát) để bắt đầu.
Lược đồ
Tiện ích Video Plus được tạo bằng cách đánh dấu một phần tử bằng lớp devsite-vplus
. Ngoài ra, phần tử đó phải chứa thuộc tính data-video-id
chỉ định mã nhận dạng của video trên YouTube sẽ hiển thị.
Nếu phần tử tiện ích cũng chứa thuộc tính data-captions-url
thì phần tử đó phải chỉ định một tệp json chứa phụ đề tương ứng với video. Tệp này phải nằm trong cùng thư mục với tệp md
hoặc html
, hoặc nếu tệp bắt đầu bằng "/", đường dẫn đến tệp sẽ bắt đầu ở gốc. Xem trình phát video vPlus để biết chi tiết về định dạng và cách tạo tệp này. Tệp phụ đề phải được trích xuất từ video theo cách thủ công; hãy xem //engedu/common/vplus/README.md
để biết thông tin chi tiết và một công cụ tạo tệp phụ đề.
Ngoài ra, phần tử devsite-vplus
phải chứa một phần tử có lớp devsite-vplus-content-container
. Đổi lại, phần tử đó phải chứa một phần tử thuộc lớp devsite-vplus-slide-frame
.
Mỗi phần tử bên trong phần tử devsite-vplus-slide-frame
được giả định là một trang trình bày. Các trang trình bày phải được liệt kê theo thứ tự thời gian. Mỗi thành phần của trang trình bày phải có thuộc tính data-start-time
. Thuộc tính này chỉ định thời gian hiển thị (tính bằng giây) trong trang trình bày này. Ngoài ra, mỗi trang trình bày có thể có một thuộc tính data-video-mode
. Thuộc tính đó có hai giá trị hợp lệ:
- "lớn": làm cho video chiếm hầu hết không gian của trang trình bày, che phủ trang trình bày.
- "sdừng": khiến video bị tạm dừng khi tiếp cận trang trình bày đó.
Nếu chế độ dữ liệu video không được chỉ định, video sẽ mặc định có kích thước nhỏ.
Tác giả trang trình bày có thể sẽ muốn chỉ định CSS bổ sung cho trang trình bày của họ. Vì các trang trình bày nằm trong một div
có lớp devsite-vplus-slide-frame
, nên kiểu CSS dành riêng cho trang trình bày có thể được đặt tên trên các phần tử con của lớp này.
Ví dụ:
<style>
.devsite-vplus-slide-frame h1 {
background-color: #4285F4;
border-bottom: 1px solid #7BAAF7;
color: #fff;
margin: 0;
padding: 10px;
top: 0 !important;
}
/* More styles... */
</style>
<div class="devsite-vplus" data-video-id="PXVnv_Paexc" data-captions-url="video-plus-captions.json">
<div class="devsite-vplus-content-container">
<div class="devsite-vplus-slide-frame">
<div data-start-time=0 class="title-background">
<div class="header1 title">vPlus Demo</div>
</div>
<div data-slide-note=true>
Note for the 'title' slide.
</div>
<div data-start-time=2 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-slide-note=true>
This slide was intentionally left blank.
</div>
<div data-start-time=13>
<div class="header2">Nice Informative Slide</div>
<ul>
<li>Nice, informative bullet point</li>
<li>Another nice, informative bullet point</li>
</ul>
</div>
<div data-slide-note=true>
Very meta. In this note, we could talk about several things:
<ul>
<li>What could go in the note versus in the slide itself.
<ul>
<li>Either can contain HTML or markdown</li>
<li>Whether it would be useful to display something to the viewer
or only in the notes that the presenter would presummably
see and may read out loud.</li>
</ul>
</li>
<li>Users may view notes themselves, usually offline.</li>
<li>Notes could be a way of
<a href="#demo">linking to demos</a>.
</li>
</ul>
</div>
<div data-start-time=21>
<div class="header2">Nice, informative cat picture</div>
<div>
<!-- Image CCO Public Domain at https://pixabay.com/en/kitten-cute-feline-kitty-domestic-1246693/ -->
<img class="cat-pic" src="https://cdn.pixabay.com/photo/2016/03/09/15/31/kitten-1246693_1280.jpg">
</div>
</div>
<div data-start-time=32 data-video-mode="stopped">
<div class="header2">Here's some interactive content</div>
<div>
<devsite-multiple-choice>
<div>What color is the sky?</div>
<div correct>
<div>Blue</div>
<div>But do you know <b>why</b>?</div>
</div>
<div>
<div>Purple</div>
<div>Not really</div>
</div>
<div>
<div>Indigo</div>
<div>Close but not quite</div>
</div>
<div>
<div>Green</div>
<div>What planet are you from?</div>
</div>
</devsite-multiple-choice>
</div>
</div>
<div data-slide-note="true">
Note, when an interactive slide is reached,
you have to click the 'Play' button,
or the 'Next Slide' button in order to continue.
</div>
<div data-start-time=33 data-video-mode="stopped">
<div class="header2">Here's some more interactive content - <a href="/blockly/">Blockly</a></div>
<iframe style="height: 75%; width: 90%; margin: 0 5%;" src="/blockly/blockly-demo/blockly-demo"></iframe>
</div>
<div data-start-time=34 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-start-time=78>
<div>
<div class="header2">Thanks for watching!</div>
<ul>
<li>Video Plus drives video play and slides</li>
<li>Reduces need to reshoot video if slides change</li>
<li>Provides searchable transcript</li>
<li>Pauses video for user interactions</li>
<li>Video can switch between large and small</li>
</ul>
</div>
</div>
</div>
</div>
</div>
Khi tiện ích vPlus xuất hiện trên một trang, trình phát video sẽ không tự động chạy, nhưng sau khi người dùng nhấn nút phát, các trang trình bày và phụ đề (nếu xuất hiện) sẽ tự động chuyển sang dạng chuyển tiếp. Người dùng cũng có thể sử dụng những thao tác sau đây trên chuột và bàn phím để tương tác với tiện ích.