So I’ve got a Mac in the bedroom and an XBox 360 in the living room. Yes, it’s a regular cold war in here.
Anyway, even though I have Connect360, it’s limited in that it can’t transcode, so you’re limited to the WMV+WMA that the XBox supports.
So I emailed those guys last night, and asked if they were going to transcode. They said that they couldn’t find anyone else’s transcoder to hook into, so they couldn’t do it.
This bothered me, so I spent a few hours. I started with VLC, and then found out that it could do the WMV, but it can’t encode WMA on any platform besides Windows (because it’s just called Microsoft encoders).
So I went then to ffmpeg directly, and found that the latest versions can encode WMA. In order to compile that, I used macports to install the following libraries:
Then, I could grab the trunk of ffmpeg (put it in ~/dev/ffmpeg), and used…
./configure --enable-libmp3lame --extra-cflags="-I/opt/local/include" --extra-ldflags="-d -L/opt/local/lib" --disable-vhook --enable-x264 --enable-gpl --enable-liba52 --enable-libfaad --enable-libdts --enable-libfaac
To configure it, then did a “make”.
Then, a shell script containing:
#!/bin/bash for f in "[email protected]" do ~/dev/ffmpeg/ffmpeg -i "$f" -y -vcodec wmv2 -acodec wmav2 -sameq "$f".temp.wmv mv "$f".temp.wmv "$f".wmv done
Will, when run from the command line, convert most arbitrary movies to WMV/WMA format. The “mv” line is just so that Connect360 rescans the dir and finds the new file.
So now I can take whatever format video I’ve got, and convert it to a format the Xbox can read. I’ve sent this to the Connect360 guys, hopefully they can pick this up and integrate it into their software to do this automagically like TVersity does for Windows.
In the meantime though, I’m not sure how to distribute this/make it easy for other people. On a few files that I’ve got ffmpeg just stalled, so running from a simple Automator action has a risk of it just stalling with no feedback. What’s the recommended way to make a quick front-end for the ffmpeg actions above?