Doog El EKEKO-Gerardo Cabero

Post on 18-Nov-2014

162 views 3 download

Transcript of Doog El EKEKO-Gerardo Cabero

Doogg el “EKEKO”...Exiten 3 Tipos de PersonasLas que “Intentan” Matar al DragonLos que “Matan” DragonesY el los “Saben” que los Dragones no Exiten!!!

C.U. Gerardo A. CaberoCabero@gmail.com

NECESITO PRESENTACION

¿Alguno/a no me Conoce?

97% LIBRE Como el Aire3% Privativo

DedicadoA mi Hermano David Manuel por el Agunte...Amigos -Fernado ,Luis , Ale , Ricardo, Javier , Diego y MAS - SaltaLug -Miguel ,Matt, Oscar, Ricardo, y mas - !!!

Facultad de Cs. EXACTAS -TODOS - !!!

CAMBIECAMBIE MI forma de Pensar!!!

Hay vida mas alla de GNU/Linux...

Que estoy defendiendo o me e vuelto un purista?

Ser Legal implica que la Gente te Señale...

Que Deseo Hacer, estoy aportando ALGO UTIL...

reconocer si me equivoque?

¿ Qué Paso en “un año”?

COMO Llegue a GOOGLE

Y Wikimedia!!!

Google SOC“Google Summer of Code (en español: Verano de código Google) es un programa anual donde, la empresa Busca Proyectos y organizaciones . De Estudiantes Universitarios para Programar todo el verano...NADA MAL ..NO....

WikiMedia “Wikimedia es la Fundacion La misión de laFundación Wikimedia es facultar y animar

a la gente de todo el mundo a reunir y desarrollar contenido educativo neutral

bajo una licencia de contenido libre o en el dominio público,

y a difundirla de manera efectiva y global.

Corria el AÑO 2007

ME RECHAZARON!!!!!POR ALGO SERA …

No Estaba preparado...No Era mi Tiempo...Sabia que algo me

estaba esperando....

Title/Summary

Eclipse Plugins "GuiCo" para Superwaba

Organization Eclipse

Last Modified 2007/04/09 16:44:38 PDT Status Not Selected

AÑO 2009 Sip Me Aceptaron!!!Momento FELIZ !!!!!

Le METI PATA!!! Una vez MAS

Ya estaba maduro enconocimiento...

Y Sobre TodoHice Amigos

5600 Proyectos …Solo 1000 Lugares....

7 Argentinos!!!

SUERTE ¿?Google para 1000 SOCSe Realizan las propuestas

# Ranquean las propuesta dentro de las fundaciones

# Luego Google asigna cuantos SOC recibe la fundacion....

Mi nombres : Gerardo Antonio CaberoUniversidad : Univesidad Nacional de Salta - Unsa -Carrera : Lic en Analisis de sistema - Facultad de Ciencia Exactas..Proyecto : Doog " The New Cortado Applet Player " - Soportar VLC,Cortado, Flowpalyer ..Formtos soportado OGG , OGV...fundacion : Wikimedia

Mi nombres : Francisco TufróUniversidad : Universidad de Buenos Aires (UBA)Carrera : Lic. en Ciencias de la ConputaciónProyecto : Audio Refactoring and Comment Support for Tux Paint

Mi nombre: Eliel SardañonsUniversidad: CAECECarrera: Lic. en Ciencias de la ComputaciónProyecto: Generic data retrieval API for the Asterisk project.Fundacion Asterisk

Mi nombres : Emilio TaguaUniversidad : Universidad de MendozaCarrera : Ingenieria en InformáticaProyecto : "Integrate Arel into ActiveRecord" Orgnizacion "Ruby on Rails"

Nombre: Lucas AmadorUniversidad: UTN FRBACarrera: Ing en Sistemas de InformaciónProyecto: Rules refactoring para JBoss Drools - Jboss

Nombre: Alejandro SantosUniversidad: UNLPCarrera: Licenciatura en InformaticaProyecto: Mercurial on Py3k - Python

Nombre: Gerardo Huck.Carrera : Lic en Cs de la ComputacionUniversidad Nacional de RosarioProyecto "Cytoscape GPU Assisted Graph Layout Plugin",dentro de la organizacion GenMAPP.

Mi ¨PROPUESTA¨ Doogg EL EKEKO !!!

Doogg es la variant of the cortado applet java by embedding this applet in your website, you can give viewers access to streams from either streaming server or play a local file from your server without the need for a locally installed media player supporting the correct formats on the visitor’s computer applet for Ogg formats (Vorbis, Theora).

A

Que es lo que HAYTodos FLASH

# Mi Primer Plugins VLC CONTROL EKEKO# Es Basico!!!

En que Me InspireEn JS - VLC CONTROL

¨1er Contacto con¨ Michael Dale!!!

On 13th April 2009 21:24 Michael Dale wrote:

I am willing to mentor this project but the student will probably have to deviate substantially from what was originally proposed. If the student can contact me (very soon) ...... Also the student should give us some references to previous projects that shows some experience in this area.

On 14th April 2009 14:03 Gerardo Antonio Cabero wrote: Dear Michael DaleI just contact you email Gerard

CORTADO APPLET es BASICO!!!!!

Y me enseño lo Siguiente...

¨Mv EMBED¨ is a javascript – Jquery - library for easy

embedding of ogg theora/vorbis media with the html5 !!!

VLC (win,linux,mac) (firefox & IE)

Oggplay (win,linux,mac) (firefox only)

Java cortado (java based win, linux, mac)

Mplayer, Totem/gstreamer (linux firefox only)

Native html5 Opera and firefox

Native Safari, with xiph quicktime component

Flash Plugin (win, linux, mac)

WAPPER para los Siguiente Reproductores

¨Mi Trabajo¨ # Controlador de Volumen

# Skins EKEKO# MVConfig

#Busqueda Video Audio Relational !!!

DESAFIO EXTRA

IEXPLORER – SAFARI – Chrome – FF – OPERABueno ya se por que los WebMaster tiene Tantos Dolores de Cabeza

¨Algo del trabajo¨ 1 MES Control de Volumen

Muy Lindo – Muy Bello – Pero ....El ritmo de codificacion en estos Proyectos , es RE RE RE BESTIAL Y RAPIDO..

LA TECNOLOGIA :JavaSCRIPT – JQUERY

JSON – XML API - Wiki y de MAS

API – De Conextores – Contar Flow y HTML5CSS

CODIGO Function en MVEmbed!!!++ //Volumen Slider+ js_log(" should add slider binding: " + $j('#volume_bar_'+embedObj.id).length) ;+ //get_vol_vlc+ //$j('#volume_bar_'+embedObj.id).ready(function () {++ //$j('#' +embedObj.id).get(0).vol_slider(perc);++ //});+ // $j('#volume_bar_' +embedObj.id).get(0).updateVolume(30/100);+ $j('#volume_bar_'+embedObj.id).slider({+ range: "min",+ value: 30,+ min: 0,+ max: 100,+ start: function(event, ui){+ var id = (embedObj.pc!=null)?embedObj.pc.pp.id:embedObj.id;+ embedObj.userSlide=true;+ },+ slide: function(event, ui) {+ var perc = ui.value/100;+ $j('#' +embedObj.id).get(0).updateVolume(perc);+ $j('#volume_control_'+embedObj.id ).removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');+ if (perc==0) {+ $j('#volume_control_'+embedObj.id ).removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');+++ }+ else{++ $j('#volume_control_'+embedObj.id ).removeClass('ui-icon-volume-off').addClass('ui-icon-volume-on');+ }+ },+ change:function(event, ui){+ //only run the onChange event if done by a user slide: + if(embedObj.userSlide){+ embedObj.userSlide=false;+ embedObj.seeking=true;++ var perc = ui.value/100;

+ $j('#' +embedObj.id).get(0).updateVolume(perc);++ }+ } + });++ $j('#volume_bar_'+embedObj.id).append( ctrlBuilder.MvBufferVolHtml() );+ $j('#volume_bar_'+embedObj.id).addClass("ui-slider-handle");+$j('#vol_'+embedObj.id).click(function(){+ $j('#vol_'+embedObj.id).removeClass("ui-icon-volume-on");+ $j('#vol_'+embedObj.id).addClass("ui-icon-volume-off"); });

ALGO DE CODIGO VLC!!! onPause: function(){

this.parent_pause(); //update the inteface if paused via native control }, onStop: function(){

js_log('vlc:onStop:'); if(!this.seeking)

this.onClipDone();},

/* js hooks/controls */play : function(){

js_log('f:vlcPlay');this.getVLC();//call the parent

this.parent_play();if( this.vlc ){

//plugin is already being present send play call: // clear the message log and enable error loggingif( this.vlc.log ){

this.vlc.log.messages.clear();}if(this.vlc.playlist)

this.vlc.playlist.play();

this.monitor();this.paused=false;

}},stop : function(){

if(this.vlc){if(typeof this.vlc != 'undefined' ){

if(typeof this.vlc.playlist != 'undefined'){//dont' stop (issues all the plugin-stop actions) //this.vlc.playlist.stop();if( this.monitorTimerId != 0 ){

clearInterval(this.monitorTimerId);this.monitorTimerId = 0;

}}

}}//this.onStop();//do parent stopthis.parent_stop();

},

pause : function(){this.parent_pause(); //update the inteface if

paused via native controlif( this.vlc ){

this.vlc.playlist.togglePause();}

},toggleMute:function(){

this.parent_toggleMute();this.getVLC();if(this.vlc)

this.vlc.audio.toggleMute(); }, //@@ Suport UpDateVolumen updateVolumen:function(perc){ this.getVLC();

if(this.vlc)this.vlc.audio.volume = perc*100;

}, //@@ Get Volumen getVolumen:function(){ this.getVLC(); if(this.vlc) return this.vlc.audio.volume / 100; },

fullscreen : function(){if(this.vlc){

if(this.vlc.video)this.vlc.video.toggleFullscreen();

}},

ALGO DE CODIGO Native HTML 5 !!!pause : function(){

this.getVID();this.parent_pause(); //update interfaceif(this.vid){

this.vid.pause();}//stop updates: this.stopMonitor();

},play:function(){

this.getVID();this.parent_play(); //update interfaceif( this.vid ){

this.vid.play();//re-start the monitor: this.monitor();

}},toggleMute:function(){

this.parent_toggleMute();this.getVID();if(this.vid)

this.vid.muted = this.muted;},updateVolumen:function(perc){

this.getVID();if(this.vid)

this.vid.volume = perc; },

getVolumen:function(){this.getVID();if(this.vid)

return this.vid.volume; },getNativeDuration:function(){

if(this.vid)return this.vid.duration;

},load:function(){

this.getVID();if( !this.vid ){

//no vid loadedjs_log('native::load() ... doEmbed');this.onlyLoadFlag = true;this.doEmbedHTML();

}else{//won't happen offtenthis.vid.load();

}},

CSS ALGO .mv-player .volume_on {

background: url(images/player_volume_tag.png) 0 8px no-repeat;}.mv-player .volume_off{

background: url(images/player_volume_tag_off.png) 0 8px no-repeat;}

.mv-player .volume_knob {background: url(images/player_slider.png) 0 0 no-repeat;width: 14px;height: 14px;position: absolute;z-index: 2;margin: -1px 0 0 3px;cursor: pointer;

}.mv-player .vol_container{

z-index:99;width:23px;height:75px;width:23px;background: #CCC;

}.mv-player .vol_container_below{

top:30px;}.mv-player .vol_container_top{

top:-77px;}.mv-player .vol_container .volume-slider{

margin-top:5px;height:65px;width:10px;margin-left: auto ;margin-right: auto ;

}

Primer Periodo de Evaluacion

ES COMO # Comer Agujas – Clavos – Vidrio - Tomar Veneno de Cobra …

Primitive Video and Audio Relational Search

Nucleo del Video Relational Search !!!CORE + "wikiTitleKey":null,

En Funciones ++ if($j(video_element).attr('wikiTitleKey'))+ this.wikiTitleKey=$j(video_element).attr('wikiTitleKey');

+ mvVideoAudioSearch:function(){+ // Primitive Search en Wikimedia Coommons ///+ var url_search = 'http://commons.wikimedia.org/w/api.php';+ js_log('thum disp:'+ url_search );+ + js_log('switch video Relational' );+ var _this=this ++ var reqObj = {+ 'action':'query', + 'titles': this.wikiTitleKey ,+ 'generator':'categories'+ };++ var req_categories= new Array();++ do_api_req( {+ 'data':reqObj, + 'url': url_search+ }, function(data){ + var index=0;+ if(data.query && data.query.pages){+ for(var pageid in data.query.pages){+ var page = data.query.pages[pageid]; + req_categories[index]= page.title;+ index++;+ }+ }+ mv_getVideos(req_categories);+ });++ function mv_getVideos(categoria){+ for ( var i= 0 ; i<= categoria.length ;i++ ){+ categoria_relational= categoria[i];+ var reqObj = {+ 'action':'query', + 'list':'categorymembers' ,+ 'cmtitle': categoria_relational,+ };

# API DE WIKIMEDIA COMMONS y OTRAS WIKI

# JSON – JQUERY – DOM

# Numeros Randomicos Para generar la tirarada de Monedas

+ do_api_req( {+ 'data':reqObj, + 'url': url_search+ }, function(data){ + var _this=this;+ var videos="";+ if(data.query && data.query.categorymembers){+ for(var pageid in data.query.categorymembers){+ if( i != '-1' && i != '-2' ){+ var page = data.query.categorymembers[pageid];+ mvVideoRelatinal(page.title);+ }+ }+ }+ }+ );++ }+ }++ function mvVideoRelatinal(title){+ var video = title;+ var reqObj = {+ 'action':'query', + 'titles':video,+ 'prop' : 'imageinfo',+ 'iiprop' : 'url',+ 'iiurlwidth': '400'++ };+ do_api_req( {+ 'data':reqObj, + 'url': url_search+ }, function(data){ + //alert(video);+ var _this=this;+ var listavideos="";+ for(var i in data.query.pages){+ if( i != '-1' && i != '-2' && (Math.random()>=0.5) ){+ local_poster = data.query.pages[i]['imageinfo'][0].thumburl;+ if(local_poster == false){+ local_poster ="http://upload.wikimedia.org/wikipedia/commons/7/79/Wiki-commons.png";+ }+ local_description = data.query.pages[i]['imageinfo'][0].descriptionurl;+ if (local_description.match(/.png$|.gif$|.jpg$/gi)==null) {+ $j('ul').append('<li><a href="'+local_description+'" ><img src="'+local_poster+' "></a><div><span> '+video+' </span></br></br><a title="link" target="_blank" href="'+ local_description +'">link Video</a></div></li>') ;+ }+ }+ }; + }+ );+ }+},

++ onClipDone:function(){+ js_log('base:onClipDone');+ //stop the clip (load the thumbnail etc) + this.stop();+ this.seek_time_sec = 0;+ this.setSliderValue(0);+ var _this = this;

+ this.onClipDone_disp=true;+ this.thumbnail_disp=true;+ //make sure we are not in preview mode( no end clip actions in preview mode) + if( this.preview_mode )+ return ;+ $j('#img_thumb_'+this.id).css('zindex',1);+ $j('#big_play_link_'+this.id).hide();+ //add the liks_info_div black back + $j('#dc_'+this.id).append('<div id="liks_info_'+this.id+'" ' ++ 'style="width:' +parseInt(parseInt(this.width)/2)+'px;'++ 'height:'+ parseInt(parseInt(this.height)) +'px;'++ 'position:absolute;top:10px;overflow:auto'++ 'width: '+parseInt( ((parseInt(this.width)/2)-15) ) + 'px;'++ 'left:'+ parseInt( ((parseInt(this.width)/2)+15) ) +'px;">'++ '</div>' ++ '<div id="black_back_'+this.id+'" ' ++ 'style="z-index:-2;position:absolute;background:#000;' ++ 'top:0px;left:0px;width:'+parseInt(this.width)+'px;' ++ 'height:'+parseInt(this.height)+'px;">' ++ '</div>' ++ '<div class="widget" >' ++ '<h1>Video and Audio Relational </h1>'++ '<div class="widget_style">' ++ '<ul id="gerard" >' + '</br> ' ++ '</ul>' ++ '</div>' ++ '</div>' + );+ this.mvVideoAudioSearch();+ //start animation (make thumb small in upper left add in div for "loading"+ $j('#img_thumb_'+this.id).animate({+ width:parseInt(parseInt(_this.width)/2), height:parseInt(parseInt(_this.height)/2), top:20, left:10+ },+ 1000, + function(){+ //animation done.. add "loading" to div if empty+ if($j('#liks_info_'+_this.id).html()==''){+ $j('#liks_info_'+_this.id).html(gM('loading_txt')); } } ) + //now load roe if run the showNextPrevLinks+ if(this.roe && this.media_element.addedROEData==false){+ do_request(this.roe, function(data)+ { + _this.media_element.addROE(data);+ _this.getNextPrevLinks();+ }); else{+ this.getNextPrevLinks(); }},

/* Search Video */+.widget {+width:345px;+z-index:6663;+position: relative;+width: 400px;+height: 130px;+left: 0px;+top: 20px;+background : transparent url(images/bg_202020_90.png) repeat scroll 0 0;+overflow-x:auto;+}+.widget h1 {+border:medium none;+font-size:20px;+margin:4px 0px 4px 11px;+padding:0;+color:#F0F0F0;+font-family:arial,sans-serif;+}

++.widget_style li div {+float:right;+margin:5px 0 0 10px;+width:200px;+}++.widget_style img {+width:90px;+height:70px;+z-index:2;+border-bottom:3px solid #36393D;+border-top:3px solid #36393D; }

++.widget a.previous{+ float:left;+ display:block;+ width:20px;+ height:20px;+ margin-top:28px;+ margin-right:2px;+}+.widget a.next{+ float:right;+ display:block;+ width:20px;+ height:20px;+ margin-top:-31px;+}++.widget_style {+text-align:left;+padding:0px 0px 0px 0px;+}+++.widget_style ul {+margin:0;+padding:0;++list-style-image:none;+list-style-position:inside;+list-style-type:none;+margin:0;+padding:0;+}+++.widget_style li{+-x-system-font:none;+//background-color:red;+color:#FAFAFA;+display:table;+font-family:arial,sans-serif;+font-size:11px;+font-size-adjust:none;+font-stretch:normal;+font-style:normal;+font-variant:normal;+font-weight:normal;+line-height:normal;+margin:0 0 6px 35px;+padding:0;+}

Un “Wikipedia Con Videos“ SIPI...

Proximo Paso:

Videos

Multimedia

Add Media Wizard

My OwnWiki.com

Shared javascript Remote Repository Search

Open Licensed Content Network:

●archive.org●metavid.org●commons.wikimedia.org●Flickr●Kaltura content network ●etc.

Wikimedia network of sitesProvides Media

Interfaces for:Sequencer:

Legislative VideoWikiProvides add media

wizard for in page insert

Client side firefog or image uploads

Add Media Wizard Enabled by search apis (json, rss) Insert / Import based on Context In-line edit & layout tools: crop, scale, filters, etc

Add Media Wizard

Selection of segments of videos from remote content source enabled by oggz_chop

Definicion...

;)Definicion...

;)Definicion...

Momentos Dificil !!!

Pienso que no estas listo para summer of code quisas debes tratar de investigar conceptos de programacion

por el año y quisas re-aplicar el año que vine?

Leccion Importante No vivir Atado !!!

Vivir como los Hijos de Dios sin que nadie nos Encadene

(ATE)

¨Y DESPUES QUE...¨ # Actual Manenedor Oficial de MVEmbed

# Audio Relational# Controladores para Audio

Soy Cobre... Y Brillo... Vos que sos Diamante …Con mas Razon tenes que Brillar...

Simplemente SI SE PUEDE!!!!