Video Plus

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.

Bản minh hoạ vPlus
Lưu ý về "title" (tiêu đề) trượt.
Trang trình bày này được để trống có chủ đích.
Trang trình bày hữu ích, giàu thông tin
  • Dấu đầu dòng thú vị và nhiều thông tin
  • Một dấu đầu dòng thú vị và giàu thông tin khác
Rất meta. Trong ghi chú này, chúng ta có thể nói về một số nội dung:
  • Nội dung có thể được đưa vào phần ghi chú so với trong chính trang trình bày.
    • Có thể chứa HTML hoặc Markdown
    • Việc hiển thị nội dung nào đó cho người xem có hữu ích hay không hoặc chỉ trong phần ghi chú mà người trình bày có lẽ sẽ cho rằng nhìn và có thể đọc to.
  • Người dùng có thể tự xem ghi chú, thường là khi không có mạng.
  • Ghi chú có thể là cách liên kết đến bản minh hoạ.
Ảnh mèo đẹp và chứa nhiều thông tin
Sau đây là một số nội dung tương tác
Bầu trời màu gì?
Xanh dương
Nhưng bạn có biết lý do không?
Tía
Không thực sự hữu ích
Chàm
Gần đúng nhưng chưa chính xác
Xanh lục
Bạn đến từ hành tinh nào?
Lưu ý, khi tiếp cận một trang trình bày tương tác, bạn phải nhấp vào nút "Play" nút hoặc 'Trang trình bày tiếp theo' để tiếp tục.
Sau đây là một số nội dung có tính tương tác cao hơn – Blockly
Cảm ơn bạn đã xem!
  • Video Plus thúc đẩy lượt phát video và trang trình bày
  • Giảm bớt thời gian quay lại video nếu trang trình bày thay đổi
  • Cung cấp bản chép lời có thể tìm kiếm
  • Tạm dừng video để người dùng tương tác
  • Video có thể chuyển đổi giữa kích thước lớn và nhỏ

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.