Jump to content

You Tube as Interactive Delivery Tool for Science Education?

Featured Replies

In developing our "science outreach" You Tube Channel programming, one of the things that struck me was that the interactive elements allow delivery of "software like" videos applications. By which I mean it is possible to pre-compute a whole bunch of solutions to different problems using scientific software/programs and then allow viewers to make their way through choices/menus to get down to different levels of "granuality" of different parameters. Here is an extremely simple example, which was created to help blasting engineers visualize how changing different things effect the shock waves in the rock

 

 

Certainly one feels the technical merit for science education could be quite high.

The video is an mp4. You can skip to specific frames in a video using links added in youtube's video editor. In this video the left and right sides are left blank to leave space for the links. On youtube you have to specify the start and end frame for each label. So since the labels in this video are static they are added from frame 00:00:00:00 to 00:00:01:12. All they have done is specify a link to each perticular frame of interest. Video uses javascript by the way. This would be the code to do this if you wanted to.

 

<script>

   //  skip forward, backward, or restart   function setTime(tValue) {   //  if no video is loaded, this throws an exception        try {           if (tValue == 0) {               video.currentTime = tValue;           }           else {               video.currentTime += tValue;           }                   } catch (err) {            // errMessage(err) // show exception        errMessage("Video content might not be loaded");          }}

</script>

<video id="video" src=video.mp4></video>

<button onclick=setTime(integer)></button>

 

Note currently in order to run videos on all screens you need to use 4 formats. Mp4,WebM,OGV,FLV you tube runs ffmpeg to convert videos to all four on video upload. Which requires you own your own servers because ffmpeg runs locally on the server ie it's a C program ffmpeg.exe. Now in javascript you can read a browsers url. Then I can split the string after a perticular value and use this value as tValue. Like a get method form. So when I get video url in the html5 video context menu I am really only getting a link to that video plus the javascript tvalue. Please note the links dont have to be in the video just somewhere on the webpage. On youtube just add #t=(integer)s to your url to skip to any point in the video. Where t is your tValue. So on the right hand side there you have these links. You also see how each t value specifies a different frame.

https://www.youtube.com/watch?v=OuGT4ew1ziE#t=0s
https://www.youtube.com/watch?v=OuGT4ew1ziE#t=15s
https://www.youtube.com/watch?v=OuGT4ew1ziE#t=30s
https://www.youtube.com/watch?v=OuGT4ew1ziE#t=50s
https://www.youtube.com/watch?v=OuGT4ew1ziE#t=1m8s

If you were to locally host a video you could just use <a href="#t=60s">60 seconds</a> that way the page doesn't need to reload. Now youtube uses seconds, minutes and hours but only takes a tvalue in seconds so... math

Edited by fiveworlds

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.