Streaming video from Mac to XBox 360 - I can do it!

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:
a52dec
faac
faad2
lame
libdts
x264
subversion

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 "$@"
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?

That’s so awesomely harder then it ever should be.

Yeah, I know. That’s why I’m thinking I should provide the ffmpeg binary and front end so I turns into a “drag the file on this application” process.

This is nothing comparing to installing mythtv (with the exception of using a livecd) ;).

I tried apt-getting MythTV the other day.

I needed a friggin’ tutorial to know the right order to do things! LinuxMCE is
far easier, though. A complete system rather than software on top of a desktop
system is always better.

Any ways of using Linux to stream to the 360?

Check out the Spring Update announcement… They’re adding MPEG4/H.264 support. Seems like that would make moving the video from a Mac a bit easier…

From the update description:

H.264 video support: Up to 15 Mbps, Baseline, Main, and High (up to level 4.1) Profiles with 2 channel AAC LC and Main Profiles.

Added MPEG-4 Part 2 video support: Up to 8 Mbps, Simple Profile with 2 channel AAC LC and Main Profiles.

Whooooooo!

Kickass!