Unless you are using the phone constantly, it may just be a cheap battery. Did you get an original battery or a cheap Chinese copy? You can check the phone options and see what is using how much battery and see if there are issues there, if some program is always using battery when it should not for example.
If you are watching and HD streaming movie with the brightness on full, the 4 hour run time is probably normal for that.