Server-Side ActionScript no Flash Media Server

Poucos sabem mas o Flash Media Server(versão Interactive) possui uma linguagem de servidor chamada Server-Side ActionScript ou ActionScript Communications(extensão .asc). O que permite recurso poderosos em seus aplicativos multimídia muito além de um simples streaming.
Server-Side ActionScript é o nome que Adobe deu para o JavaScript 1.5, o Flash Media Server possui uma engine de JavaScript para compilar e executar os scripts.
O Server-Side ActionScript é parecido mas não idêntico ao ActionScript 1.0, mas ambos são baseado no ECMAScript(ECMA-262) edition 3 language specification. O Server-Side ActionScript roda sob a engine SpiderMonkey da Mozilla que consta no Flash Media Server enquanto que o ActionScript 1.0 roda sob o AVM1(ActionScript Virtual Machine 1) no Adobe Flash Player. O SpiderMonkey implementa o totalmente o ECMAScript enquanto que a AVM1 do Flash Player não. A grande diferença entre os dois é que o Server-Side ActionScript é case-sensitive.
Portanto para quem já tem conhecimento de JavaScript, pode reaproveita-lo para usar no Flash Media Server, é possível utilizar a maioria dos recursos e ainda contar com os recursos exclusivos do Flash Media Server.

Vamos os primeiros passos para utilizar o Server-Side ActionScript no Flash Media Server. Uma maneira de testar seus scripts é usando o fms_console localizado no caminho:

INSTALATION FOLDER\Adobe\Flash Media Server 4.5\webroot\swfs\fms_adminConsole.swf

Se você tiver o Adobe Flash Professional, pode abrir esse arquivo diretamente apenas dando dois cliques, caso contrario, abra pelo navegador. Ao ser aberto, devemos ter uma tela como essa:

fms_console_tela1

Tela inicial do fms_adminConsole.swf


Basta entrar com o login e senha que você determinou no momento em que estava instalando o Flash Media Server que deveremos entrar para a seguinte tela:
fms_console_tela2

Tela pos-login


Esse será seu melhor amigo ao desenvolver aplicativos com Flash/Flex e Flash Media Server. Por padrão, o Flash Media Server lê o seguinte diretorio:

INSTALATION FOLDER\Adobe\Flash Media Server 4.5\applications

Esse caminho pode ser configurado modificando a linha “VHOST.APPSDIR” no seguinte arquivo:

INSTALATION FOLDER\Adobe\Flash Media Server 4.5\conf\fms.ini

Criaremos um diretorio chamado “teste”, e dentro dele um arquivo chamando “main.asc” com o seguinte conteúdo:
[javascript]
// ActionScript Communications Document
trace(“init app…”);
[/javascript]
Agora no console, carregaremos nossa aplicação criando uma nova instância dela selecionando no combobox:

Na tela seguinte, basta dar um “enter”.

Deveremos ter o resultado do nosso trace na caixa de texto como na imagem:

fms_console_tela5

Resultado do trace


Uma recomendação que faço é que você limpe a tela antes de executar novamente o script main.asc, basta clicar no botão Clear Log(1) e depois em Reload Application(2):

Alguns exemplos do que pode ser usado com o Server-Side ActionScript

Constantes

[javascript]
// ActionScript Communications Document
trace(“init app…”);
const PI = 3.14;
trace(PI);
[/javascript]

Expressões Regulares

[javascript]
// ActionScript Communications Document
trace(“init app…”);
myRe = /d(b+)d/g;
myArray = myRe.exec(“cdbbdbsbz”);
trace(myArray);
[/javascript]

Funções

[javascript]
// ActionScript Communications Document
trace(“init app…”);
function teste()
{
return “to na funcao o/”;
}
trace(teste());

function factorial(n)
{
if ((n == 0) || (n == 1))
return 1;
else
{
var result = (n * factorial(n-1) );
return result;
}
}
trace(factorial(5));
[/javascript]

Objetos

[javascript]
// ActionScript Communications Document
trace(“init app…”);
var obj = {id:”teste”,data:2,status:”ONLINE”,type:”admin”}
trace(obj);
for(s in obj)
{
trace(s +” – “+obj[s]);
}
[/javascript]

Array

[javascript]
// ActionScript Communications Document
trace(“init app…”);
var arr = [“leo”, “bruno”, “wendel”, “andre”,”juba”];
trace(arr);
function removeValueFromArray(arr, value)
{
var len = arr.length;

for(var i = len; i > -1; i–)
{
if(arr[i] === value)
{
arr.splice(i, 1);
}
}
return arr;
}
trace(removeValueFromArray(arr,”pam”));
[/javascript]

Aviso importante, use esses recursos SOMENTE em ambiente de desenvolvimento. Em ambiente de produção, você derrubará todo mundo que estiver conectado à sua aplicação. 😛

Referência:
Documentação do Adobe Flash Media Server

7 thoughts on “Server-Side ActionScript no Flash Media Server

  1. Macello Bravin

    Olá Leonardo, gostaria de um contato seu sobre a compra de uns scripts que tenho muito interesse.
    Aguardo seu retorno grato.

  2. Macello Bravin

    Ola, claro não tenho nenhum problema em fazer a doação rs, mas eu preciso de um player de video, e um de audio ao vivo, eu vi que no seu artigo do stream com flex ou flash tem uns porem com arquivi no servidor, mas minha necessidade é de um script para stream ao vivo.
    Ficaria muito grato e com certeza iria clica no botao doar rsrs..
    Obrigado por responder.

  3. Ramão Soley

    A tecnologia é impressionante e o mundo gira em uma velocidade espantosa, por mais que a gente busque o conhecimento, sempre tem coisas para aprender!
    Obrigado pelo Post, valeu mesmo!

Leave a Reply