XBMC is free, open-source and highly popular.
From Wikipedia:
Format support
XBMC can be used to play/view all common multimedia formats. It can decode these in software and optionally pass-through AC3/DTS audio from movies directly to S/PDIF digital output to an external audio-amplifier/receiver for decoding.
Supported formats:
* Physical media: CDs, DVDs, DVD-Video, Video CDs (including VCD/SVCD/XVCD), Audio-CD (CDDA), USB Flash Drives, and Hard Disk Drives
* Network/Internet protocols: UPnP, SMB/SAMBA/CIFS, XBMSP, DAAP, HTTP, HTTPS, FTP, RTSP (RTSPU, RTSPT), MMS (MMSU, MMST), RTMP, Podcasting, TCP, UDP, SFTP, RTP
* Container formats: AVI, MPEG, WMV, ASF, FLV, Matroska, QuickTime, MP4, M4A, AAC, NUT, Ogg, OGM, RealMedia RAM/RM/RV/RA/RMVB, 3gp, VIVO, PVA, NUV, NSV, NSA, FLI, FLC, and DVR-MS (beta support)
* Video formats: MPEG-1, MPEG-2, H.263, MPEG-4 SP and ASP, MPEG-4 AVC (H.264), HuffYUV, Indeo, MJPEG, RealVideo, RMVB, Sorenson, WMV, Cinepak,
* Audio formats: MIDI, AIFF, WAV/WAVE, MP2, MP3, AAC, AACplus, AC3, DTS, ALAC, AMR, FLAC, Monkey's Audio (APE), RealAudio, SHN, WavPack, MPC/Musepack/Mpeg+, Speex, Vorbis and WMA.
* Digital picture/image formats: RAW image formats, BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX and Targa/TGA
* Subtitle formats: AQTitle, ASS/SSA, CC, JACOsub, MicroDVD, MPsub, OGM, PJS, RT, SMI, SRT, SUB, VOBsub, VPlayer
* Metadata tags: APEv1, APEv2, ID3 (ID3v1 and ID3v2), ID666 and VorbisComments for audio file formats, Exif and IPTC (including GeoTagging) for image file formats