diff --git a/share/lua/playlist/vimeo.lua b/share/lua/playlist/vimeo.lua
index 1143d317287e6ff7940ddf9fb94d0881d68fe553..d9eed17012ded144bfc2d8c33263d207b19727f7 100644
--- a/share/lua/playlist/vimeo.lua
+++ b/share/lua/playlist/vimeo.lua
@@ -37,10 +37,18 @@ function parse()
while true do
local line = vlc.readline()
if not line then break end
- path = string.match( line, "data%-config%-url=\"(.-)\"" )
- if path then
- path = vlc.strings.resolve_xml_special_chars( path )
- return { { path = path } }
+
+ -- Get the appropriate ubiquitous meta tag. It appears twice:
+ --
+ --
+ local meta = string.match( line, "(]- property=\"og:video:url\"[^>]->)" )
+ if meta then
+ local path = string.match( meta, " content=\"(.-)\"" )
+ -- Exclude moogaloop flash URL
+ if path and string.match( path, "player%.vimeo%.com" ) then
+ path = vlc.strings.resolve_xml_special_chars( path )
+ return { { path = path } }
+ end
end
end