O Open Source Media Framework – OSMF(antigo Strobe Media Framework) é um conjunto de componentes pré-programados para você usar em seus aplicativos multimidia, permite a facil implementação de recursos que tem como objetivo, enriquecer a experiência do usuário quando se trata de conteúdo multimidia para web.
O Open Source Media Framework – OSMF – permite a facil implementação de recursos que tem como objetivo, enriquecer a experiência do usuário quando se trata de conteúdo multimidia para web.
Dentre os recursos que podem ser facilmente implementados com OSMF incluem:
- Veiculação de anúncios de vÃdeo template(VAST).
- Media Abstract Sequencing Template (MAST).
- Media RSS (MRSS).
- Distribution Format Exchange Profile (DFXP).
- Synchronized Multimedia Integration Language (SMIL).
Vamos fazer um primeiro exemplo de um player bem simples com o OSMF, nos próximos artigos, vamos adicionando mais funcionalidades.
Crie um projeto do tipo ActionScript Project no Flash Builder ou uma nova classe ActionScript 3.0 no Flash Professional CS5. Daremos o nome de “MyPlayerOSMF” estendendo a classe Sprite.
[ACTIONSCRIPT3]
package
{
import flash.display.Sprite;
[SWF(width=”640″, height=”360″, backgroundColor=”0x000000″,frameRate=”25″)]
public class MyPlayerOSMF extends Sprite
{
public function MyPlayerOSMF()
{
}
}
}
[/ACTIONSCRIPT3]
Temos nosso esqueleto, vamos entender algumas classes do OSMF. As classes mais importantes que devemos conhecer para criar players de multimidia são:
- MediaPlayer – É o engine do seu player. Essa classe corresponde aproximadamente a um player de mÃdia atual. Possui os métodos e propriedades para interface de controle de ações do usuário como play, pause, seek, e stop.
- MediaElement – mÃdia, como vÃdeo, áudio, imagem, texto e assim por diante. Esta classe representa nada e tudo o que um MediaPlayer pode tocar.
- MediaFactory – converte uma url para objeto para que possa ser tocada pelo player. A classe DefaultMediaFactory instancia objetos MediaElement do tipo correto determinado vÃdeo, áudio, imagem ou outros tipos de mÃdia suportados como entrada.
- MediaPlayerSprite – Fornece as instâncias da classe MediaContainer, da classe MediaPlayer e da classe DefeaultMediaFactory. A classe MediaPlayerSprite fornece a maneira mais fácil de criar um media player com OSMF.
Vamos deixar algumas url’s para carregar os videos usando download progressivo e streaming.
[ACTIONSCRIPT3]
private static const VIDEO_RTMP:String = “rtmp://cp67126.edgefcs.net/ondemand/mediapm/strobe/content/test/SpaceAloneHD_sounas_640_500_short”;
private static const VIDEO_HTTP:String = “http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv”;
[/ACTIONSCRIPT3]
Iniciaremos com uma instância da classe MediaFactory converter a url para objeto e a classe MediaElement sera responsável por criar o elemento necessario de acordo com o que for carregado, video, imagem ou swf. Em seguida usaremos a classe MediaPlayer que contem a base para controlar o player, tem como autoplay = true como padrão.
[ACTIONSCRIPT3]
package
{
import flash.display.Sprite;
import org.osmf.media.DefaultMediaFactory;
import org.osmf.media.MediaElement;
import org.osmf.media.MediaFactory;
import org.osmf.media.MediaPlayer;
import org.osmf.media.URLResource;
[SWF(width=”640″, height=”360″, backgroundColor=”0x000000″,frameRate=”25″)]
public class MyPlayerOSMF extends Sprite
{
private static const VIDEO_RTMP:String = “rtmp://cp67126.edgefcs.net/ondemand/mediapm/strobe/content/test/SpaceAloneHD_sounas_640_500_short”;
private static const VIDEO_HTTP:String = “http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv”;
private var mediaFactory:MediaFactory;
private var mediaElement:MediaElement;
private var mediaPlayer:MediaPlayer;
private var mediaContainer:MediaContainer;
public function MyPlayerOSMF()
{
mediaFactory = new DefaultMediaFactory();
mediaElement = mediaFactory.createMediaElement(new URLResource(VIDEO_RTMP));
mediaPlayer = new MediaPlayer();
mediaPlayer.media = mediaElement;
}
}
}
[/ACTIONSCRIPT3]
O nosso player esta quase pronto, vamos adicionar um instancia da classe MediaContainer para inserir nosso player no palco. Segue o código completo.
[ACTIONSCRIPT3]
package
{
import flash.display.Sprite;
import org.osmf.containers.MediaContainer;
import org.osmf.layout.LayoutMetadata;
import org.osmf.media.DefaultMediaFactory;
import org.osmf.media.MediaElement;
import org.osmf.media.MediaFactory;
import org.osmf.media.MediaPlayer;
import org.osmf.media.URLResource;
[SWF(width=”640″, height=”360″, backgroundColor=”0x000000″,frameRate=”25″)]
public class MyPlayerOSMF extends Sprite
{
private static const VIDEO_RTMP:String = “rtmp://cp67126.edgefcs.net/ondemand/mediapm/strobe/content/test/SpaceAloneHD_sounas_640_500_short”;
private static const VIDEO_HTTP:String = “http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv”;
private var mediaFactory:MediaFactory;
private var mediaElement:MediaElement;
private var mediaPlayer:MediaPlayer;
private var mediaContainer:MediaContainer;
public function MyPlayerOSMF()
{
mediaFactory = new DefaultMediaFactory();
mediaElement = mediaFactory.createMediaElement(new URLResource(VIDEO_RTMP));
var layout:LayoutMetadata = new LayoutMetadata();
layout.width = 640;
layout.height = 360;
mediaElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
mediaPlayer = new MediaPlayer();
mediaPlayer.media = mediaElement;
mediaContainer = new MediaContainer();
mediaContainer.addMediaElement(mediaElement);
addChild(mediaContainer);
}
}
}
[/ACTIONSCRIPT3]
Veja o player em funcionamento:
[SWF]http://www.leonardofranca.com.br/wp-content/uploads/2010/09/MyPlayerOSMF.swf,640,360[/SWF]
Para saber mais:
Open Source Media Framework Blog
http://www.adobe.com/devnet/video/articles/osmf_overview.html
http://www.adobe.com/devnet/flash/articles/video_osmf_streaming.html
http://mediapm.edgesuite.net/osmf/swf/ExamplePlayer.swf
Pingback: Leonardo França » Iniciando com Open Source Media Framework – OSMF | Media Brasileiro
Nossa cara, muito bom.