Anonymous
Not logged in
Talk
Contributions
Create account
Log in
Publication Station
Search
Editing
Courses/Design & Technique-Essential Web Design/Q2/06
From Publication Station
Namespaces
Page
Discussion
More
More
Page actions
Read
Edit
History
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==video sources== https://archive.org/details/movies https://commons.wikimedia.org/wiki/Main_Page ==Simple examples== Video: https://codepen.io/PublicationStation/pen/rQZaLJ Audio: https://codepen.io/PublicationStation/pen/MOVgON == video codecs and containers explained== Video file formats (.avi .mp4 .ogv .mkv) are containers to video and audio streams * Each '''video format''' allow specific audio and video codecs * '''codecs''' are the way by which a audio or video stream is encoded and decoded. Current web browsers support: * video format: '''.mp4''' with streams ** '''video''' encoded with '''H264 codec''' ** '''audio''' encodec with '''AAC''' (multichannel) or '''MP3''' (stereo) codecs ==first, preparing your video files== To be certain that your videos will play in all current browsers, you'll need to have your videos or audio encoded in the codecs above. There are several solutions to do this: * [https://handbrake.fr/ Handbrake] * [http://www.mirovideoconverter.com/ Miro] ===in Miro=== * Select the file you want to convert to .ogv and .mp4 * Choose the Format menu: ** '''For a .mp4 video''' Video > <code>MP4</code> ** '''For a .ogv video''' Video > <code>Ogg Theora</code> * Press the large button: "Convert to ..." Conversion will start. When it is done the new file will be saved. [[File:Miro Video Converter_005.png|300px]] ===in Handbrake=== See https://www.techspot.com/article/1131-hevc-h256-enconding-playback/ == video tag == [http://codepen.io/PublicationStation/pen/YpXKQa See code in action in codepen] <source lang="html4strict"> <video controls> <source src="http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/videos/tour.mp4" type="video/mp4"> </video> </source> This is the simplest a web video player you can get. A <nowiki><video></nowiki> tag encapsulating 1 <nowiki><source></nowiki> tag, that contains the same video mp4 file</nowiki>. The argument <nowiki>controls</nowiki> make sure the video players has controls. ==audio tag== If you want to create an audio player, it is similar to video: [http://codepen.io/PublicationStation/pen/rWVNVG See code in action in codepen] <source lang="html4strict"> <audio controls> <source src="https://ia802608.us.archive.org/15/items/OTRR_X_Minus_One_Singles/XMinusOne55-04-24001NoContact.mp3" type="audio/mp3"> </audio> </source> == video / audio tag attributes == Besides <nowiki>controls</nowiki> the <nowiki><video></nowiki> and <nowiki><audio></nowiki> has a number of other attributes. More on video attributes: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video * controls - if present, show player's controls * autoplay - if present, automatically start player as page loads. * loop - if present, * poster - presents a poster image while the video is stopped as * height * width [http://codepen.io/PublicationStation/pen/WovNww See code in action in codepen] <source lang="html4strict"> <video controls loop width=800 poster="http://static.ddmcdn.com/gif/tour-de-france-top-ways-the-race-has-changed-picnic-130619.jpg"> <source src="http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/videos/tour.mp4" type="video/mp4"> </video> </source> == examples video element with CSS== http://codepen.io/PublicationStation/pen/YpXKQa http://codepen.io/PublicationStation/pen/PbqBdP =Audio & Video in Public Spaces = * LUSTlab: [http://lust.nl/#projects-3478 ''Urban Echo''] * http://publicationstation.wdka.hro.nl/go-student/Q2/Beursplein/rules-video2.html ==homework assignment== ===#1 - video === '''Build a web page with a video player, where:''' * video plays automatically, loops and has a posts ------ = Interaction = ==media events== Using Javascript and jQuery is possible to interactively control the audio/video events. Here are a few examples<ref name="events">See more examples in: http://www.w3.org/2010/05/video/mediaevents.html http://www.w3.org/TR/html5/embedded-content-0.html#mediaevents</ref>: === play / pause with mouseover === [http://codepen.io/PublicationStation/pen/GNJRER See code in action in codepen] <source lang="html4strict"> <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <style> body {text-align:center;} div.videowrap {display: inline-block;} </style> </head> <body> <div class="videowrap"> <video id="testvideo" autoplay loop width=800 poster="http://static.ddmcdn.com/gif/tour-de-france-top-ways-the-race-has-changed-picnic-130619.jpg"> <source src="http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/videos/tour.mp4" type="video/mp4"> </video> </div> <script> $(document).ready( function(){ video = $('video#testvideo')[0]; //video player on to variable $('div.videowrap').mouseover( function(){ video.play() }) .mouseout( function(){ video.pause() }) }) </script> </body> </html> </source> === move forward / back in currentTime === [http://codepen.io/PublicationStation/pen/jVPOmy See code in action in codepen] Left and right arrow keys change video's currenttime. <source lang="html4strict"> <script> $(document).ready( function(){ video = $('video#testvideo')[0]; //video player on to variable $( 'body').keydown(function( event ) { console.log(event); if ( event.key == 'ArrowLeft' ){ video.currentTime=video.currentTime-1;} if ( event.key == 'ArrowRight' ){ video.currentTime=video.currentTime+1;} }) }) </script> </source> instead of interacting with .currentTime it is possible to interact with * playbackRate playbackRate=1; // original playback rate playbackRate=0.1; // very slow playback rate playbackRate-=0.1; // decrease playback rate playbackRate+=0.1; // increase playback rate * volume playBackRate-=0.1; // playBackRate+=0.1 == event listeners== It is also possible to write scripts to react to certain media events, such as play, pause, ended, etc. The way it works is by adding and event listener to the video tag, that waits for an event to happen. When it does happen it executes the function video.addEventListener('event', function(e){ do something here}) ===events=== Here is a list of media events that can be listened to: * playing - The MediaController is no longer a blocked media controller. * ended - The MediaController has reached the end of all the slaved media elements. * durationchange - The duration attribute has just been updated. * timeupdate - The media controller position changed. * play Event - The paused attribute is newly false. * pause - The paused attribute is newly true. * ratechange - Either the defaultPlaybackRate attribute or the playbackRate attribute has just been updated. * volumechange - Either the volume attribute or the muted attribute has just been updated. <ref name="listeners">Full list of media events: http://www.w3.org/TR/html5/embedded-content-0.html#mediaevents</ref> === more interaction === Here is example with video interaction, using JS : http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/skies/ === playing === [[http://codepen.io/PublicationStation/pen/GNJRwo]] CODE pen is not responding In these example, while playing change the body's background to black and when paused to white. <source lang="html4strict"> <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <style> body{text-align:center;} div.videowrap {display: inline-block;} </style> </head> <body> <div class="videowrap"> <video id="testvideo" controls width=800 poster="http://static.ddmcdn.com/gif/tour-de-france-top-ways-the-race-has-changed-picnic-130619.jpg"> <source src="http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/videos/tour.mp4" type="video/mp4"> <source src="http://publicationstation.wdka.hro.nl/go-student/Andre-Castro/videos/tour.ogv" type="video/ogg"> </video> </div> <script> $(document).ready( function(){ video = $('video#testvideo')[0]; //video player on to variable video.addEventListener('play', function(event){ $('body').css('background', 'black'); }) video.addEventListener('pause', function(event){ $('body').css('background', 'white'); }) }) </script> </body> </html> </source> ---- ===#2 video === Once you learn JS * includes an event listener that changes something on your page or the video * the user can interact with video events, '''without using the video player's controls'''. ----- =references= [http://www.dr-lex.be/info-stuff/mediaformats.html Blog on containers and codecs] [https://en.wikipedia.org/wiki/Comparison_of_video_container_formats#Formats_supported AV Codes supported by video containers] =notes= <references/>
Summary:
Please note that all contributions to Publication Station are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
Publication Station:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation
Main navigation
Main page
Printmaking Studio
Print Studio
Dig. Publishing Studio
Namespaces
Grafiwiki
Random Page
Log in
Wiki tools
Wiki tools
Page tools
Page tools
User page tools
More
What links here
Related changes
Page information
Page logs