The oEmbed protocol is used by a number of sites to make it easier to get thumbnail images or inline video player code for a foreign-hosted media entry that we've just got a URL for. We use this in StatusNet to fetch previews and video embedding for remote media.
Spec: http://oembed.com/
oEmbed data can be read via JSON or XML formats; this may be a good candidate for a custom API module like the opensearch suggestions.
Note that there's an oEmbed proxy service which provides basic metadata on articles for Wikipedia:
http://oohembed.com/oohembed/?url=http%3A//en.wikipedia.org/wiki/Bridge
but it does a poor job on images, where it's really more important:
http://oohembed.com/oohembed/?url=http://en.wikipedia.org/wiki/File:Akashi-kaikyo_bridge3.jpg
We should be able to expose most files as 'photo' or 'video' types, which lets us include a thumbnail URL, and inline HTML for Ogg video players etc.
Compare with Flickr and YouTube entries:
- http://www.flickr.com/services/oembed?url=http://www.flickr.com/photos/brionv/4936308232/&format=json
- http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=1tjC0mYfcrg&format=json
There are also optional 'maxwidth' and 'maxheight' parameters, which can be used to specify what size thumbnail or inline image/video player you want; the resulting photo/thumb URL or HTML should match.
<link rel>s can specify the JSON and/or XML discovery URLs for the item on the current page, and should be provided to third-party services will pick it up.
I _think_ we should be able to make the video handling pretty general by grabbing HTML fragments from the media handler, though I'm not 100% sure.
See Also: