Watch YouTube videos with QuickTime
Requires SIMBL and GreaseKit. Tested on Safari.
1. Youtube QT (http://www.joeyhagedorn.com/media/downloads/youtubeQT.user.js)
2. Download YouTube Videos as MP4 (http://members.optusnet.com.au/lbramsay/youtube_mp4.user.js)
# YouTube in MP4 via QuickTime Plugin! # http://www.joeyhagedorn.com/2008/04/16/youtube-in-mp4-via-quicktime-plugin open -a Safari http://www.joeyhagedorn.com/media/downloads/youtubeQT.user.js # Download YouTube Videos as MP4 Files # http://googlesystem.blogspot.com/2008/04/download-youtube-videos-as-mp4-files.html open -a Safari http://members.optusnet.com.au/lbramsay/youtube_mp4.user.js
1. Youtube QT (http://www.joeyhagedorn.com/media/downloads/youtubeQT.user.js)
// ==UserScript== // @name Youtube QT // @namespace userscripts.org // @description Plays the high-resolution YouTube video in an embedded Quicktime player // @version 0.1 // @include http://youtube.com/watch?* // @include http://www.youtube.com/watch?* // @include http://*.youtube.com/watch?* // ==/UserScript== var video_id = null; var video_hash = null; var video_player = document.getElementById('movie_player'); if (video_player) {var flash_variables=video_player.attributes.getNamedItem('flashvars'); if (flash_variables) {var flash_values=flash_variables.value; if (flash_values) {var video_id_match=flash_values.match(/video_id=([^(\&|$)]*)/); if (video_id_match!=null) video_id=video_id_match[1]; var video_hash_match=flash_values.match(/t=([^(\&|$)]*)/); if (video_hash_match!=null) video_hash=video_hash_match[1]; } } } if (video_id==null || video_hash==null) {var args=unsafeWindow.swfArgs; if (args) {video_id=args['video_id']; video_hash=args['t']; } } if (video_id==null || video_hash==null) return; var yt_mp4_path = 'http://www.youtube.com/get_video?fmt=18&video_id='+video_id+'&t='+video_hash; var div_embed=document.getElementById('watch-player-div'); if (div_embed) {div_embed.innerHTML='<embed src=\''+yt_mp4_path+'\' type="video/mp4" width=480 height=400 scale=\'aspect\'></embed>'; };
2. Download YouTube Videos as MP4 (http://members.optusnet.com.au/lbramsay/youtube_mp4.user.js)
// ==UserScript== // @name Download YouTube Videos as MP4 // @description Adds an option to download YouTube videos. // @namespace http://googlesystem.blogspot.com // @include http://*.youtube.com/watch?* // @include http://youtube.com/watch?* // @version 0.4 // ==/UserScript== if ( navigator.userAgent.indexOf("AppleWebKit") != -1 ) { if (document.getElementById('download-youtube-video')) return; var video_id = null; var video_hash = null; var video_player = document.getElementById('movie_player'); if (video_player) { var flash_variables = video_player.attributes.getNamedItem('flashvars'); if (flash_variables) { var flash_values = flash_variables.value; if (flash_values) { var video_id_match = flash_values.match(/video_id=([^(\&|$)]*)/); if (video_id_match!=null) video_id = video_id_match[1]; var video_hash_match = flash_values.match(/t=([^(\&|$)]*)/); if (video_hash_match!=null) video_hash = video_hash_match[1]; } } } if (video_id==null || video_hash==null) { var args = window.swfArgs; if (args) { video_id = args['video_id']; video_hash = args['t']; } } if (video_id==null || video_hash==null) return; var yt_mp4_path ='http://www.youtube.com/get_video?fmt=18&video_id='+video_id+'&t='+video_hash; var div_embed = document.getElementById('watch-embed-div'); if (div_embed) { div_embed.innerHTML = div_embed.innerHTML + '<br /> <span id=\'download-youtube-video\'> <a href=\''+yt_mp4_path+'\'>Download as MP4</a> '+ ((navigator.userAgent.indexOf('Safari')!=-1)?'(control-click and select <i>Download linked file as</i>)' : ('(right-click and select <i>Save '+ (navigator.appName=='Microsoft Internet Explorer'?'target':'link') +' as</i>)')) + '</span>'; } } else { (function () { if (document.getElementById('download-youtube-video')) return; var video_id = null; var video_hash = null; var video_player = document.getElementById('movie_player'); if (video_player) { var flash_variables = video_player.attributes.getNamedItem('flashvars'); if (flash_variables) { var flash_values = flash_variables.value; if (flash_values) { var video_id_match = flash_values.match(/video_id=([^(\&|$)]*)/); if (video_id_match!=null) video_id = video_id_match[1]; var video_hash_match = flash_values.match(/t=([^(\&|$)]*)/); if (video_hash_match!=null) video_hash = video_hash_match[1]; } } } if (video_id==null || video_hash==null) { var args = unsafeWindow.swfArgs; if (args) { video_id = args['video_id']; video_hash = args['t']; } } if (video_id==null || video_hash==null) return; var yt_mp4_path ='http://www.youtube.com/get_video?fmt=18&video_id='+video_id+'&t='+video_hash; var div_embed = document.getElementById('watch-embed-div'); if (div_embed) { div_embed.innerHTML = div_embed.innerHTML + '<br /> <span id=\'download-youtube-video\'> <a href=\''+yt_mp4_path+'\'>Download as MP4</a> '+ ((navigator.userAgent.indexOf('Safari')!=-1)?'(control-click and select <i>Download linked file as</i>)' : ('(right-click and select <i>Save '+ (navigator.appName=='Microsoft Internet Explorer'?'target':'link') +' as</i>)')) + '</span>'; } })(); }