SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
SAPO Vídeos
Novembro de 2007

Vítor Rodrigues
Daniel Santos
Introdução

 SAPO Vídeos
  User generated content
  Conteúdos exclusivos
  Parceiros

Múltiplos interfaces
 Web
 Mobile
 SOAP
 RSS
Introdução

Plataforma flexível:
 Virtual hosting (videos.sapo.pt, mudasti.sapo.pt)
 User based templates
 Escalável
 Facilmente integrável com outros sites (pftv.sapo.pt,
    sic.sapo.pt)


Uso exclusivo de Software Livre
 Lighttpd || Apache + PHP + PEAR + Smarty + MySQL
 mpeg + mencoder + mplayer
 Memcache
Arquitectura da aplicação

                                    SAPO
               RSS        SOAP                   MAIL        ...
    SMARTY
                                    Broker

                                                                   M
                                                                   E
                           Multimédia API
L                                                                  M
O                                                                  C
G                                                                  A
S                                                                  C
                        Multimédia Framework                       H
                                                                   E

                                             Media Encoder
             Database
                                               Stormap
Arquitectura hardware
      SAPO Videos             Stormap


                                           File/
                Upload    Redirec
       Web
                                        streaming
                server      tor
     Frontend
                                          server




                                         File
                 Vídeo
                          Stormap
       Mysql
                                        Server
                encoder




                           Mysql
                          Stormap
APIs

Smarty
  Uso interno
  Em estudo a abertura ao público
Mail
  Apenas permite upload
RSS
SOAP
APIs - RSS
Feeds
     http://services.sapo.pt/videos/RSS/Channel/user/id
         Retorna o rss da playlist
  http://services.sapo.pt/videos/RSS/Query
     Parâmetros GET
         user - Pesquisa por utilizador
         related - Vídeos relacionados
         tag - Pesquisa por tag
         search - Pesquisa livre
         order - Ordenação de resultados
         limit - Numero de resultados
APIs - RSS

Utilização dos parâmetros
 Todos os parâmetros são opcionais. Por omissão são
    apresentados os vídeos mais recentes
  O parâmetro user pode ser conjugado com qualquer
    outro parâmetro
  Os parâmetros related, tag e search não podem ser
    combinados entre si
  O parâmetro related recebe um identificador único do
    video. (http://videos.sapo.pt/Zr2FE21z73uQKB0l13
    identificador é Zr2FE21z73uQKB0l13)
APIs - RSS

Utilização dos parâmetros (continuação)
 O parâmetro order permite ordenar os resultados por
          views - Mais vistos
          date - Mais recentes (Default)
          rate - Melhor rating
      Não pode ser conjugado com o parâmetro related,
        pois os resultados deste vêm sempre ordenados por
        relevância
  O limit limita o números de resultados
APIs - RSS
item
  title
  ![CDATA[ SAPO Codebits ]]
  /title
  description
  ![CDATA[ html ... /html ]]
  /description
  synopse
  ![CDATA[ O SAPO vai promover um encontro de 3 dias com programadores
para ajudar a desenvolver e a revelar novos talentos nacionais. ]]
  /synopse
  videoURLhttp://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/videoURL
  views731/views
  rate3/rate
  time00:04:00/time
  media:content url=quot;http://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/pic/120x90quot;
type=quot;image/jpegquot; height=quot;90quot; width=quot;120quot; /
  pubDateSun, 21 Oct 2007 16:07:16 +0000/pubDate
  linkhttp://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/link
/item
APIs - SOAP
Autenticação
 Todos os métodos são autenticados com a conta SAPO
    Vídeos, através de SOAP Headers
Métodos
 AddVideo *         NotifyComment *
 AddVideoPost       GetUserInfo *
                     CreateUser *
 EditVideo
 CheckVideo         GetEncodeProfilesForUser
 DeleteVideo        GetEncodeParameters
 AddVideoToPlaylist Query
 RemoveVideoFromPlaylist
    *   Apenas para uso interno.
APIs - SOAP
AddVideoPost
 Permite criar um novo vídeo na plataforma e permiti o
    upload deste por POST posteriormente.
De modo a fazer o POST do ficheiro é necessário obter um
  Token no BUS com o randname do vídeo como parâmetro
  ExtraInfo
O post deverá conter os seguintes campos:
 token: Token obtido a partir do BUS
 content_file: ficheiro a fazer upload
 redir: redirect para o qual a janela de form deve ir após
    o POST (opcional, no caso de não ser passado este
    parâmetro é devolvido o resultado em XML; caso
    contrario é passado o resultado no parâmetro error do
    redir)
APIs - SOAP

Após o upload podem ser passados os seguintes valores
 no parâmetro error do redirect:
  INVALID_TOKEN
  USED_TOKEN
  NO_FILE
  FILE_TYPE
  LIMIT_TIME
  SUCCESS
APIs - SOAP

Exemplo de um form para POST do vídeo:

    form action=quot;http://upload01.videos.sapo.pt/upload_token.htmlquot; method=quot;postquot;
    enctype=quot;multipart/form-dataquot;
    input type=quot;filequot; name=quot;content_filequot;
    input type=quot;hiddenquot; name=quot;redirquot; value=quot;http://videos.sapo.ptquot;
    input type=quot;hiddenquot; name=quot;tokenquot; value=quot;TOKEN VALUEquot;
    input type=quot;submitquot;
    /form

Contenu connexe

En vedette

Aclarando la diferencias
Aclarando la diferenciasAclarando la diferencias
Aclarando la diferenciasTANIA TAPIA
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-Oncodebits
 
Máximos Goleadores de la historia
Máximos Goleadores de la historiaMáximos Goleadores de la historia
Máximos Goleadores de la historiajaimejcidead
 
O conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuroO conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuroAlba Guerrero
 
MH Design Part 1
MH Design Part 1MH Design Part 1
MH Design Part 1MAKAUT
 
Beauty Spa Milton, Yoga Milton
Beauty Spa Milton, Yoga MiltonBeauty Spa Milton, Yoga Milton
Beauty Spa Milton, Yoga MiltonFitness Plus
 
Você sabe para que serve a etiqueta têxtil? (cartilha)
Você sabe para que serve a etiqueta têxtil? (cartilha)Você sabe para que serve a etiqueta têxtil? (cartilha)
Você sabe para que serve a etiqueta têxtil? (cartilha)Inmetro
 
Deliverable Master Copy
Deliverable Master CopyDeliverable Master Copy
Deliverable Master CopyMatt Kelly
 
Relatório de desenho
Relatório de desenhoRelatório de desenho
Relatório de desenhoRaquel Sofia
 

En vedette (17)

Aclarando la diferencias
Aclarando la diferenciasAclarando la diferencias
Aclarando la diferencias
 
demola_presentation
demola_presentationdemola_presentation
demola_presentation
 
Fendall porta stream_i
Fendall porta stream_iFendall porta stream_i
Fendall porta stream_i
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-On
 
More Licenses, More Problems
More Licenses, More ProblemsMore Licenses, More Problems
More Licenses, More Problems
 
Máximos Goleadores de la historia
Máximos Goleadores de la historiaMáximos Goleadores de la historia
Máximos Goleadores de la historia
 
O conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuroO conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuro
 
jlwcv
jlwcvjlwcv
jlwcv
 
MH Design Part 1
MH Design Part 1MH Design Part 1
MH Design Part 1
 
Beauty Spa Milton, Yoga Milton
Beauty Spa Milton, Yoga MiltonBeauty Spa Milton, Yoga Milton
Beauty Spa Milton, Yoga Milton
 
AIXÍ ÉS LA MEVA ESCOLA!
AIXÍ ÉS LA MEVA ESCOLA!AIXÍ ÉS LA MEVA ESCOLA!
AIXÍ ÉS LA MEVA ESCOLA!
 
Você sabe para que serve a etiqueta têxtil? (cartilha)
Você sabe para que serve a etiqueta têxtil? (cartilha)Você sabe para que serve a etiqueta têxtil? (cartilha)
Você sabe para que serve a etiqueta têxtil? (cartilha)
 
5º mandamento (2)
5º mandamento (2)5º mandamento (2)
5º mandamento (2)
 
Deliverable Master Copy
Deliverable Master CopyDeliverable Master Copy
Deliverable Master Copy
 
вид дееичастия
вид дееичастиявид дееичастия
вид дееичастия
 
Relatório de desenho
Relatório de desenhoRelatório de desenho
Relatório de desenho
 
Marçojardim
MarçojardimMarçojardim
Marçojardim
 

Similaire à SAPO Vídeos Plataforma

Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Marcello Azambuja
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelAlessandro Kieras
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Adriano Tavares
 
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVDesenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVmulder3
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Que tal Hackear seu carro e plugá-lo na nuvem ?!
Que tal Hackear seu carro e plugá-lo na nuvem ?!Que tal Hackear seu carro e plugá-lo na nuvem ?!
Que tal Hackear seu carro e plugá-lo na nuvem ?!Ricardo Rufino
 
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Dhion C. Hedlund
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Alexandre Freire
 
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHPPHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHPAryel Tupinambá
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...Rodrigo Wanderley de Melo Cardoso
 
Raymundo ferreira desenvolvendo apps com html e java script no windows phon...
Raymundo ferreira   desenvolvendo apps com html e java script no windows phon...Raymundo ferreira   desenvolvendo apps com html e java script no windows phon...
Raymundo ferreira desenvolvendo apps com html e java script no windows phon...INdT
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
Rest, Gateway e Compiladores
Rest, Gateway e CompiladoresRest, Gateway e Compiladores
Rest, Gateway e CompiladoresRodrigo Senra
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas InternetLuiz Domingues
 

Similaire à SAPO Vídeos Plataforma (20)

Python 08
Python 08Python 08
Python 08
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)
 
Plack
PlackPlack
Plack
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache Camel
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
 
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVDesenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Que tal Hackear seu carro e plugá-lo na nuvem ?!
Que tal Hackear seu carro e plugá-lo na nuvem ?!Que tal Hackear seu carro e plugá-lo na nuvem ?!
Que tal Hackear seu carro e plugá-lo na nuvem ?!
 
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais
 
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHPPHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
 
Raymundo ferreira desenvolvendo apps com html e java script no windows phon...
Raymundo ferreira   desenvolvendo apps com html e java script no windows phon...Raymundo ferreira   desenvolvendo apps com html e java script no windows phon...
Raymundo ferreira desenvolvendo apps com html e java script no windows phon...
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
Rest, Gateway e Compiladores
Rest, Gateway e CompiladoresRest, Gateway e Compiladores
Rest, Gateway e Compiladores
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas Internet
 
Projetos dos Sistemas de Controle de Fluxos e KIT IP
Projetos dos Sistemas de Controle de Fluxos e KIT IPProjetos dos Sistemas de Controle de Fluxos e KIT IP
Projetos dos Sistemas de Controle de Fluxos e KIT IP
 

Plus de codebits

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands Oncodebits
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meocodebits
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101codebits
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based appscodebits
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Webcodebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPPcodebits
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-Oncodebits
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencercodebits
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumbycodebits
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossárioscodebits
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduçõescodebits
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Javacodebits
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-Oncodebits
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigascodebits
 

Plus de codebits (20)

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meo
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
 
CouchDB
CouchDBCouchDB
CouchDB
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis@sapo
Gis@sapoGis@sapo
Gis@sapo
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigas
 

SAPO Vídeos Plataforma

  • 1. SAPO Vídeos Novembro de 2007 Vítor Rodrigues Daniel Santos
  • 2. Introdução  SAPO Vídeos User generated content Conteúdos exclusivos Parceiros Múltiplos interfaces Web Mobile SOAP RSS
  • 3. Introdução Plataforma flexível: Virtual hosting (videos.sapo.pt, mudasti.sapo.pt) User based templates Escalável Facilmente integrável com outros sites (pftv.sapo.pt, sic.sapo.pt) Uso exclusivo de Software Livre Lighttpd || Apache + PHP + PEAR + Smarty + MySQL mpeg + mencoder + mplayer Memcache
  • 4. Arquitectura da aplicação SAPO RSS SOAP MAIL ... SMARTY Broker M E Multimédia API L M O C G A S C Multimédia Framework H E Media Encoder Database Stormap
  • 5. Arquitectura hardware SAPO Videos Stormap File/ Upload Redirec Web streaming server tor Frontend server File Vídeo Stormap Mysql Server encoder Mysql Stormap
  • 6. APIs Smarty Uso interno Em estudo a abertura ao público Mail Apenas permite upload RSS SOAP
  • 7. APIs - RSS Feeds http://services.sapo.pt/videos/RSS/Channel/user/id Retorna o rss da playlist http://services.sapo.pt/videos/RSS/Query Parâmetros GET user - Pesquisa por utilizador related - Vídeos relacionados tag - Pesquisa por tag search - Pesquisa livre order - Ordenação de resultados limit - Numero de resultados
  • 8. APIs - RSS Utilização dos parâmetros Todos os parâmetros são opcionais. Por omissão são apresentados os vídeos mais recentes O parâmetro user pode ser conjugado com qualquer outro parâmetro Os parâmetros related, tag e search não podem ser combinados entre si O parâmetro related recebe um identificador único do video. (http://videos.sapo.pt/Zr2FE21z73uQKB0l13 identificador é Zr2FE21z73uQKB0l13)
  • 9. APIs - RSS Utilização dos parâmetros (continuação) O parâmetro order permite ordenar os resultados por views - Mais vistos date - Mais recentes (Default) rate - Melhor rating Não pode ser conjugado com o parâmetro related, pois os resultados deste vêm sempre ordenados por relevância O limit limita o números de resultados
  • 10. APIs - RSS item title ![CDATA[ SAPO Codebits ]] /title description ![CDATA[ html ... /html ]] /description synopse ![CDATA[ O SAPO vai promover um encontro de 3 dias com programadores para ajudar a desenvolver e a revelar novos talentos nacionais. ]] /synopse videoURLhttp://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/videoURL views731/views rate3/rate time00:04:00/time media:content url=quot;http://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/pic/120x90quot; type=quot;image/jpegquot; height=quot;90quot; width=quot;120quot; / pubDateSun, 21 Oct 2007 16:07:16 +0000/pubDate linkhttp://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/link /item
  • 11. APIs - SOAP Autenticação Todos os métodos são autenticados com a conta SAPO Vídeos, através de SOAP Headers Métodos AddVideo * NotifyComment * AddVideoPost GetUserInfo * CreateUser * EditVideo CheckVideo GetEncodeProfilesForUser DeleteVideo GetEncodeParameters AddVideoToPlaylist Query RemoveVideoFromPlaylist * Apenas para uso interno.
  • 12. APIs - SOAP AddVideoPost Permite criar um novo vídeo na plataforma e permiti o upload deste por POST posteriormente. De modo a fazer o POST do ficheiro é necessário obter um Token no BUS com o randname do vídeo como parâmetro ExtraInfo O post deverá conter os seguintes campos: token: Token obtido a partir do BUS content_file: ficheiro a fazer upload redir: redirect para o qual a janela de form deve ir após o POST (opcional, no caso de não ser passado este parâmetro é devolvido o resultado em XML; caso contrario é passado o resultado no parâmetro error do redir)
  • 13. APIs - SOAP Após o upload podem ser passados os seguintes valores no parâmetro error do redirect: INVALID_TOKEN USED_TOKEN NO_FILE FILE_TYPE LIMIT_TIME SUCCESS
  • 14. APIs - SOAP Exemplo de um form para POST do vídeo: form action=quot;http://upload01.videos.sapo.pt/upload_token.htmlquot; method=quot;postquot; enctype=quot;multipart/form-dataquot; input type=quot;filequot; name=quot;content_filequot; input type=quot;hiddenquot; name=quot;redirquot; value=quot;http://videos.sapo.ptquot; input type=quot;hiddenquot; name=quot;tokenquot; value=quot;TOKEN VALUEquot; input type=quot;submitquot; /form