After reading a post on hacking Akismet to add graphs I decided I liked the idea but I didn't want to store the data in a database. It seemed like it would be better to store it using a RRD and then use the PHP RRD library. So after a little hacking I've created a version that does basically the same thing except uses a RRD.
Category Archives: utilities
Using Flash video metadata to display annotations
Now that you can create a streaming Flash video player with PHP or Ruby and you know add metadata for cuepoints to Flash videos you are ready for something else. The following code will show you how to create a video player with PHP that will watch for metadata events and display annotations contained inside the metadata either over the video itself or in a div on the same page as the movie.
How to create and use Flash video metadata to add cue-points with flvtool2
Adding cue-points allows you to spice up your flash videos created with FFMpeg. Adding metadata to a FLV will allow you to introduce cue-points that have their own metadata that can be display when the cue-point is reached or let you jump to that cue-point. In the following tutorial you will learn how to add metadata to your FLV files using flvtool2 and how it is useful for adding cue-points.
How to Create a Streaming Flash Video Player Using Ming PHP or Ruby
I mentioned in creating Flash videos using FFMpeg that you could use Ming to create your own Flash video player. I've added a patch to the ruby -ming extension for video streaming so now it is possible to create a streaming player with both PHP and Ruby using their Ming extensions. The following examples show you how.
Ruby Ming Extension Patch to Add Video Streaming
After playing with the Ruby Ming extension a little more I found that they don't have support for SWFVideoStreams so I made a patch to add it. The patch also fixes the beta issues I described in building the ming ruby extension.
Creating Flash Videos Using FFMpeg
One of the hardest parts about doing video on the Internet in the past has been knowing what video format to use. With the rise of video sharing sites like youtube the answer these days seems to be Flash video. It is very easy to create Flash videos and display them using FFMpeg and a free player.
Here is a tutorial on how to create the Flash video files: One-stop Installation Guide for Create a Linux Server-side FLV conversion environment.
Here are a couple free Flash video players:
You can also create your own Flash player if you like either with the Flash studio tools or something like Ming. For simplicity I would recommend using FlowPlayer to start with since it works well, is completely free, and has a number of features that can integrate with meta data in the Flash video.
Now go make the next youtube.
Building The Ming Ruby Extension
I've been trying out Ming SWF output library in PHP for a few days and I thought I would give the Ruby extension a try to see how well it worked. It turns out that it is kind of old and busted but it is fixable.
Using Java to get detailed DNS information
Not long ago I was curious about using Java to look up DNS information so I decided to put together a little DNSBL/RBL checker so I could experiment with Java DNS lookups and some PHP/Java communications. There isn't a lot of Java DNS stuff out there but it was easy to tell that the tool for this job is the DNSJava library.
Fun with ANSI escape codes
For fun I recently pimped out a ruby script that I had written for some testing with a little color and a spinner. If you have never used ANSI escape codes before I've put together a simple script that shows how easy it is.
DNS Black List Checker
At work we have been using DNS Black Lists for a long time to deny spam coming into our email systems. There are a number of places you can check to see if you are on one of these lists but I figured I would write my own web 2.0 version. So here it is my own DNSBL checker. I believe it has most of the major lists on it but if I find more I'll add them. I'm also going to try to post more about how it is all put together.