Imprimir página Imprimir página

Lua Photo Slide Show

Alguns DVDs que possuem porta USB permitem exibir fotos existentes em um pendrive. Como os conversores digitais também podem ter porta USB, e nem todos tem esse recurso, resolvi implementar uma aplicação para esta finalidade. Desta forma, o usuário pode conectar um pendrive na porta USB do receptor, contendo a aplicação e as fotos, e vê-las na tela da TV.

A aplicação pode ser enviada também via broadcast e o usuário (telespectador) pode executá-la e visualizar fotos que tenham sido transmitidas. A mesma foi desenvolvida utilizando-se as linguagens NCL e Lua.

Todas as imagens existentes no sub diretório images serão exibidas. A aplicação avança as imagens automaticamente. O usuário pode utilizar as setas direcionais do teclado/controle remoto para avançar ou retroceder uma imagem. As imagens disponibilizadas possuem licença Creative Commons.

A aplicação utiliza os módulos io e os de Lua, que não estão disponíveis nas normas ABNT do SBTVD. No entanto, o código da aplicação pode ser utilizado para estudos.

A aplicação utiliza os módulos io e os de Lua, que não estão disponíveis nas normas ABNT do SBTVD. No entanto, o código da aplicação pode ser utilizado para estudos.

A documentação do código fonte está disponível na pasta doc. Baixe o código no link a seguir.

Download

NCLua Photo Slide Show NCLua Photo Slide Show (1 MB)
Aplicação de TVD para exibição de fotos

Licença


Outros Projetos

Veja outros projetos de TV Digital aqui.

  • Pingback: Photo Slide Show para TV Digital - Manoel Campos Blog

  • Ádrian Lívio

    Olá manoel.

    Gostei do exemplo, mas observei uma coisa, ele usa o comando os.execute, mas segundo a norma 15606-2 a função os.execute não é suportada. Olhe o texto que eu copiei da norma:

    10 Objetos procedurais Lua em apresentações NCL
    10.1 Linguagem Lua – Funções removidas da biblioteca de Lua
    A linguagem de script adotada pelo Ginga-NCL é Lua (elementos do tipo application/x-ginga-NCLua).
    A definição completa de Lua é apresentada no Anexo B.
    As funções a seguir são dependentes de plataforma e foram removidas:
    a) no módulo package: loadlib;
    b) no módulo io: todas as funções;
    c) no módulo os: clock, execute, exit, getenv, remove, rename, tmpname e setlocale;
    d) no módulo debug: todas as funções.

  • http://manoelcampos.com Manoel Campos

    É, eu realmente tinha essa preocupação quanto ao os.execute, mas não tinha checado a norma. Uma alternativa inicial seria listar os nomes das imagens em um arquivo, o que não ficaria mais automático como está. Vou pensar em outra solução e se encontrar, posto aqui. Valeu.

  • Ossamat2008

    esse exemplo é muito legal mais eu tenho uma duvida que tem um pouco haver com essa aplicação

    Queria saber se existir alguma forma do lua saber por intermedio de algum comando o tempo de exibição de alguma media exemplo um video
    tipo uma função em lua que quando chamada vc passa como parametro o nome do elemento video que foi declarado no ncl e ele retorna o tempo dele em exibição ?

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Para TV digital acredito que não haja nenhuma função que permita fazer isso. Mas se a partir do nó lua vc mandar a app NCL iniciar o vídeo imediatamente, vc terá como saber a hora que ele iniciou. A partir daí, pegando a hora atual menos a hora de início você saberá em que ponto o vídeo está (caso ele não tenha sido pausado ou parado).

    No WebMedia 2010 o pessoal do Telemídia apresentou um projeto que permite que novos típos de mídia sejam tocados diretamente de um script NCLua, como por exemplo, tocar uma legenda em formato SRT. Com isto, eles devem precisar saber o horário do vídeo para poder exibir os trechos da legenda corretamente. Assim, eles devem ter implementado algo nesse sentido. O projeto será disponibilizado em breve.

  • Ossamat2008

    ou se vc conhece alguma forma em ncl de ir trocando imagens ao longo do tempo por exemplo do minuto 1 ao minuto 2 imagem 1 do minuto 2 ao 3 imagem 2

    outra duvida que tenho já acompanhando o post se exist alguma função em lua que voce possa capturar o ip de quem esta utilizando a aplicação

    valeu manoel muito boa essa iniciativa que voce esta fazendo !!!

  • http://manoelcampos.com Manoel Campos da Silva Filho

    O próprio Lua Slide Show faz essa troca de imagens em intervalos de tempo. Quanto ao IP, para TVD não conheço nenhuma forma de fazer isso a não ser por meio de Web Services/Páginas na internet como esta http://checkip.dyndns.com, que informa o IP real da máquina. Usando o módulo NCLua HTTP vc consegue obter o seu IP a partir desta página.

  • Ossamat2008

    ola manoel

    queria saber se existe alguma forma de redimensionar imagens no lua pois se fizer a aplicação em um tamanho e mudar a resolução do ginga no vmware a imagem fica ruim e cortada,

    e outra pergunta é se existe alguma forma de aumentar a resolução no ginga vmware
    pois o maximo que consigo é 1024×768 e é uma imagem box ,vc saberia se existe uma forma de deixar a resolução da tela por exemplo 1280×720

    valeu !!!!

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Existe a função canvas:attrScale (w, h: number) mas não sei se está
    implementada no Ginga Virtual STB. Para alterar a resolução da VM, procure
    no fórum do portal do software público que tem uma mensagem mostrando como
    fazer.
    Lembrando que esta aplicação de Slide Show não está compatível com o Ginga
    devido ao fato de usar o módulo os.

  • charlene

    Olá Manoel,
    Estou fazendo uma aplicação t-commerce na universidade e tenho uma dúvida:
    Gostaria de saber como dar “start” em um arquivo lua através de outro. É mais ou menos assim: tem dois botões na tela e o usuario seleciona um com “Enter” em lua… dependendo do botão que ele escolhe um outro arquivo lua tem que abrir e finalizar o anterior. Sei que preciso notificar o documento NCL mas até agora não consegui. Será que vc poderia me ajudar? Obrigada!

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Acesse http://manoelcampos.com/2010/06/11/disparando-midias-na-aplicacao-ncl-a-partir-de-um-script-lua-tvd-ginga-nclua/ que tem um exemplo de como disparar qualquer mídia (mesmo outro arquivo lua) a partir de um script lua.

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Manoel Campos da Silva Fh deixou uma mensagem para você…

    Só você pode ler o conteúdo desta mensagem e ver quem a enviou. Delete a qualquer momento ou responda imediatamente com o sistema de troca de mensagens. Para descobrir o que diz a mensagem, siga este link. http://us1.badoo.com/manoelcampos/in/oMqdCG-c6Nw/?lang_id=61&m=21&mid=4e4ece7b00000000003d0000ac14edfa
    Mais gente que espera pacientemente por você:
    Sandro (Palmas, Brasil)
    Rosy (Palmas, Brasil)
    GLEICIANE (Palmas, Brasil)
    http://us1.badoo.com/manoelcampos/in/oMqdCG-c6Nw/?lang_id=61&m=21&mid=4e4ece7b00000000003d0000ac14edfa
    Se o link desta mensagem não funcionar, copie e cole-o em seu navegador.
    Este email faz parte de nosso sistema de entrega para a mensagem enviada por Manoel Campos da Silva Fh. Se recebeu este email por engano, por favor ignore-o. A mensagem será deletada em breve.
    Divirta-se!
    A Equipe Badoo

    Você recebeu este email, porque um membro do Badoo deixou uma mensagem para você no Badoo. Esta é uma mensagem de somente envio. Respostas a esta mensagem não são monitoradas ou respondidas.
    Se você não quer receber mais mensagens do Badoo,
    por favor nos notifique: http://us1.badoo.com/impersonation.phtml?lang_id=61&mail_code=21&email=notifications-9p3zipfvh2%40disqus.net&secret=&block_code=c3883e&m=21&mid=4e4ece7b00000000003d0000ac14edfa

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Leia as mensagens deixadas por Manoel Campos da Silva Fh antes que sejam deletadas!
    Para ler sua mensagem, siga este link: http://us1.badoo.com/manoelcampos/in/oMqdCG-c6Nw/?lang_id=61&m=65&mid=4e589fc700000000003d0000bf6aff82
    Mais gente que espera pacientemente por você:
    Sandro (Palmas, Brasil)
    Nubinha (Palmas, Brasil)
    Rosy (Palmas, Brasil)
    http://us1.badoo.com/manoelcampos/in/oMqdCG-c6Nw/?lang_id=61&m=65&mid=4e589fc700000000003d0000bf6aff82
    Se os links desta mensagem não funcionarem, copie e cole-os na barra de endereços do seu browser.
    Este email e parte do procedimento de entrega de mensagens enviadas por Manoel Campos da Silva Fh. Caso tenha recebido este email por engano, apenas ignore. Em breve esta mensagem será removida do sistema.
    Divirta-se!
    A Equipe Badoo

    Você recebeu este email, porque um membro do Badoo deixou uma mensagem para você no Badoo. Esta é uma mensagem de somente envio. Respostas a esta mensagem não são monitoradas ou respondidas.
    Se você não quer receber mais mensagens do Badoo,
    por favor nos notifique: http://us1.badoo.com/impersonation.phtml?lang_id=61&mail_code=65&email=notifications-9p3zipfvh2%40disqus.net&secret=&block_code=c3883e&m=65&mid=4e589fc700000000003d0000bf6aff82