VLC aka VideoLAN Client is multiplatform & excellent. Sometimes you may also need to use a tool (like mpegStreamClip on Mac) to fix headers, & Timecode & data breaks which are very common on 'badly-authored' movie files [i.e. Most of 'em...
]
Also, some programs won't play a file if it's called 'x.mpg' but WILL if you change its name to 'x.avi', 'x.wmv'... & similar variations on that theme .. Opening in VLC and getting info/properties is an easy way to find out what's actually IN there ....