Embedding screencast.com Videos in WordPress Multisite

I’ve got a multisite installation of WP 3.5.1 running, and I’d like to for users to be able to embed screencast.com videos into posts, preferably with a shortcode like you do with YouTube or Vimeo.

I can do this using the full embed code from the screencast.com sharing menu, but I can only do this as a super admin. All other users have and tags stripped out of their posts. I can get around this by installing the Unfiltered MU plugin, but that’s not ideal, since it allows users to put all sorts of untrusted code/tags in their posts.

Read More

I’ve searched pretty extensively for some sort of simple plugin, and have come across this Screencast.com Video Embedder that seems idea, but it hasn’t been updated in 2 years.

So I’m wondering if there are any other solutions that might work for this.

Related posts

Leave a Reply

2 comments

  1. Screencast.com has a dedicated GitHub page with hands full of tutorials (no need to clone them over here).

    You can then utilize wp_oembed_get() or register a new provider using wp_oembed_add_provider().

    echo wp_oembed_get( 'http://example.com', array( 
        'width'  => 1920,
        'height' => 1080
    ) );
    

    Or add the provider:

    wp_oembed_add_provider(
        'http://screencast.com/*', // The Format
        'http://screencast.com/',  // The Provider
        FALSE                      // Is the first argument not a wildcard but a Regex?
    );
    

    Keep in mind that some providers will force you that you obtain an API key to do successful requests. The good ones hand out some for testing & developing purpose.

    To alter the MarkUp, there’s the obembed_dataparse filter, which you can use.

    add_filter( 'oembed_dataparse', 'wpse_91680_oembed_markup', 10, 3 );
    function wpse_91680_oembed_markup( $html, $data, $url )
    {
        if ( is_int( strpos( $url, 'screencast.com' ) ) )
        {
            // $data might hold interesting stuff for you
            # echo htmlspecialchars( var_export( $data, true ) );
    
            // $html will be FALSE for every $data->type that 
            // is not 'photo', 'video', 'rich' or 'link'
            // so you need to pre-process the $data object and build your markup here
            return "<br /> And some special appendix";
        }
    
        return $html;
    }
    
  2. Not sure if this helps you, but I was just scouring some other blogs, and found a suggestion to try Embed.ly plugin. It has an API that you can register for free, and hundreds of media providers (including Screencast, which you have to enable from the Embed.ly settings once installed). After that, just go into the page/post HTML page and paste just the URL from screencast (or other) and viola! It worked great, and my hotspots work too. I think they have an API that takes the URL, and delivers the embed code in the background. I’ll report back if my code disappears or not.

    Good luck!