Personally, I think the worst thing you could do right now is to walk out on him. He may not realise it but he really needs you right now. He's obviously got mental issues and probably has no idea how he is acting with you, and how unreasonable he's being. One of my closest friends has suffered from depression for a few years now and when its at its worst it is always the people you are closest to that you take it out on the most. He will push you away without even realising it but, really, it is you he needs most. If you feel able to talk to him about it, without him getting angry, then do. If not, it might be best to just tell him that you are there for him whenever he needs you and that he can always come to you, and then give him any space that he feels he may need. Just try and be understanding - I can see why this may be extremely difficult because the way he is treating you is awful, but don't take any insults to heart - he obviously isn't himself right now and I'm sure that if he was he would never dream of saying such hurtful things.
With you being his girlfriend, and not his best friend, I guess you're in a different situation than me. With my friend, I will always be there for her no matter what - through the ups and the downs because this is what good friends are for. For you, I think you need to decide whether you want this to be a part of your life, and are willing to stand by him through thick and thin, or if you just want out... I hope that doesn't come accross harshly as I'm sure you feel like you do want to stand by him and support him, but it's your choice really and no-one would blame you if you were to opt out. I can imagine the impact it's having on you and its not fair of him to make you suffer in that way, but I honestly think he is not in the right frame of mind to be completely responsible for the way he is treating you.
You said you don't feel able to talk to his parents so talking to him is your only option really. Just make him aware that you are there for him and that, no matter how much he shouts and screams at you, you are willing to stand by him and help him (if this is how you feel of course). Sometimes just listening helps, even if you have no advice to offer him. Or, if he doesn't want to talk about it, encourage him to write things down to get it off his mind.
I assume he is having professional help? If not, make sure that he gets some - he sounds like he's is in a bad way and it isn't something that will go away overnight.
(Sorry if this has turned into a massive essay! But I hope it helps). Take care x