How to convert WMV to MP4?
You can use FFmpeg (a free command-line tool for Mac, Linux and Windows) to encode WMV to MP4. Here is an example syntax:
ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -q:a 100 output.mp4
This will encode the video to H.264 video and AAC audio, using the default quality. To change the quality for the video, use a different CRF value, where lower means better, e.g. 20 or 18. For audio, 100% is the default quality. Increase the value for better quality.
For the AppleTV specifically, this is what Apple says it supports:
H.264 video up to 1080p, 30 frames per second, High or Main Profile level 4.0 or lower, Baseline profile level 3.0 or lower with AAC-LC audio up to 160 kbit/s per channel, 48 kHz, stereo audio in .m4v, .mp4, and .mov file formats
So, you could use the following command to force the 30 Hz frame rate and High profile:
ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a aac -q:a 100 -ar 48000 output.mp4
HandBrake. Multi-platform and free.
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder, available for MacOS X, Linux and Windows.
Supported Sources:
Most common multimedia files that libavformat and libavcodec support.
Any DVD or Bluray-like source which is NOT copy-protected. (removal of copy protection is not supported)
Outputs:
File format: MP4(M4V) and MKV
Video: H.264(x264), MPEG-4(ffmpeg), MPEG-2(ffmpeg), or Theora(libtheora)
Audio: AAC, CoreAudio AAC/HE-AAC (OS X Only), MP3, Flac, AC3, or Vorbis. AC-3, DTS, DTS-HD, AAC and MP3 pass-thru.
If you're trying to convert WMV files created by GoToMeeting (aka Go2Meeting for SEO purposes) then all of the above solutions will probably fail because the video is encoded using a citrix-specific g2m4 codec that will make transcoders choke.
I found this page that guides through transcoding from g2m to regular WMV using g2mtranscoder.exe provided by gotomeeting, which will transcode your video in place so that you can then transcode it to your format of choice using regular tools (like the other answers in this thread).
www.media-convert.com is a free web based service that converts all sorts of audio and video formats. No need to install any software. Ignore the adds and just select the file type from the dropdown menus.
./ffmpeg -y -i input.wmv -vcodec libx264 -acodec libfaac -ab 128k -ac 2 -b 300 -threads 4 -flags +loop -cmp +chroma -partitions 0 -subq 1 -trellis 0 -refs 1 -coder 0 -bufsize 10M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 output.mp4
I don't know what all the options/flags mean, but that seemed to work and get a Flash streamable MP4 file, but the video was not top quality.
The the codec libraries I have installed are libx264 and libfaac for H.264 and AAC video and audio codecs.