Iniciando com Open Source Media Framework – OSMF

Open Source Media FrameworkO 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

2 thoughts on “Iniciando com Open Source Media Framework – OSMF

  1. Pingback: Leonardo França » Iniciando com Open Source Media Framework – OSMF | Media Brasileiro

Leave a Reply