Domestic violence

My husband has been abusive to me for years now off & on.. it hasn’t happened in a long time. But this morning before he left for work we got into it because he had a second phone to watch “teenage” porn on. He’s already on trial for supposedly having sex with a teenage girl before we met and it all just came out about 6 months ago. This morning he spit in my face and pushed me against a wall then punched it right beside my head very hard. I have a one year old & I’m 28 weeks pregnant. I don’t want my family to know all of this. I feel like such a failure as a mother letting him scream at me like this & physically abuse me. I need out. What are my options as I’ve never done anything like this before.. I’m afraid he is going to try and take my son this is why I stay.