How to use the plugin?

  • Install and activate the plug-in.
  • Encode your FLV video.
  • IMPORTANT: Inject your video with his metadata using FLVMeta in order to enable the pseudo-streaming functionality.
  • Upload your video with an FTP client or with the WordPress Media Library
  • Copy the URL of your video
  • In the post editor press the tag generator button called “stream-video”
  • Paste your video URL in the address
  • Optional:
    If you have an HD version of the video, close captions, an image preview, you can upload all the contents to a folder and then just enter the path to that folder in the “URL Base” field in the tag generator, then just copy the file name of each file you want to use.
  • Then press the “Generate” button and your video tag is generated.

NOTE: You can also re-edit your tag by selecting the tag in the editor and pressing the tag generator button.

For a video tutorial check the following link: http://v1.rodrigopolo.com/about/wp-stream-video/how-to

I have made tests of this plug-in on Windows, Linux and Macintosh computers using XAMPP and similar tools, I also test some web hosting companies and most of them work great but the best one of them all until now appears to be Dreamhost.com, it is actually the best shared hosting service I have found that “just works!” with this plug-in, 99.99% uptime, great bandwidth, SSH Access so you can mux your video on a remote shell, FFmpeg for re-muxing installed by default, free trial so you can see what I’m talking about and special discounts if you click on this link.

Can I use Lighttpd with this plug-in?

Yes you can, thanks to the JW Player the only thing you need is to set the streamer parameter to lighttpd.

Which one are the supported formats?

At this moment the Stream Video Player plug-in support the very same formats that Flash and the JW Player can, check out this link on the JW Player site:

I receive some PHP error, what can be wrong?

This plug-in requires at least PHP Version 5.2.5 to run, this version was released released November 8, 2007, many web hosting companies have the option between PHP 4 and 5, PHP 5 is secure and functional, you should update to the latest version.

Video Not Found error, How to fix it?

Here are some considerations you have to know in order to get your pseudo-stream video working:

  • Same Web Server: The psedo-streaming technique requires having the streamer.php and the FLV video located on the same web server on the same domain.
  • Not Local: For some weird reason the Adobe Flash Player plug-in loses control over pseudo-stream content when it’s being loaded locally, if you are testing the player the best place to do it its online.
  • mod_security: The Apache module “mod_security” has some issues with the pseudo-streaming, you can disable it or ask for support to your hosting company.
  • mod_fcgid: Some DreamHost users may have issues playing long videos because the use of the Apache Module “mod_fcgid” which is added by default, you can make a custom Apache Build or ask the support team to disable the “mod_fcgid”.
  • WP Sentry:There are reports that this WordPress plug-in is causing many issues with not only the player but also with other plug-ins.
  • Flash Cross Domain Policy: If you are loading content from other domain check the “Why and How to add the Flash Cross Domain Policy file crossdomain.xml?” question in this FAQ.
  • Sreamer.php running well: Check if your streamer.php file is running on your browser, if it is running it will display a 404 error saying “At lease tell me what video to _GET and where to start.” Just like this:

    If the page is blank check your server configurations, check your PHP version or contact your hosting support department.

  • Relative Paths in URLs: This plug-in only work with absolute paths on your URLs, and to make it friendlier I had added the option “Base URL” where you put the absolute path of the folder where all your video content is giving you the option to put only the file name to all the video components, a bad URL is like “../../video.flv” and a GOOD URL is like “http://example.com/wp-content/uploads/video.flv“, Also remember that web addresses or URLs will ALWAYS use slash ( / ) instead of backslash ( ).
  • Check your URLs and monitor your network: If you still experiencing problems loading the video I recommend the use of FireFox with the FireBug add-on where you can monitor the network connections and see why the video is not loading: http://getfirebug.com/net.html
  • WWW and not WWW: After a lot of experimenting, I fixed it by changing the URLs from http://www.domain.com/video.flv to http://domain.com/video.flv contributed by Emerson.

I have activated the plug-in, but don’t see the video player. What do I do?

Check and make sure that you have the appropriate hook in your template’s header:
<?php wp_head(); ?>

I only see “(video)” on my blog, why?

With some WordPress themes when you are browsing your blog, doing a search or any other thing that shows multiple post on one page you may see only the word “(video)” instead of the actual video BUT in a single page with a single post you can see your video, the reason to this behavior is to prevent some XHTML issues because the theme you are using is running the function “the_excerpt()” instead of “the_content()”, the “the_excerpt()” function cut a post in a small pice of text and because this plug-in generate XHTML code it could lead to a disaster in terms of code when a XHTML tag is not closed, a solution could be to use other plug-in that replaces the “the_excerpt()” function or to change your theme code to run “the_content()” instead of the “the_excerpt()” combined with the use the “<!–more–>” comment tag in your content.

The preview image is not displayer, how to fix it?

This is a common issue and has to do with the loading of content from one domain to other domain to fix this you can do the following thing:

The embed code in other site can’t load the video from my site, how to fix it?

The common cause for this issue is the absence of a Flash Cross Domain Policy file, check the “Why and How to add the Flash Cross Domain Policy file crossdomain.xml?” in this FAQ.

PCLZIP_ERR_BAD_FORMAT error on auto update

If you receive this error retry to auto update until it works, I really don’t know why this happens but in my personal experience in the second or third try it works.

Why and How to add the Flash Cross Domain Policy file crossdomain.xml?

For security reasons, a Macromedia Flash movie playing in a web browser is not allowed to access data that resides outside the exact web domain from which the SWF originated.

Take note that these two domains are treated as different:

http://www.example.com – http://example.com

So if the player is displayed on a page loaded in your domain using the www. In the address bar and you’re content it’s being loaded on the same domain NOT using the “www.” The content will not load because flash thinks they are different domains.
This also applies if you are planning to loading content from other domains.

TO FIX IT you need to put the Flash Cross Domain Policy file in the root web folder of the web server where you are loading the content, for an example:


There is one crossdomain.xml included within the plug-ins folder so you can move it to your web root folder.

For more information regarding the cross domain policy check this link: http://kb2.adobe.com/cps/142/tn_14213.html

I can’t seek on the video, why?

In order to make the pseudo streaming technique work you need to inject the FLV with his metadata, check the “How to inject metadata to a FLV file?” in this FAQ.

How to inject metadata to a FLV file?

The best solution to inject metadata to a FLV file is FLVMeta program, which it’s faster, easy to use, low footprint on memory and CPU, it’s free open source software and multi-platform

To use it you can download it and then run it from the command prompt. See the following example on using FLVMeta on the command prompt or shell:

Flvmeta input.flv output.flv

You can download FLV Meta here: http://code.google.com/p/flvmeta/ or download and install this Fmpeg installer package for video encoding and FLV injection on Windows, Linux and Macintosh.

Why not to use Yamdi for the metadata injection?

I discourage the use of Yamdi because his lack of metadata injection on the “with” and “heght” and because it is too slow, can’t handle big files and use too much memory.

Why FLV and not MP4?

The main reason is that the pseudo-streaming PHP code is made for FLV videos, if you have already encoded your video as an MP4 file using the H.264 codec for the video and the AAC codec for the audio you can “copy” or “convert” the video to FLV withot re-encoding by muxing the MP4 to FLV with FFmpeg, the command for this task is the following:

Ffmpeg -i input.mp4 -vcodec copy -acodec copy output.flv

Don’t forget that you have to inject the resultant FLV video with metadata so it can be used in the pseudo-stream player, see “How to inject metadata to a FLV file?” included in this FAQ.

Why my YouTube video it’s not working?

It is very recommended that you use the tag generator in order to have the video URL encoded in the way it is needed; here is an example of a YouTube URL and the encoded one by the tag generator:



Here is also an example of a tag for a YouTube video (NOTE:

[ stream provider=youtube flv=http%3A//www.youtube.com/watch%3Fv%3DBSKRHD7woAE img=http://i1.ytimg.com/vi/BSKRHD7woAE/hqdefault.jpg embed=true share=true width=480 height=360 /]

(NOTE: there is an space after the “[” to make the tag not to be processed by the plug-in on this site)

How to fix HTML, DIV, CSS Overlapping?

As you know the “embed” object sometimes overlaps some HTML+CSS menus, This plug-in is made thinking on this kind of issues, to fix it enable the “Fix HTML overlapping” in the “Quick Tag Code Generator” or add the attribute “opfix=true” to your current video tag and it will be fixed, it is designed to fix this kind of issues per video, if I get more than 3 user request to enable this option as a global one I would code it.

Why this plug-in uses a custom build of the JW Player and not the public one?

I decided to stop coding my own player and use a better alternative because most users ask me for many many features and I don’t have the time to code each one and in the other hand the JW Player have done a great job filling all the user’s needs so I choose to use their player.

I downloaded and test the typical JW Player with the pseudo-streaming code without success playing a single video, so I decided to download the source and check what could be the problem, I have found two major issues with the pseudo streaming code so I reported those issues but without seeing any fix on the player they publish, I think they have another priorities and a lot of work so I decided to make my own build.
I also make a custom build for the “share” plug-in and the “captions” plug-in, the first one to make the embed code persistent on each copy the users can make, and the second one to fix the overlapping of the captions over the controls.

Other modifications I made are based in order to fit the legacy of the previous plug-in and player I have coded, like the loading of plug-ins locally, the skins, the hours in the time indicator, the look and feel, etc.

I know for sure the custom build I have made will work with the pseudo stream technique and it is what the most typical user would like to use.

If you have any suggestions they are welcome.

Note: Comments are closed, if you want some support or help go to this places: