Archive for January, 2010

Building a Video Library with FFMPEG

Tuesday, January 26th, 2010

The video above is imported from http://www.centerforclinicalexcellence.com, for whom I’ve recently constructed a Buddypress Video Library using FFMPEG and the JW Player.

The owners of the site had originally wanted to use a third party like Vimeo or Twistage for this solution, but I persuaded them that they’d achieve a lot more flexibility and functionality if they went with a bespoke solution.

This would allow them to integrate seamlessly with their Buddypress User Database, which was not something that was going to happen very easily with a third party API.

I’m pretty happy with the finished product. Users can upload video, rate videos, comment on videos, embed videos in other sites, and linkback to videos through Facebook and Twitter.

FFMPEG isn’t for the faint hearted, however. It generally doesn’t come installed on hosting platforms, and has a long list of dependencies about which it is very particular when installing.

Normally, you can overcome this by installing through a package manager like yum on CentOS, which I have used before, but the current version of FFMPEG uses a version of libmp3lame (3.98.2, which is used for encoding audio) that contains a nasty little bug that prevents the duration of a clip being embeded in Flash encoded videos.

This in turn plays havoc with Flash players, who don’t know who long the video they are playing will run.

Unfortunately, there is no easy way in yum to specify the version of dependencies you want to use, so you have to go through all of FFMPEG’s dependencies and install them manually, just so you can install a downgraded version of libmp3lame (3.97) which doesn’t contain the bug.

You then need to comile FFMPEG from source.

This is a tricky process, but thankfully I found this article which gives a pretty good summary of what you have to do (there are one or two typos in it, but you’ll catch them as you proceed; and install lame 3.97, not 3.982 as listed). You also need to pay close attention re. the linking of libraries as described, and be sure to run ldconfig.

You can also leave 1 or 2 of the slightly less common codecs if they are giving your errors. The ones you really need are lame, faad, faac and vorbis.

JW Player by comparison is a breeze to install. The license and FB and Twitter plugins were purchased for the very reasonable sum of €77. Its a great player, and I’d recommend it to anyone.

Web Design In Leitrim

Monday, January 18th, 2010

I’ve had an interesting time recently trying to up the SEO ranking for my site.

On initial investigation, I found that my website was appearing as result number 222 for the searches on ‘web design leitrim’, which was a bit of shock given that I’ve been working on websites in Co. Leitrim for 3 years. My PR function clearly needed a dusting down.

Setting to work, I found that one of my biggest problems was my use of a .com domain name in conjunction with a UK based ip address. This is a big no-no for Google when it comes to geo-targetting.

If your site is based in a different country to your customer base, and you are not using a TLD from the country of your customer base, Google will have difficulty in associating your site with your customer base, even if the text of your site contains lots of references to your own country.

To sort this, I moved my site to a server in Ireland, which brought my ranking up from 222 to 90. Still not great.

The next thing I looked at were the taglines in the sites I have created. There are 99 links to nightbluefruit.com in the Google index, which should be more than enough to get decent results, but this wasn’t happening.

To address this, I changed all the taglines in the sites I’ve built from ‘powered by nightbluefruit.com’ to ‘web design by nightbluefruit.com’. Once these sites started being re-indexed by Google, I got another boost, up to about result 52.

This was still pretty useless, however, so more needed to be done.

At this point, I signed up for Google Webmaster Tools, and registered my site. The data that this gave back was reasonably useful, in that its diagnostics showed that I wasn’t doing anything untoward.

However, all of the data that it contained related to content on this blog, which is a separate Wordpress installation to my primary site. I thought it was strange that Google wasn’t picking up any of the content on my primary pages (or pages, as it is a single page site).

I looked into this and to my horror found that there was a typo in my HTML. I had no opening ‘BODY’ tag in my HTML!!

As part of this fix, I also fine combed my HTML code to make sure all my alt tags and texts were very specific about ‘web design’.

More recently, I’ve also registered my business on the Google Maps Local Business Directory, which takes a couple of weeks to update.

I’m not sure yet to what degree these final view changes will improve my ranking, but it shows how my attention you need to give to these pursuits.

I’m also a bit worried about my use of a single page site for my content. Theoretically, it shouldn’t present a problem, but if fixing the BODY tag doesn’t improve my ranking, this may be something I have to come back to.

UPDATE!!!

As of Feb 01 2010, nightbluefruit.com is ranked No.14 on the SERPs for ‘Web Design Leitrim’.

Now for the assault on the summit!

UPDATE!!!

As of Mar 01 2010, nightbluefruit.com is ranked No.10 on the SERPs for ‘Web Design Leitrim’.