4 Copyright © 2009 the VideoLAN team
6 Authors: Konstantin Pavlov (thresh@videolan.org)
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25 return vlc.access == "http"
26 and string.match( vlc.path, "video%.mpora%.com/watch/" )
33 -- Try to find the video's title
35 if not line then break end
36 if string.match( line, "meta name=\"title\"" ) then
37 _,_,name = string.find( line, "content=\"(.*)\" />" )
39 if string.match( line, "image_src" ) then
40 _,_,arturl = string.find( line, "image_src\" href=\"(.*)\" />" )
42 if string.match( line, "video_src" ) then
43 _,_,video = string.find( line, 'href="http://video%.mpora%.com/ep/(.*)%.swf" />' )
48 if not name or not arturl or not video then return nil end
50 -- Try and get URL for SD video.
51 sd = vlc.stream("http://api.mpora.com/tv/player/playlist/vid/"..video.."/")
52 if not sd then return nil end
53 page = sd:read( 65653 )
54 sdurl = string.match( page, "url=\"(.*)\" />")
57 table.insert( p, { path = sdurl; name = name; arturl = arturl; } )
59 -- Try and check if HD video is available.
60 checkhd = vlc.stream("http://api.mpora.com/tv/player/load/vid/"..video.."/platform/video/domain/video.mpora.com/" )
61 if not checkhd then return nil end
62 page = checkhd:read( 65653 )
63 hashd = tonumber( string.match( page, "<has_hd>(%d)</has_hd>" ) )
67 hd = vlc.stream("http://api.mpora.com/tv/player/playlist/vid/"..video.."/hd/true/")
68 page = hd:read( 65653 )
69 hdurl = string.match( page, "url=\"(.*)\" />")
70 table.insert( p, { path = hdurl; name = name.." (HD)"; arturl = arturl; } )