1.4.5 • Published 10 years ago
media-parser v1.4.5
Parse media easily
Simple JavaScript library to ease integration with media and oEmbed. Useful for obtaining direct links to media content and thumbnails. Uses a combination of oEmbed APIs and custom APIs.
You should see media-embed-server for a server that provides this as a JSON/JSONP service.
Installing the library
Installing the service is quite easy:
npm install media-parser
Parsing info about a resource
// Signature (timeout is in milliseconds):
media_parser = require('media-parser')
media_parser.parse(content, callback, timeout=5000)
// Example
media_parser = require('media-parser')
callback = function(obj) {
console.log(obj);
console.log(obj.get_thumbnail_url(55));
}
media_parser.parse('This is a test http://www.youtube.com/watch?v=9bZkp7q19f0', callback)
// Will print
{
"get_thumbnail_url": [Function],
"title": 'PSY - GANGNAM STYLE (강남스타일) M/V',
"raw": { .. raw oEmbed data .. }
}
Result description
// Example
{
"title": "...",
"underlying_type": ... can be: [page, image, video, audio] ,
"content_url": ... direct link to the content (only for some),
"content_type": ... MIME type of content_url,
"raw": ... raw oEmbed response (only for oEmbed resources),
"get_thumbnail_url": function(min_size) { ... returns thumbnail }
}
Other useful functions
// Extract supported URLs from content
media_parser.extractURLs(content)
// Return an object of supported services:
media_parser.getProviders()
// Return a pattern that can match supported services:
media_parser.getProvidersPattern()
Running tests
Requires buster:
sh compile.sh; buster-test
Adding a new service
It should be quite trivial to add a new service:
- Add a new handler in
src/media_services.coffee
- Add the handler to
src/media_parser.coffee
- Add a test suite in
tests/test_core.coffee
- Test using
sh compile.sh; buster-test
Supported services
These services are supported:
- deviantart.com (oEmbed)
- flickr.com (oEmbed)
- hulu.com (oEmbed)
- justin.tv (oEmbed)
- rdio.com (oEmbed)
- screenr.com (oEmbed)
- slideshare.com (oEmbed)
- soundcloud.com (oEmbed)
- spotify.com (oEmbed)
- ted.com (oEmbed)
- vimeo.com (oEmbed)
- youtube.com (oEmbed)
- img.ly (custom)
- instagr.am (custom)
- twitpic.com (custom)
- yfrog.com (custom)
Related
- TodoistMediaParser - similar version done in Java