or on converting your audio into YouTube videos
When it comes to sharing music on the web, two factors are of the upmost importance: accessibility and syndication. I've preached a lot about making sure your content is accessible from any device (using HTML5 capable players and a clear play button) in the past, so today I'd like to talk about syndication, and making sure you're reaching as many ears as possible.
These days an artists' fans are distributed around the web in multiple destinations. Gone are the days of centralized traffic hubs like MySpace and yes the band website. So instead of funneling fans into a single destination of content, artists are syndicating their assets to their site, social networks, and most importantly (IMHO) email.
It's for this reason we also see the repetition of content on media platforms such as SoundCloud and YouTube. The truth is, in order to maximize your plays and exposure, you need to distribute your content as wide as possible. This is why you'll some see some videos on YouTube that only consist of a single image and audio track. While it may not be the most appropriate use of a video platform, it does work. In fact, I premiered the Them Crooked Vultures record this way complete with annotated track navigation and was very happy with the results.
So, if you were going to create a “sound” video, how would you go about it?
Google? iMovie? After Effects? (I'm looking at you Alec)
Naaa, dawg. Just use…
SoundTube is a simple app that can convert your SoundCloud tracks into simple YouTube artwork videos. This allows you to rapidly extend the promotion of your tracks to another community of listeners.
Simple is an understatement, here's how it works:
- Login to the YouTube account you wish to upload to.
- Login to the SoundCloud account you want to pull a track from.
- Select a track and click the convert button.
That's it. Your video will now be queued up for conversion and uploaded to your YouTube account as soon as it's ready. While the conversion process takes about 5-10 minutes, logging in and selecting a track only takes about 30 seconds of your time. Use the time the app saved you to sneak a Modelo midday when your boss isn't looking.
With simple apps, comes simple technical solutions, so let's take a look at how SoundTube works.
What the FFMPEG?
I've covered my love for server side media processing before, but to reiterate: I like the idea of using a server to create new customized content like photos and in this case, video. For images we can use ImageMagick to do all sorts of manipulation but for video we're going to be utilizing FFMPEG.
Given an image and audio track, how can we use the library to forge these two assets and create a new video? Searching Google for “FFMPEG” will result in all sorts of tutorials, most of which will be about video format conversions, resizing, and thumbnail creation. Not exactly what we're looking for. Search a little deeper and you may uncover this function:
ffmpeg -loop 1 -i image.jpg -i sound.mp3 -shortest video.mp4
And, that's exactly what SoundTube is using. Let's break it down:
Loop through the first input
-i, which is a JPG image, continuously while combining it with the second input, an MP3 track, to create the
-shortest possible MP4 video. Pretty cool.
Once the video is created, you can use the YouTube_It Ruby gem to upload to the preferred user's YouTube account.
Since each conversion process is resource intensive and takes a bit of time, I've chosen to throw these into my background queue of choice: Resque. Resque allows you to declare simple models that contain your processes. Adding one of these to a queue will store it temporarily on Redis so that it may wait to be processed. Timing depends on the amount of workers you have running.
There's a few things I wanted to do but haven't had enough time yet, such as making the conversion process more transparent. Resque provides a job id for each queued process, so we could technically ping Redis for that current job's state. You could even estimate the time until conversion.
I also think it might be cool to expand the FFMPEG technique to include multiple photos and text such as lyrics. Combine that with a nice UI and some Ken Burns effects, and you've got yourself a nice simple video creator.
Anyway, try it out and let me know what you think via email or on Twitter.