วิดีโอพลัส

วิดเจ็ต (vPlus) ช่วยให้ผู้เขียนสามารถสร้างชุดสไลด์ HTML ที่ซิงค์กับวิดีโอ ประโยชน์ของ vPlus เมื่อเทียบกับวิดีโอแบบดั้งเดิมมีดังนี้

  • สไลด์จะใช้ฟีเจอร์ของ DevSite ได้ เช่น
    • รวมถึงที่ช่วยให้นำเนื้อหากลับมาใช้ใหม่ได้ง่าย
    • เงื่อนไข เพื่อแสดงเนื้อหาที่ปรับแต่งให้เหมาะกับกลุ่มเป้าหมายต่างๆ โดยที่สไลด์เดียวกันจะหมายถึงเทคโนโลยีภายในสำหรับ Googler และเนื้อหาของ Google Cloud Platform สำหรับบุคคลทั่วไป

ผู้เขียนสามารถควบคุมได้ว่าวิดีโอจะแสดงที่มุมใดมุมหนึ่งของสไลด์ ครอบคลุมทั้งสไลด์ หรือหยุดเล่นขณะที่ผู้ใช้โต้ตอบกับสไลด์

สาธิต

ต่อไปนี้เป็นตัวอย่างของ vPlus ที่แสดงคุณลักษณะ กดปุ่มเล่นเพื่อเริ่ม

การสาธิต vPlus
หมายเหตุสำหรับ "ชื่อ" สไลด์
สไลด์นี้ถูกเว้นว่างไว้โดยเจตนา
สไลด์ให้ข้อมูลที่เป็นประโยชน์
  • หัวข้อย่อยให้ข้อมูลที่เป็นประโยชน์
  • อีกหัวข้อย่อยที่มีประโยชน์และน่าสนใจ
เมตามาก ในหมายเหตุนี้ เราอาจพูดถึงสิ่งต่างๆ มากมาย ดังนี้
  • ข้อมูลที่ควรใส่ในโน้ตเทียบกับตัวสไลด์เอง
    • อาจมี HTML หรือมาร์กดาวน์
    • การแสดงให้ผู้ชมเห็นจะเป็นประโยชน์ไหม หรือเฉพาะในบันทึกที่ผู้นำเสนอน่าจะคาดเดา ดูและอ่านออกเสียงได้
  • ผู้ใช้สามารถดูโน้ตด้วยตนเองได้ ซึ่งโดยปกติจะออฟไลน์อยู่
  • บันทึกอาจเป็นวิธี ที่ลิงก์ไปยังการสาธิต
รูปภาพแมวที่ให้ข้อมูลที่เป็นประโยชน์
นี่คือเนื้อหาแบบอินเทอร์แอกทีฟบางส่วน
ท้องฟ้าสีอะไร
น้ำเงิน
แต่คุณรู้ไหมว่าทำไม
ม่วง
ไม่ค่อยมีประโยชน์
น้ำเงินอมม่วง
ใกล้เคียงแล้ว แต่ยังไม่ใช่
เขียว
คุณมาจากดาวเคราะห์ดวงไหน
โปรดทราบว่าเมื่อถึงสไลด์แบบอินเทอร์แอกทีฟ คุณต้องคลิกปุ่ม "เล่น" ปุ่ม หรือ "สไลด์ถัดไป" เพื่อดำเนินการต่อ
ต่อไปนี้คือเนื้อหาที่มีการโต้ตอบมากขึ้น - Blockly
ขอขอบคุณที่ติดตามชม!
  • Video Plus ช่วยขับเคลื่อนการเล่นวิดีโอและสไลด์
  • ลดความจำเป็นในการถ่ายทำวิดีโอใหม่เมื่อสไลด์เปลี่ยนไป
  • มอบข้อความถอดเสียงที่ค้นหาได้
  • หยุดวิดีโอชั่วคราวเพื่อให้ผู้ใช้โต้ตอบ
  • วิดีโอสลับไปมาระหว่างขนาดใหญ่กับขนาดเล็กได้

สคีมา

วิดเจ็ต Video Plus สร้างขึ้นโดยการทำเครื่องหมายองค์ประกอบด้วยคลาส devsite-vplus นอกจากนี้ องค์ประกอบดังกล่าวต้องมีแอตทริบิวต์ data-video-id ที่ระบุรหัสของวิดีโอ YouTube ที่จะแสดง

หากองค์ประกอบวิดเจ็ตมีแอตทริบิวต์ data-captions-url ด้วย ก็ควรระบุไฟล์ JSON ที่มีคำบรรยายแทนเสียงที่เกี่ยวข้องกับวิดีโอ ไฟล์นี้ควรอยู่ในไดเรกทอรีเดียวกับไฟล์ md หรือ html หรือหากขึ้นต้นด้วย "/" เส้นทางไปยังไฟล์จะเริ่มต้นที่รูท ดูรายละเอียดเกี่ยวกับรูปแบบและการสร้างไฟล์นี้ได้ที่โปรแกรมเล่นวิดีโอ vPlus ไฟล์คำบรรยายแทนเสียงจะต้องแยกออกจากวิดีโอด้วยตนเอง ดูรายละเอียดและเครื่องมือสร้างไฟล์คำบรรยายแทนเสียงได้ที่ //engedu/common/vplus/README.md

นอกจากนี้ องค์ประกอบ devsite-vplus ควรมีองค์ประกอบที่มีคลาส devsite-vplus-content-container องค์ประกอบดังกล่าวควรมีเอลิเมนต์ที่มีคลาส devsite-vplus-slide-frame

แต่ละองค์ประกอบภายในองค์ประกอบ devsite-vplus-slide-frame จะถือว่าเป็นสไลด์ สไลด์จะต้องแสดงตามลำดับเวลา องค์ประกอบสไลด์แต่ละรายการต้องมีแอตทริบิวต์ data-start-time ที่ระบุเวลาในหน่วยวินาทีทั้งหมดที่ควรแสดงสไลด์นี้ นอกจากนี้ แต่ละสไลด์อาจมีแอตทริบิวต์ data-video-mode แอตทริบิวต์ดังกล่าวมีค่าที่ถูกต้อง 2 ค่าดังนี้

  • "large": ทำให้วิดีโอมีพื้นที่ส่วนใหญ่ของสไลด์ซึ่งบังสไลด์
  • "หยุด": ทำให้วิดีโอหยุดชั่วคราวเมื่อถึงสไลด์นั้น

หากไม่ได้ระบุโหมด data-video-mode วิดีโอจะใช้ขนาดเล็กเป็นค่าเริ่มต้น

ผู้เขียนสไลด์อาจต้องการระบุ CSS เพิ่มเติมสำหรับสไลด์ของตน เนื่องจากสไลด์อยู่ใน div ที่มีคลาส devsite-vplus-slide-frame รูปแบบ CSS เฉพาะของสไลด์จึงใช้เนมสเปซเป็นองค์ประกอบย่อยของคลาสนี้ได้

เช่น

<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>

เมื่อวิดเจ็ต vPlus แสดงบนหน้าเว็บ วิดีโอเพลเยอร์จะไม่เริ่มทำงานโดยอัตโนมัติ แต่หลังจากที่ผู้ใช้กดปุ่มเล่น สไลด์และคำอธิบายภาพ (หากมี) จะได้รับการขั้นสูงโดยอัตโนมัติ ผู้ใช้ยังสามารถใช้การทำงานของเมาส์และแป้นพิมพ์ต่อไปนี้เพื่อโต้ตอบกับวิดเจ็ตได้