Browse Source
atm. you should use --input-fast-seek to get better performance. Basicly script pretends to get iPhone and asks it trailer-stuff and demuxing it on appletrailers_iphone.lua-script. Works for me for most trailers, some don't work, just fix it.pull/2/head
3 changed files with 109 additions and 0 deletions
@ -0,0 +1,56 @@ |
|||
--[[ |
|||
Translate trailers.apple.com video webpages URLs to the corresponding |
|||
movie URL |
|||
|
|||
$Id$ |
|||
Copyright © 2007 the VideoLAN team |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
|||
--]] |
|||
|
|||
-- Probe function. |
|||
function probe() |
|||
return vlc.access == "http" |
|||
and string.match( vlc.path, "trailers.apple.com/trailers/iphone" ) |
|||
end |
|||
|
|||
function find( haystack, needle ) |
|||
local _,_,r = string.find( haystack, needle ) |
|||
return r |
|||
end |
|||
|
|||
-- Parse function. |
|||
function parse() |
|||
p = {} |
|||
while true |
|||
do |
|||
line = vlc.readline() |
|||
if not line then break end |
|||
for path in string.gmatch( line, "http://trailers.apple.com/movies/.-%.mov" ) do |
|||
path = vlc.strings.decode_uri( path ) |
|||
path = string.gsub( path, "r320i.mov","h480p.mov") |
|||
table.insert( p, { path=path; name=title; description=description; options={"http-user-agent=Quicktime/7.2.0 vlc lua edition","input-fast-seek";};} ) |
|||
end |
|||
if string.match( line, "<title>" ) |
|||
then |
|||
title = vlc.strings.resolve_xml_special_chars( find( line, "<title>(.-)<" ) ) |
|||
end |
|||
if string.match( line, "<meta name=\"Description\"" ) |
|||
then |
|||
description = vlc.strings.resolve_xml_special_chars( find( line, "name=\"Description\" content=\"(.-)\"" ) ) |
|||
end |
|||
end |
|||
return p |
|||
end |
|||
@ -0,0 +1,49 @@ |
|||
--[[ |
|||
$Id$ |
|||
|
|||
Copyright © 2010 VideoLAN and AUTHORS |
|||
|
|||
Authors: Ilkka Ollakka <ileoo at videolan dot org > |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
|||
--]] |
|||
|
|||
function descriptor() |
|||
return { title="Apple Trailers" } |
|||
end |
|||
|
|||
function find( haystack, needle ) |
|||
local _,_,r = string.find( haystack, needle ) |
|||
return r |
|||
end |
|||
|
|||
function main() |
|||
fd = vlc.stream( "http://trailers.apple.com/trailers/iphone/home/feeds/just_added.json" ) |
|||
if not fd then return nil end |
|||
options = {"http-user-agent='iPhone'"} |
|||
while true |
|||
do |
|||
line = fd:readline() |
|||
if not line then break end |
|||
if string.match( line, "title" ) then |
|||
title = vlc.strings.resolve_xml_special_chars( find( line, "title\":\"(.-)\"")) |
|||
art = find( line, "poster\":\"(.-)\"") |
|||
url = find( line, "url\":\"(.-)\"") |
|||
url = string.gsub( url, "trailers/","trailers/iphone/") |
|||
url = "http://trailers.apple.com"..url.."trailer/" |
|||
vlc.sd.add_item( { path = url, name=title, title=title, options=options, arturl=art}) |
|||
end |
|||
end |
|||
end |
|||
Loading…
Reference in new issue