Upload
codebits
View
6.963
Download
3
Embed Size (px)
DESCRIPTION
SAPO Vídeos, feeds de RSS e API da plataforma. Exemplos práticos.
Citation preview
SAPO Vídeos
Novembro de 2007
Vítor RodriguesDaniel Santos
SAPO VídeosUser generated contentConteúdos exclusivosParceiros
Múltiplos interfaces WebMobileSOAPRSS
Introdução
Plataforma flexível:Virtual hosting (videos.sapo.pt, mudasti.sapo.pt)User based templatesEscalável Facilmente integrável com outros sites (pftv.sapo.pt,
sic.sapo.pt)
Uso exclusivo de Software LivreLighttpd || Apache + PHP + PEAR + Smarty + MySQLffmpeg + mencoder + mplayerMemcache
Introdução
Multimédia Framework
Multimédia API
SMARTY
LOGS
RSS SOAP SAPO Broker MAIL
DatabaseStormap
Media Encoder
MEMCACHE
...
Arquitectura da aplicação
Arquitectura hardware
Web Frontend
Upload server
Redirector
File/streaming
server
Mysql StormapVídeo encoder
Mysql Stormap
File Server
SAPO Videos Stormap
SmartyUso internoEm estudo a abertura ao público
MailApenas permite upload
RSSSOAP
APIs
Feedshttp://services.sapo.pt/videos/RSS/Channel/user/id
Retorna o rss da playlisthttp://services.sapo.pt/videos/RSS/Query
Parâmetros GETuser - Pesquisa por utilizadorrelated - Vídeos relacionadostag - Pesquisa por tagsearch - Pesquisa livreorder - Ordenação de resultadoslimit - Numero de resultados
APIs - RSS
Utilização dos parâmetrosTodos os parâmetros são opcionais. Por omissão são
apresentados os vídeos mais recentesO parâmetro user pode ser conjugado com qualquer
outro parâmetroOs parâmetros related, tag e search não podem ser
combinados entre siO parâmetro related recebe um identificador único do
video. (http://videos.sapo.pt/Zr2FE21z73uffQKB0l13 identificador é Zr2FE21z73uffQKB0l13)
APIs - RSS
Utilização dos parâmetros (continuação)O parâmetro order permite ordenar os resultados por
views - Mais vistosdate - 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> <videoURL>http://videos.sapo.pt/KznvtNMZ2fN3llthmKFM</videoURL> <views>731</views> <rate>3</rate> <time>00:04:00</time> <media:content url="http://videos.sapo.pt/KznvtNMZ2fN3llthmKFM/pic/120x90" type="image/jpeg" height="90" width="120" /> <pubDate>Sun, 21 Oct 2007 16:07:16 +0000</pubDate> <link>http://videos.sapo.pt/KznvtNMZ2fN3llthmKFM</link> </item>
APIs - RSS
AutenticaçãoTodos os métodos são autenticados com a conta SAPO
Vídeos, através de SOAP HeadersMétodos
AddVideo *AddVideoPostEditVideoCheckVideoDeleteVideoAddVideoToPlaylistRemoveVideoFromPlaylist
* Apenas para uso interno.
APIs - SOAP
NotifyComment *GetUserInfo *CreateUser *GetEncodeProfilesForUserGetEncodeParametersQuery
AddVideoPostPermite 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 BUScontent_file: ficheiro a fazer uploadredir: 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_TOKENUSED_TOKENNO_FILEFILE_TYPELIMIT_TIMESUCCESS
APIs - SOAP
Exemplo de um form para POST do vídeo:
<form action="http://upload01.videos.sapo.pt/upload_token.html" method="post" enctype="multipart/form-data"> <input type="file" name="content_file">
<input type="hidden" name="redir" value="http://videos.sapo.pt">
<input type="hidden" name="token" value="TOKEN VALUE">
<input type="submit"></form>
APIs - SOAP