About
The XHTML is great as long as the validation is kept, or it’s (kinda) useless. At least it’s useless if someone decides to serve it as XML. Anyway, the Web Standards S.H.O.U.L.D. be respected. XHTML Video Embed is a simple WordPress plug-in which allows you to easily embed multimedia content from various services by keeping the XHTML validation of your WordPress theme (if it has one). I wrote this plugin because I was kinda unhappy with the current solutions and their output. Feel free to request support for other video service. If it can be integrated in a nice way, I would gladly extend the plug-in’s functionality. The feedback is also welcomed.
Lincensing
The plug-in is licenced under the GPL v2.0 Open Source license (aka Free Software - Free as in speech and beer ;)). Other things may have other licenses, but the freedom is complete since v0.3.3 as the JW FLV MEDIA PLAYER (which was free for non-commercial usage) has been replaced. This wasn’t a technical issue since the JW FLV MEDIA PLAYER is a great piece of software, but a licensing issue. Since v0.3.3, the FLV embedding is made by default by FLV Player which isn’t restricted by that non-commercial usage problem. If you don’t break the law, you can still use the previous media player if you make some slight modifications to the “flv” branch of the swc_convert_url(); function, into the the ‘return’ line. Replace it with:
return swc_repl_amp($_mpPath.”?file=”.$_iURL); //Careful when copying the quotes (”)! They may be displayed as fancy quotes which may break the code!
Please remember that the player’s name must be `mediaplayer.swf`.
Notice: under Linux, the v4.0 of the JW FLV MEDIA PLAYER doesn’t properly support the fullscreen mode. The previous version (which is available with the older releases of XVE) does properly support the fullscreen mode.
Installation
Download the distribution archive from here:
http://wordpress.org/extend/plugins/xhtml-video-embed/
Then follow the installation instructions from here:
http://wordpress.org/extend/plugins/xhtml-video-embed/installation/
Notice: please follow the instructions exactly, or I can’t guarantee that certain features should work as expected.
FAQ
http://wordpress.org/extend/plugins/xhtml-video-embed/faq/
Usage
The plugin doesn’t have any kind of interface, so it works based on some BB-like tags. I wrote the tags with spaces in order to prevent the automatic object replacement since I actually use my own stuff (should I add a “dooh”). The correct tags should be used without spaces nor line breaks like: [swf], [flv], [youtube], [google-video], [metacafe], [trilu-video], [trilu-audio], [trilu-imagine], [trilu-image], [dailymotion], [myspace], [revver], [spike], [vimeo], [jumpcut], [mogulus] plus the matching close tag. Roughly this syntax is something like:
[tag]http://example.com/video-path-or-id[/tag]
The tags are case insensitive, so if you would like to write something like: [YouTube] - the plugin still works. Since the plugin is self-documented, you can check its Options panel located under Options » XVE for configuration details and usage mode.
Localization
XHTML Video Embed may speak your language. At the moment is speaks English (native), Romanian (add-on), Spanish (add-on), and Dutch (add-on).
The Spanish and the Dutch is provided by Álvaro who was kind enough to donate some time to this plug-in. Many thanks!
Note
The credits notice which you can see under the inserted flash object is optional. It’s disabled by default.
Online Demo
- SWF
- FLV
- YouTube (including High Definition by adding to the URL the proper parameters: &fmt=6, &fmt=18, or &fmt=22)
- Google Video
- Metacafe
- Trilulilu Video
- Trilulilu Audio
- Trilulilu Image
- Dailymotion
- MySpace TV
- Revver
- Spike
- Vimeo
- Jumpcut
- Mogulus
- Capped TV
- GameTrailers (including user videos)
- Veevo
- CollegeHumor
Generic SWF:
» Powered by XHTML Video Embed
Generic FLV:
» Powered by XHTML Video Embed
» Powered by XHTML Video Embed
YouTube:
» Powered by XHTML Video Embed
Google Video:
» Powered by XHTML Video Embed
Metacafe:
» Powered by XHTML Video Embed
Trilulilu Video:
» Powered by XHTML Video Embed
Trilulilu Audio:
» Powered by XHTML Video Embed
Trilulilu Image:
» Powered by XHTML Video Embed
Dailymotion:
» Powered by XHTML Video Embed
MySpace TV:
» Powered by XHTML Video Embed
Revver:
» Powered by XHTML Video Embed
Spike:
» Powered by XHTML Video Embed
Vimeo:
» Powered by XHTML Video Embed
Jumpcut:
» Powered by XHTML Video Embed
Mogulus:
» Powered by XHTML Video Embed
Capped TV:
» Powered by XHTML Video Embed
GameTrailers:
» Powered by XHTML Video Embed
Veevo
» Powered by XHTML Video Embed
CollegeHumor
» Powered by XHTML Video Embed
Compatibility
Since this plugin replaces the functionality of the fixed version of Trilulilu’s plugin, the support for that fix has been discontinued. Use this plugin instead of my fix. Since it has full compatibility with Trilulilu’s plugin, it is recommended to use only one. Pick your favorite
…
The proof
http://validator.w3.org/ - The W3C Validation result.
Spam Notice
Since I submitted the plug-in to the official WordPress repository, the spam has increased to the roof. Basicaly I had more spam within this period than from the moment when I started to use WordPress (more than a year ago) and Spam Karma 2 (SK2 from the day one with WordPress). If your comment is not shown because of my antispam protection, or I manually remove it because I though it was spam (I had to remove couple of comments since some of the bots are very smart), please use the contact page which is not affected by this message spamming as this page is. Please stick to the topic, because all offtopic messages might be marked as spam since this is a new spam technique: posting an apparent harmless message, then starting to spam that page for real since the message could gain credibility for those who use the moderation for all the untrusted sources. Because I removed the NoFollow value of the rel attribute in order to encourage the comments (yes, all my blog pages have PageRank transfer) - my policies about the comments are more restrictive. Thank you for understanding.
Sunday, February 3rd 2008 at 3:58 pm
thanks. usefull, indeed.
Tuesday, February 5th 2008 at 10:41 pm
Am pus si versiunea 2.0, desigur, cu link+ul credit. E o chestie de obraz. Am pus un bracket în php în faţa textului Powered … fiindcă pe tema mea rezulta o aliniere ciudata, in dreapta ferestrei clip. Acum e mai bine.
Tuesday, February 5th 2008 at 10:43 pm
psŞ e ceva ciudat la pluginul de comentarii. introduc codul in caseta, mi se aproba comentariul si nu se mai intampla nimic. Browserul ramane pe fereastra cu anuntul privind aprobarea comentariului meu. Nu trebuie vreun buton back pe acolo_ Daca ii dau din browser back, ajung iar la textul comentariului (deja aprobat si publicat).
Wednesday, February 6th 2008 at 12:30 am
E de la Spam Karma 2 … anti-spam bot … nu stiu cum se comporta pentru ca fie sunt autentificat ca admin, fie IP-ul, mail-ul si adresa blogului sunt in whitelist cand postez neautentificat, deci nu patesc chestia asta …
Mai exista o chestie … unele comentarii nu apar imediat pentru ca folosesc WP Cache 2 pana imi mut hostul pe unul care sa imi dea mana libera la mai multe resurse (e o balarie pe care o fac de o luna si ma enerveaza).
PS: multam de credit link
Sunday, February 24th 2008 at 6:18 pm
Thank you for your kind feedback. As for the plug-in itself, I am developing new features as we speak.
Friday, March 7th 2008 at 7:39 am
Hi!
Finally, I find something working! But I already installed “EasyTube” plugin for my YouTube videos, so I just decided to deactivate that one seeing that yours is very complete, but it just put white square space, and I see your “Powered by XHTML…” hyperlink.
Any idea? Thanks for this great plugin!
Friday, March 7th 2008 at 9:21 am
The hyperlink is disabled by default. It only displays a XHTML comment which is invisible for the end user. The default options should be created at the first usage of the plug-in (either admin panel or just visiting your blog after installation). You have to activate that option by hand in order to display that hyperlink. If you would like to disable the link, just unckeck the “Use credit for XVE?” from Options >> XVE >> Miscellaneous Options.
Saturday, March 8th 2008 at 1:45 pm
Hi,
Regarding your xhtml video embed, just wondering if you had any instructions lying around somewhere…?
I tried it on my WP blog (I’m not using the recent edition of WP, but the previous edition) with a YouTube video in this format below, but nothing shows up…
[youtube]http://youtube.com/watch?v=-UMFUp5hD2Q[/youtube]
That is, I added just like that above to my normal post, not in the ‘code’ part, but in the visual part. Is it supposed to be a link or..?
I went in to your plugin and enabled it and all that stuff.
Maybe some simple, how to do it instructions would be good for us non-coder types.
Thanks
Saturday, March 8th 2008 at 5:09 pm
Nope … that link won’t work because one of my security policies regarding the YouTube support. It’s not your fault, but the link is good. I’ll release a quick fix for that permalink type. I didn’t know that YouTube added subtraction (-) in their permalinks. Thanks for reporting the issue. Now I know why another application of mine which uses the YouTube permalinks is broken.
PS: I think that was yanick’s issue as well, but without the exact link, I couldn’t debug that.
Later Edit: the patch has been submitted. Update to the latest version and it should be OK. Thanks for reporting the issue.
Sunday, March 9th 2008 at 3:50 am
Hi Saltwater…
Thanks so much for getting back to me on this one. I appreciate it…
Looking forward to getting more videos on my site asap now
Martin
Sunday, March 9th 2008 at 7:17 pm
Hi there,
Is it possible to set the height of an embedded swf?
Sunday, March 9th 2008 at 7:35 pm
[…] show swf files, youtube videos and other mash-up stuff I now use xhtml-video-embed. This plugin lets you embed different content using a simple [tag] … [/tag]-markup… No more […]
Sunday, March 9th 2008 at 9:27 pm
Try to get a .wmv video to work - any tricks to this?
Monday, March 10th 2008 at 1:30 am
@ justGREAT: at the moment there isn’t support for setting the height besides the video height which is unified. Since not all the flash objects have a 4:3 aspect ratio, I am thinking about implementing this feature. Thanks for the idea.
@Russ: unfortunately XHTML Video Embed is about embedding flash content. That was the intention because once the flash plug-in is installed, it works OK under Windows/Linux/OS X. I am the kind of guy who uses multiple platforms for work, so this is kinda important. WMV and other video formats embedded into Web pages used to gave me lots of headaches when trying to make them cross-platform compliant. Viper’s Video Quicktags (that’s the name of the plug-in) should do that. I actually used that plug-in till it started to break my XHTML validation, so I wrote my own stuff, but without the non-flash generic video support for the already mentioned reason.
Monday, March 10th 2008 at 1:58 am
Thanks for the response and great pluggin. I was trying to avoid adding my movies to YouTube but it might be the way to go.
Thanks again.
Sunday, March 16th 2008 at 4:52 am
Thanks much for the plug-in. Wanted to let you know Hulu.com is now open to the public. It has a large archive of video, and lets you edit your own clips.
Sunday, March 16th 2008 at 3:03 pm
The direct access to Hulu tells me that the videos are not available for my country (I’m Romanian, the service is for the U.S. consumers). Accessing the site through a high anonymity U.S. proxy simply tells me that the video is not available. If I can find a way to access the site and create the code for the flash object, I would implement it into XVE. However, this might be restrictive even for the embedded videos, so it might not work for your non-U.S. blog readers (if you have any).
Wednesday, March 19th 2008 at 9:57 am
Your plug-in is awesome! I’ve been trying to find a nice way to add flash video to our blog for awhile…it works great and is quite simple. Thanks!
Michael
Saturday, March 22nd 2008 at 2:23 am
Hi I am trying to use this, it loads the swf file perfectly but for some reason cant load the xml. This is odd as if you type it into a browser then no problem. I wondered if you have any idea as to what is going on. For example if you go on my site http://lewisurwin.com/?page_id=3 then it fails to load the xml but all that is loading is the following file http://lewisurwin.com/mediagallery/mediaGallery.swf which does not show any errors. I wondered if for example there is a default area that it is looking for the xml (it is in the same directory and I have used the absolute path in the plugin. Many thanks
Saturday, March 22nd 2008 at 10:57 pm
At the moment I can’t find the file:
The requested URL /mediagallery/mediaGallery.swf was not found on this server.
Can’t do any debugging without the source of the issue.
Tuesday, March 25th 2008 at 7:28 pm
Hey SaltwaterC,
is there any way to not use the default size? Like [vimeo w=400 h=300] or something? Would be very handy!
Cheers mate! Will probably feature your plugin in a future article (for not using the link)
Tuesday, March 25th 2008 at 9:26 pm
At the moment you can only edit the default sizes for all videos (which you already did). I’ll try to implement them with the next version which will bring more features and less load to the sites.
Sunday, March 30th 2008 at 4:03 am
Where is the first WP 2.5 test pilot? Hands up please!
Sunday, March 30th 2008 at 9:05 am
i changed the youtube code to use the higher quality .mp4 version if it is availabe. replace line 55 with this (don’t know if code is supported in your comments though):
return "http://www.youtube.com/v/".preg_replace("@[^a-zA-Z0-9\_\-]@", "", $_theMatch)."&ap=%2526fmt%3D18";Sunday, March 30th 2008 at 9:06 am
Oh, and i like to report that your plugin is working fine under wordpress 2.5 as well!
Monday, March 31st 2008 at 8:27 am
Thanks for the report. I know about the YouTube support for higher quality videos so I am thinking about implementing it into the next version.
Wednesday, April 2nd 2008 at 1:23 pm
This looks good. Two services I like that you don’t have: Viddler & Jumpcut.
In other news… a little feedback on your useage directions. You don’t actually say whether the plug-in is just looking for a URL or the whole embed language. I would rewrite it to say “place these tags on either side of the service’s URL for the video you are posting” or something like that.
Wednesday, April 2nd 2008 at 3:06 pm
Thanks for the idea. Since the English is not my native language, I still have some slips/heavy slips. Either way, into the admin panel I placed some examples which are kinda suggestive … I’ll update all the data pretty soon.
Tuesday, April 8th 2008 at 10:56 pm
I that I would need at least couple of days from my spare time in order to finish the v0.3. At the moment the new data structures work on the new and optimized model which I planned for quite a while. The admin panel is at the moment is broken as it tries to use the old options engine (development version, v0.3 Alpha 1).
Just to let people to know that I didn’t forget about XVE
…
Monday, April 21st 2008 at 6:03 pm
Salut!
Am instalat si eu pluginul, pentru ca si eu imi doresc sa valideze bine pagina. Functioneaza, in sensul ca pune filmul in pagina. Dar validarea tot nu iese.
Monday, April 21st 2008 at 11:03 pm
@Lucian: since I couldn’t write onto your blog (all pages throw the 404 error), here’s my message:
The first error is the fact that the theme is declared as XHTML 1.0 Strict while WordPress relays onto the XHTML 1.0 Transitional standard. You need to modify the DTD (Document Type Declaration) from the theme. The Strict standard doesn’t have support for the target attribute, while WordPress uses it.
Second of all, the embed code which is provided by YouTube is broken. However, you can download a copy of my plug-in, install it, then replace the YouTube embedded code with [youtube]full-url-to-youtube-video[/youtube]. Believe me that it works.
Regards,
SaltwaterC
PS: you do share some of things I also like … Ubuntu and Trance
If you do listen to Trance music besides other EDM genres, I would also recommend you http://puresound.fm
Tuesday, April 22nd 2008 at 10:59 pm
[…] SaltwaterC saved the day, with his cool plugin XHTML Video Embed. So I just installed the plugin, made small changes to the posts and voila: perfect validation for […]
Friday, May 23rd 2008 at 10:13 am
Great plugin!
Is there a way to universally embed all of these videos (since youtube/dailymotion/myspace all have their little clients). I’m thinking about just MAKING a player that can merge all these together.
any thoughts?
Friday, May 23rd 2008 at 10:39 am
Well … I could implement the JW FLV MEDIA PLAYER into the plugin, but there’s an issue: since the video services might change the path for their videos, then the plugin is broken. Another downside is the fact that this kind of solution actually has to read the source page of the video, thus making more traffic. I intend to implement a caching engine for this kind of video services which can’t be nicely embedded (aka get all the required parameters from the URL and then generate the flash object). But … implementing this kind of thing is rather cumbersome and it might break the video services TOSes as you would use a 3rd party player.
Monday, June 2nd 2008 at 8:06 pm
This is a great plug-in, but I’m having trouble. I should preface this by saying I’m not a tech-head at all.
I’m trying to embed local SWF files (as opposed to content from YouTube, etc) and while they embed for me easily, the “player” skins associated with them do not, so I end up with no player controls (the skins are loaded in the same folder with the movies, as directed in the Flash 8 instructions). They work in a standard HTML file, but not plugged into a WP post. Would you know a way around this problem?
Monday, June 2nd 2008 at 11:04 pm
Can you provide me the name of the local player or something? Some files would be better as I can look at the embedding mode. As I mentioned above, I am thinking about packaging JW FLV MEDIA PLAYER within the plug-in for local SWF/FLV files which need an embedded player as they lack their own, but … as the promised v0.3 - at the moment I have little (almost NO) time for it.
Tuesday, June 3rd 2008 at 3:53 am
The local player is just the “SteelExternalAll” skin provided by Flash 8. When I “publish” the video, it creates an SWF of the clip itself, another called “SteelExternalAll.swf,” an FLV and an HTML page. It runs fine on the page, and if I cut and paste the code to another HTML page that’s fine, too. And if I enter the address of the clip’s SWF in my browser address bar, it loads with the necessary skin. But if I provide that same link within a WP post, I get the clip with no player.
Here’s the HTML page created by Flash 8:
http://www.davidmorefield.com/journal/wp-content/video/screamingfit.html
Here’s the SWF of the clip (with skin attached):
http://www.davidmorefield.com/journal/wp-content/video/screamingfit.swf
Here’s the “skin” itself:
http://www.davidmorefield.com/journal/wp-content/video/SteelExternalAll.swf
If it makes a difference, here’s the FLV:
http://www.davidmorefield.com/journal/wp-content/video/loudeaters.flv
Let me know if you needed me to mail you something instead. Thanks for taking time out to look at this.
Tuesday, June 3rd 2008 at 11:40 am
Can’t make it to work on my host … the clip fails to load completely … I don’t know exactly where’s the issue, but fortunately I know a universal fix, which is embedding a swf player for the flv files, thus people might embed stuff by using:
[flv]path-to-flv-file[/flv]
Yes, I already mention that :). Since I still have some work to do for v0.3, I think that I’ll make a v0.2 branch which includes the FLV player till the next version is out.
Tuesday, June 3rd 2008 at 2:36 pm
If there’s a way to screw it up, I’ll find it. Thanks for looking into this, and I’ll keep my eyes open for that upgrade.
Tuesday, June 3rd 2008 at 8:40 pm
Quick and Dirty. Your problem has beed fixed by the latest stable release (v0.2.4). The usage is as the rest of the services. Example:
[flv]http://saltwaterc.net/wp-content/uploads/as-the-tables-turn.flv[/flv]
You can see it within this page. Thank you for using XHTML Video Embed and stay tuned for the future releases.
Tuesday, June 3rd 2008 at 9:58 pm
Holy Hannah! I didn’t expect that so soon! Thanks for the assist, man, you’re aces!
Wednesday, June 4th 2008 at 4:35 pm
There … the v0.2.4.2 allows the FLV embedding by using any path for the xhtml-video-embed.php and the mediaplayer.swf files (within the wp-content/plugins directory of course) as long as these couple of files stay into the same directory.
Sunday, June 8th 2008 at 4:07 pm
The v0.3 is out. Grab it while it’s hot
…
PS: besides Viddler which doesn’t use embed friendly by 3rd party plugins URls, all the requested features were implemented, plus the new application design. Enjoy …
Monday, June 9th 2008 at 12:12 am
Hmmm… Just downloaded and installed 0.3 but it won’t activate on my WP 2.5.1 - it (the WP plugin manager) throws out a sadly unspecified fatal error… Deleted it and rolled back to 0.2.4.2 and that works. It may well be something on my end, but I thought I’d flag it, just in case. Couldn’t find anything in my apache log that’d point to a permissions problem… Strange, because I suppose it works on your end!
Monday, June 9th 2008 at 12:22 am
Well this is weird. The plug-in development started under v2.3.3, continued under v2.5 and I finished it under v2.5.1. Can you specify the exact error?
Monday, June 9th 2008 at 12:30 am
That’s it. I could reproduce the error. Indeed it was an issue within my code triggered by a security policy which should block the requests to the plugin which are made outside WordPress, but I implemented that feature after the plugin was already activated onto my installation. The issue has been patched. It should be released along with v0.3.1 which contains another bug fix.
Monday, June 9th 2008 at 2:26 am
You’re amazing. I’ve downloaded the new v0.3.1 and it loads & works like a charm. I really appreciate your hard work; it’s not much, but I’ve localized your plugin into Spanish, and have placed the corresponding language file here for you to download/use and distribute as you see fit - of course, also under “your” GPL license. FYI - I’ve used a generic “polite” Spanish, which should be OK on both sides of the Atlantic.
Note for other potential localizers: be sure to save your file with localized strings using UTF-8 encoding, preferably with UNIX line endings (LF only) to avoid trouble once uploaded to your server!
Tuesday, June 10th 2008 at 3:09 pm
Álvaro thank you very much for the localization. It will be included into the next release which contains some small code tweaks (couldn’t find any more bugs :D).
Sunday, June 15th 2008 at 2:12 am
Do you think it’s possible to include Mogulus in the list of “nice” URI supporting sites? I suppose you need to have a look at how Mogulus offers its embedding code for that, and I found some guidance here. As far as I know, it should be possible to cull the exact direct URI to a video… FYI - Mogulus isn’t a regular “uploaded video” host; instead, they offer livecasting (with a possibility to “replay” the last show broadcast via a channel, on demand). But it’d be neat to be able to embed a Mogulus TV channel into a blog without their weird javascript solution!
Sunday, June 15th 2008 at 10:13 am
I’ll have a look at it. The next release was scheduled for today (some tweaks + your localization), but since you requested this feature, I’ll make a small delay.
Sunday, June 15th 2008 at 1:54 pm
Awww… Sorry for that. I’ll try and make it a little bit worthwhile by providing a Dutch localization as well - you’ll have it before Monday morning.
Sunday, June 15th 2008 at 3:09 pm
Well … I accidentally released the v0.3.2 as I wanted to keep is as development version till the Dutch localization is ready. I committed the version as the development version, but I marked into the readme file the stable tag as 0.3.2, thus WordPress made it a release.
It includes your Spanish localization as well as Mogulus support. The WordPress page should be updated into the next 15 minutes with the new readme.
When you’re finished with the localization, I’ll include it into the v0.3.2.1 release.
Sunday, June 15th 2008 at 10:37 pm
Sheesh … it wasn’t entirely my fault. The dumb readme.txt parser can’t validate readmes encoded with UTF-8, thus it makes the trunk a stable release. When I added your name (Álvaro), the thing came out broken. As far as I know, none of the documentation of the plug-in submission specifies this issue.
Crap, crap, crap … my development version flew away … Fortunately, it is stable …
Monday, June 16th 2008 at 7:41 am
Ouch… My apologies for having a name with a funny accent.
The Dutch version is now ready for you to pick up and use, here (and as with the Spanish one, it’s encoded as UTF-8 with UNIX line endings, LF only.)
PS: maybe it has to do with saving it in a different UTF-8 format? I know there’s an issue regarding the inclusion or omission of the BOM (beginning-of-file marker). Typically it’s best NOT to save a UTF-8 with BOM. If you’re using a Windows box, one very simple way of precluding any such encoding snafu may be using Floran Balmer’s absolutely fantastic, functional and free Notepad2 app, where you can set it to “simple” UTF-8 and it’ll upload (and be read) without a hitch.
Monday, June 16th 2008 at 8:22 am
Woohoo! Mogulus is embedding beautifully - and no funny foreign JS calls! Thank you again: XVE is fantastically simple to use, and an XHTML compliant solution… I guess I should be tweaking my theme to make it XHTML compliant as well now (and the other plugins… Grrr!)
Monday, June 16th 2008 at 8:57 am
Most of the time I develop under Ubuntu (at the moment: Hardy, x86_64) with Eclipse 3.3+PDT 1.0.5 platform, but that file was written with Gedit as Eclipse+PDT sucks at UTF-8. To be honest, I don’t know how Gedit saves the files as it doesn’t provide an explicit dialog when it converts an ASCI file to UTF-8.
I’ll look forward to see if the BOM was the issue. It might be as I found lately that the direct input to the readme.txt validator isn’t broken. But … this isn’t a guarantee as the Web application could simply convert the UTF-8 chars to their equivalent HTML entities before the validation by itself.
About the no JavaScript implementation, the credit goes to the developers of Firebug and Web Developer, both of them being Firefox extensions. They are great when it comes to reading the generated HTML source via userside scripts and other Web development stuff.
PS: good luck with the XHTML validation. I know that sometimes is a royal pain in the ass. I recommend Firefox and HTML Validator extension which is a huge helper. I hope that till then, it’s isn’t such a big issue the fact that your name is spelled with Latin ‘A’ instead of Á. This was the fastest solution to the releases issue as it was the only non-ASCI char :).
Monday, June 16th 2008 at 10:29 am
Wow, this is just what i was looking for!
Would it still work if my wp is in html strict and not xhtml?
Monday, June 16th 2008 at 10:43 am
The credit URL is Transitional as the WordPress by default provides XHTML 1.0 Transitional skins. Most of the skins follow this standard, thus I didn’t try to make it Strict. As long as W3C are stubborn about the lack of the target attribute into their Strict standards, I won’t validate my pages as Strict.
Thursday, June 26th 2008 at 1:12 am
[…] XHTML Video Embed […]
Monday, June 30th 2008 at 12:18 pm
it is interesting! thanks!
Thursday, July 3rd 2008 at 2:37 pm
[…] XHTML Video Embed - XVE is a WordPress plug-in which embeds the videos in the right way, the XHTML way. (Valid XHTML Transitional 1.0) *NEW* […]
Tuesday, July 22nd 2008 at 6:00 pm
[…] comment they bought the cheapest thing they could. Maybe they meant it or maybe they didn’t. Nofollow tags on those mean you took their money, scowled, and didn’t bother to even say thanks with a […]
Thursday, July 31st 2008 at 5:52 am
Nice. Regularly I’m using the default integrated video embed from Wordpress but I get this a nice one regarding the usability of video codec.
Wednesday, August 6th 2008 at 3:00 am
[…] SaltwaterC - 100% scorpio » XHTML Video Embed The XHTML is great as long as the validation is kept, or it’s useless. XHTML Video Embed is a simple WordPress plug-in which allows you to easily embed multimedia content from various services by keeping the XHTML validation of your WordPress theme… (tags: XHTML Video Embed) […]
Sunday, August 24th 2008 at 4:32 am
Love the plugin, but could you please add GameTrailers and GameVideos support?
Sunday, August 24th 2008 at 11:13 am
GameVideos.net or which one?
PS: the GameTrailers support has been added to the development version. Will be released soon (today).
Sunday, August 24th 2008 at 11:30 am
GameVideos.com (technically http://gamevideos.1up.com now, but gamevideos.com points to that.)
Glad to hear about the GT support. Like you, I too am anal with my XHTML validation, so your plugin is a godsend. Thanks!
Sunday, August 24th 2008 at 12:58 pm
Just tested your GT implementation and it works great. Thanks again. I just have one more question: For the life of me, I can’t figure out how to remove the dotted border that appears around the video when clicking on it. Is it possible to remove it somehow?
Sunday, August 24th 2008 at 1:32 pm
Regarding what I stated above about the borders, I guess it’s just something Firefox does. It does it to text links and image links as well. I really wish I could disable that, but I’m not sure if it’s possible. Anyway, I know it’s totally unrelated to your plugin, so disregard my last question. Thanks once again.
Sunday, August 24th 2008 at 5:15 pm
About that border, you’re right: it’s a browser related issue. I am studying the GV implementation of the video service (did it before releasing this version), but the videos won’t play, thus I don’t know if and when I could implement the support for this service.
Monday, August 25th 2008 at 6:48 am
I recently tried posting a MySpace video on my blog and am given an error when trying to play it. I noticed someone above had something similar happen to them and pasted their code here, which you were able to debug, so I’ll try the same:
[myspace]http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=31133264[/myspace].
Tuesday, August 26th 2008 at 10:22 pm
Hey SC, could I bug you once more for support of user movies on GameTrailers when you get time? Their URLs are something like:
http://www.gametrailers.com/player/usermovies/250287.html
Thursday, August 28th 2008 at 12:00 am
Sure. Anyway I wanted to improve the URL detection for GT as currently it just identifies the ID of the video (which is that number before .html) but it doesn’t sense the difference between a video, a game, or in your case, a user video.
I’ll code proper support as soon as I’ll get some spare time. I didn’t check the MySpace issue (yet), but if there’s an issue with my code, then the fix will be released with the next version.
Friday, August 29th 2008 at 8:13 pm
@Saltwater
Thanks for this awesome bit of code. From what I’ve read here I’m understanding that there is no way to use .wmv files? Does anyone have a program handy that could help me easily convert WMV’s to flash (I record wmv’s for a fitness site I’m working on).
Saturday, August 30th 2008 at 10:01 am
I have another YouTube plugin running at the moment, but I think I will change to your suggestion as it seems to be more flexible in function. Many thanks.
Saturday, August 30th 2008 at 1:17 pm
Thanks SC. No rush. As for the MySpace code, I tried another video recently and it works fine. I’m not sure why the first video I tried didn’t work, as the link structures are exactly the same, apart from the IDs of course. It might’ve been an issue with MySpace at the time.
Saturday, August 30th 2008 at 8:10 pm
Hello
Firstly a wonderful plugin - so beautifully simple thank you so so much!. I was wondering if you could give an example of how to write the tag is the flash file (hosted locally) is calling an xml file?
Monday, September 1st 2008 at 1:03 am
@Alex the Fitness Guy: unfortunately I don’t know any program which does this nicely, except a hackish solution such as mencoder (part of mplayer package) plus Windows codecs. This solution requires some computing and command line skills. You can try the SUPER Video Encoder (http://www.erightsoft.com/SUPER.html) … it might work as expected. The other solutions are rather under a commercial license, thus Google or a download site can help you.
@sammy: the SWF support is just basic. It just loads SWF files without any XML configuration files. IF there’s a standard method for the XML file loading, then I’ll code it into XVE.
Monday, September 1st 2008 at 2:09 am
SUPER is great (you have to pay close attention to chase down the download link though, as apparently it’s madly hotlinked) but you have to keep in mind that reencoding always comes at the price of quality - of course that goes for any format conversion - so if you have a wmv file that was previously converted from another (container) format, you’ll have to fiddle with SUPER’s settings to obtain a satisfactory result. Sadly, (re)encoding of video material gets nightmarishly complex very quickly! Also, make sure you don’t install too many codecs (i.e. especially from those “freebie” codec packs that float out there) because it can throw a serious wrench in your system configuration. If you have a plain, vanilla system - without “custom” codec packs - you’ll have no problem using SUPER. So, if you have redundant codecs like DivX and XviD installed, you may end up with conflicts.
Monday, September 1st 2008 at 9:03 am
re the xml flash if you could code in it to look at the base folder i think it should do the trick…
” base=”http://www.yourdomain.com/YOURFOLDERNAME/GALLERYFOLDER/”
not sure if that is possible?
Monday, September 1st 2008 at 3:30 pm
Sorry to bother again SC, but I have yet another request:
Would it be possible to add ShackVideo (shackvideo.com) support?
Tuesday, September 2nd 2008 at 11:56 am
@sammy: I did some research and apparently the XML configuration can be specified as a value for the flashvars parameter, thus it can be embedded directly by using a specially formatted URL.
For example:
can be replaced by
where the data=”[…]” value is the URL taken from [swf][…][/swf]
The difference is the fact that the first object uses the path to the configuration.xml by declaring a new param tag, while the second uses the flashvars as HTTP query aka embedding parameters directly into the URL. I could code an option in order to declare flashvars when required, but it’s kinda useless since the variables can be specified into the embed URL by using the example from above. Check your SWF documentation or README in order to find which is the flashvars parameter that you need to pass in order to load a configuration file. Generally is ‘file’ like in my example from above, but since I am not a Flash developer, I can’t tell you if this is a universal solution or not.
@J: The site doesn’t provide explicit embed code, thus I have to research if the support can be added. This means the fact that I have to study the page with Firebug, then find a way to implement it directly(*) (if it’s possible). The indirect embed is not supported, but is planned for the future versions.
______________
(*)Direct embed (aka Nicely supported into XVE terminology) = the URL provides all the required information for the Flash object generation within the plug-in
Indirect embed (aka Ugly supported into XVE terminology) = the URL doesn’t provide all the information, thus the source page must be read in order to extract all the required variables. This is a time, CPU time, and bandwidth consuming operation, thus it requires a light code and preferably a cache mechanism in order to avoid the overload of the plug-in.
Thursday, September 25th 2008 at 4:15 am
[…] XHTML Video Embed […]
Friday, September 26th 2008 at 5:48 am
Hey, this is an awesome post. Im thining of starting to embed vids, and this is really going to help!
Thanks
Sharon
Saturday, October 4th 2008 at 5:47 pm
Definetly worth a shot, never thought it would be so simple to apply.
Thanks for sharing it.
Regards,
Martin
Wednesday, October 8th 2008 at 6:07 pm
[…] XHTML Video Embed […]
Thursday, October 16th 2008 at 3:43 am
Nice post. Very informative. I’ve bookmarked it so I can follow more posts. Thanks, Joseph.
Thursday, October 16th 2008 at 8:27 am
So you are saying that with this plugin, it will be easier to post videos of my band Rumba Con Son, on my blog. Hmmm . . . Very interesting. I must look further into this.
Thursday, October 16th 2008 at 4:57 pm
[…] XHTML Video Embed […]
Friday, October 17th 2008 at 3:37 pm
thanks a lot for this great plugin, it really works… i guess. i have a problem about embedding high quality youtube videos.
i try to embed this video to my blog: http://www.youtube.com/watch?v=wSSUuZoGeH0&fmt=18
and i use this code: [youtube]http://www.youtube.com/watch?v=wSSUuZoGeH0&fmt=18[/youtube]
but it doesn’t show in high quality. do i miss something?
Friday, October 17th 2008 at 6:32 pm
Nope … apparently there’s an issue with my plug-in … I’ll review the code in order to find out where exactly is the issue …
Friday, October 17th 2008 at 7:33 pm
Congrats for your work… good one, indeed!.
I was wondering if slide.com could be included in your plugin. It would be just great.
This is an example of code that works fine both in Firefox and IE:
Friday, October 17th 2008 at 7:35 pm
Sorry… heres’s the code:
Friday, October 17th 2008 at 7:50 pm
Something doesn’t like you. Anyway, I’ll have a look at the slide.com support. I had in mind this thing long time ago, then I forgot about it.
Thursday, October 23rd 2008 at 4:36 pm
[…] XHTML Video Embed […]
Monday, October 27th 2008 at 2:47 pm
how soon you will have the support of high-quality video YouTube? I would like to use the new version on its website. And if you can tell in details how to improve the quality of YouTube videos?
Monday, October 27th 2008 at 3:52 pm
To be honest, I don’t know. I do have an unreleased version of XVE which addresses some of the issues which were posted around here, but currently my health doesn’t help me too much. Hopefully, I’ll get rid of this issue pretty soon.
Saturday, November 1st 2008 at 6:56 am
Can you help me to port it to FlatPress?
Monday, November 3rd 2008 at 11:01 am
[…] been using a WordPress plugin called XHTML Video Embed to help me with embedding videos. As far as possible, I try to emit proper XHTML […]
Tuesday, November 4th 2008 at 1:26 am
I have a problem, when I put the code in my page the video of mogulus appears duplicated.
Tuesday, November 4th 2008 at 9:23 am
Please provide a link.
Sunday, November 9th 2008 at 3:02 am
If you would like to watch embeded Youtube video’s full screen without visitors leaving your site:
Change line 479
return “http://www.youtube.com/v/”.$_theMatch[1]”;
TO:
return “http://www.youtube.com/v/”.$_theMatch[1].”&hl=en&fs=1″;
Sunday, November 9th 2008 at 4:35 am
Thanks for the hint. I knew there is a switch for the fullscreen button, but I was to lazy to do some research. It will be included into the next release.
Sunday, November 9th 2008 at 7:20 pm
I am trying to add support for collegehumor.com This code is not working, any suggestions to make this work.. :
URL’s to convert:
http://www.collegehumor.com/video:1888086
http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1888086&fullscreen=1
Convert code:
case “collegehumor”:
$_smallPieces=explode(”:”, $_iURL);
return “http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=”.preg_replace(”@[^0-9]@”, “”, $_smallPieces[3]).”&fullscreen=1″;
break;
Sunday, November 9th 2008 at 9:55 pm
$_smallPieces[2] … The explode function converts the $_iURL string into three elements: 0, 1, and 2. Your code returns NULL for video ID instead of an integer. Thanks for the piece of code … the support will be coded into the future release as well.
Sunday, November 9th 2008 at 10:35 pm
Nice, it is working now. If you send me an email I can reply you the php with collegehumor support.
Thank you for this great plugin..
Tuesday, November 11th 2008 at 9:59 pm
Thank you for this plugin. I have been looking something like this and it will resve my needs just fine.
Tuesday, November 25th 2008 at 8:04 pm
thank you for the hint. know its working.
Wednesday, November 26th 2008 at 5:23 am
Great plugin. Works great with local video files…even the new .f4v container with h.264. Just use [flv].
One question. If someone doesn’t have the latest flash player (9 and above) to watch a flv video encoded in h.264, it seems that there is no message that they need to get the latest version as you would see if you visited a site made in adobe flash. The video just loads but is not viewable.
Any chance of adding this bit of info to the plugin?
Wednesday, November 26th 2008 at 2:49 pm
If it’s possible, I could add it to the object. But even if it’s possible, I don’t know how.
Wednesday, November 26th 2008 at 7:48 pm
Ai un plugin minunat, doar ca la mine nu merge. Ma rog, nu stiu eu sa-l folosesc. Fi te rog mai explicit sau spune-mi mie unde gresesc cand incerc sa adaug un fisier *.swf aflat la mine pe server.
Eu incerc asa sa-l adaug:
[swf]http://domeniu.ro/wp-content/uploads/2008/11/fisier.swf[/swf]
dar imi arata in post doar fisierul propriu zis, fara bara de meniu cu play/stop, volum, etc si incepe singur, deci eu nu am cum si de unde sa-i dau play/stop.
Pluginul este uploadat in /wp-content/plugins/xhtml-video-embed si binenteles activat.
Thursday, November 27th 2008 at 12:46 am
@ definitiv!: problema ta e alta … fisierele SWF sunt aplicatii flash. Daca ele in sine nu contin un player, atunci nu ai ce face, exceptand extragerea continutui media (video+audio) si a-l salva+folosi ca FLV. FLV-ul pe de alta parte, nu contine cod. Este un simplu container media (precum AVI sau MKV) ce are nevoie de un player SWF pentru a-l rula in browser pe spinarea flash-ului. XVE vine cu un player embedded ce se poate accesa prin tag-ul [flv], dar ai nevoie de un astfel de fisier. Nu stiu si n-am incercat sa vad daca prin [flv] se poate rula continutul media al unui SWF.
Thursday, November 27th 2008 at 1:20 pm
Iti multumesc pentru indicatii. Acum merge. Eu aveam fisierul initial in format FLV, apoi l-am convertit in swf (care nu continea un player), credeam ca e mai bine asa, dar m-am inselat. Merci inca o data.
Sunday, November 30th 2008 at 6:20 pm
It can be included. Only one issue … my available time. All I am asking right now is patience. I know that I said that I’ll do a lot of things. I will, but I really don’t know when. Yes, it’s not a matter of if, it’s a matter of when.
Thursday, December 4th 2008 at 4:29 pm
Hi.
Great plugin!!!
two problems:
1. Double clicking the movie won’t make full screen like as it should.
2. the Google link doesn’t work.
can you fix it?
thanks.
Thursday, December 4th 2008 at 4:32 pm
sorry, another Quastion, not regarding the plugin.
i want the Comments at my site to behave like your comments eg: first comment white bkg, second comment gray bkg etc’.
can you please send me the php comments page of your site or tell me how to make the changes that it will look like your page?
thanks.
Saturday, December 6th 2008 at 12:15 am
@nivosh:
1. The fullscreen functionality is provided by the player by itself. Except the embedded player for the FLV tag, I can’t control how the video services develop their players. The embedded player has this feature, but it doesn’t always work as expected. But it works.
2. Dunno what Google did. The link from this demo page, http://video.google.com/googleplayer.swf?docId=-1770384172897733802&hl=en - is working, but I see blank space instead of moving bits of video … I’ll have a look. (PS: I started to develop the next release … since I’m working for an unrequested feature which I need - I’ll code the rest of the stuff with it).
3. http://codex.wordpress.org/Include_Tags#The_Comments_Template - this simple function call makes all the magic … You should check the single.php and the page.php files of your template …
Later Edit: Google Video works now on this page. It was just a Flash glitch (understandable: 64-bit Linux + 64-bit Firefox + 32-bit Flash Plugin :/). Sorry, can’t reproduce the error.
Saturday, December 6th 2008 at 10:43 am
Hi SaltwaterC, and thanks for the answers.
I have never encountered any problem with getting the fullscreen functuality with doubleclicking on the google video flash player as well as using the direct button link to google.
even in this page, you can’t use the “go to google” button link or the full screen method.
are you sure it’s a player issue and not plugin related?
any way i am using your plugin and enjoying it very much.
thanks
Sunday, December 7th 2008 at 4:23 pm
The flash object tag is defined with a standardized set of variables. The fullscreen functionality is added through param name allowfullscreen which defaults to true. However, the standard embed player might need another param in order to enable the double click binding for this functionality, thus I’ll have a closer look to the Google Video standard embedding. If my intuition is correct, the “Go to Google” thingy is broken by the same reason … missing flashvar …
Sunday, December 7th 2008 at 6:15 pm
Hi SaltwaterC.
something even stranger happens.
when i load the page with the movie, for one second the menu displays the full screen button but then disappears and just the volume and the “go to google” link remains.
very very strange…
Tuesday, December 9th 2008 at 5:31 pm
Hi SaltwaterC.
I have a lot of problems with the full screen functionality i hope you can help me with.
after watching this page i noticed that the fullscreen function in the dailymotion player is working so i uploaded a movie to their server and placed via your plugin in my site.
i pushed the fullscreen button and a message appeared saying:
“The site you are on prohibits fullscreen activation.”
i googled this line with no results.
do you have any idea why in your site it’s working and on mu site it’s not?
please check it out yourself: http://emetaheret.org.il/blog/?p=195
Tuesday, December 9th 2008 at 9:55 pm
The Dailymotion video from your blog works in fullscreen mode by using my browser (Firefox 3.0.4 under Ubuntu 8.04.1 i386). Google Video won’t work at all., no matter which site I use.
Wednesday, December 10th 2008 at 8:52 am
quote: Google Video won’t work at all., no matter which site I use.
Do you know why?
Wednesday, December 10th 2008 at 9:56 am
Hi again.
The problem of Fullscreen AND the Google link is a Plugin Related issue.
i have tried to simply embed the video using the method and it works flawlessly.
I do hope you’ll be able to fix that on the next version so i can continue using your plugin.
best regards,
Nivosh
Wednesday, December 10th 2008 at 1:12 pm
I wrote something above:
Thursday, December 11th 2008 at 12:10 pm
sorry, my friend, wasn’t looking closely enough…
Saturday, December 20th 2008 at 10:32 am
Thank you for the update.
Monday, December 22nd 2008 at 6:04 pm
doe’s the update fixes the problem?
Monday, December 22nd 2008 at 9:40 pm
Yes, it fixes all the requests, except: Flatpress portability (scheduled for v0.4) and slide.com support (it requires the planned, still not implemented, ugly support, also scheduled for v0.4).
Tuesday, December 23rd 2008 at 4:27 pm
The full screen functionality is still not working.
Tuesday, December 23rd 2008 at 6:33 pm
http://saltwaterc.net/xhtml-video-embed#google-video <- This one works. I use the latest stable (v0.3.5). If I can’t reproduce the error, I can’t debug the application. The golden rule of the bug fixing …
Wednesday, December 24th 2008 at 6:15 am
I wish it can support ogg videos.
Wednesday, December 24th 2008 at 12:22 pm
you’re right, it works now.
maybe i checked it with the old version.
anyway, great work man!!!
Saturday, December 27th 2008 at 10:20 am
[…] Plugin Homepage » […]
Sunday, December 28th 2008 at 5:49 pm
[…] XHTML Video Embed […]
Wednesday, December 31st 2008 at 9:49 am
[…] XHTML Video Embed […]
Monday, January 5th 2009 at 2:25 pm
XHTML Video Embed is the most cool thing :p
Tuesday, January 6th 2009 at 5:39 pm
I am making a new free wordpress theme and I will surely be recommending this plugin to them as it is a video oriented theme. This type of stuff needs to be implemented at the core wordpress level as it is quite troublesome.
Friday, January 16th 2009 at 1:22 pm
Hi
Very nice and easy to use. Thanks for making this.
Two questions - or maybe feature requests:
- Would it be possible to add a splash image parameter? Eg [tag w=320 h=240 img=”http://site.com/img.jpg]url-to-embed[/tag]
- Would it be possible to include Quicktime support? (All our videos are in flv format now but our 360° qtvr panos are impossible to convert or play in other formats than mov.)
Thanks a lot
Kjetil
Saturday, January 17th 2009 at 8:50 am
Hi Kjetil: aside from embedding QTVR in an XVE - that’d be really nice - there’s another option, that I don’t see many other WP site admins apply, and yet I think it’s really neat: it’s called PanoBlog by Bert Vierstra. It’s compatible with the current WP2.7 - even when it’s a slightly older plugin, with a pre-release version number!
The way it works is that, instead of popping up a HighSlide type box (as I saw you now have) it loads a black background page with the pano in full screen. If you want to see an example, look here on my place (I’m pointing to the lo-fi version of the two panos, not the higher resolution one, to spare bandwidth).
Simple, clean, very nice in my opinion. Anyway - hope that’s a useful other alternative for your site. Look forward to seeing your panos! (Couldn’t see them just now; I suppose you were trying something out at the moment.)
Sunday, January 18th 2009 at 5:46 pm
Hi,
Nice to see you have added colleghumor, This week I will ad Blip.tv as well and send it to you ofcourse.
I am working on a mobile version of my site, unfortunately the embeded Youtube video’s with your plugin are not suited for mobile. Have you any idea, what I can do to make this work for mobile too?
Cheers!
Sunday, January 18th 2009 at 8:54 pm
Glad to hear about that. Anyway, the v0.3.x releases will be just bugfixes and minor features adding (such as adding a new service). I am planning the future v0.4 which changes some old stuff. The plug-in was initially