This doesn't even have to extend to girls only, although it's more pronounced with them.

Basically, I can start a conversation if the situation is appropriate - like, say, I'm riding in a train with a girl sitting next to me, and we go past a really nicely-designed building, and I make an indirect remark about it. Or just approach one in the library to ask her if she knows where the books on ancient history are. Or, see one sitting on a bench and drawing and stop-by to make a comment on how well she draws.

But if I just see a hot girl move past? Or chatting to a group of friends? Or absorbed in her phone while listening to music? Or just a totally inconvenient situation to approach? I can't do it. It's not even that I'm afraid of looking like an idiot (my life's full of moments like these, though it's still unpleasant), but I just don't see ANY conceivable way to budge in without looking like some asshole wasting people's time. And if I see a couple of girls that I'd really like to get to know better walking on the opposite side of the street, I can't exactly just rush across, risk getting hit by a car, and ask for their numbers.

Another problem is that I, most of the time, can't keep a conversation going. Even if I start off well, usually around 30-40 seconds into the conversation maximum, I run out of things to say, and my immediate instinct is to say bye and walk away. Sure, I can come up with a perfect way to keep the conversation going and keep her interested AFTER the opportunity has slipped away but, well y'know...too late.

I've also started NoFap recently, and while my primary motivation is to cut out porn and wanking for good, my sex drive is growing. Example: went to the dentist recently, receptionist chick is chatting away with a good-looking girl with a nice body. Clear my throat, girl says sorry and steps aside, speak with the receptionist and then...I sit down and let them resume their chat. In addition to my usual hang-ups, I now keep glancing at her legs/ass every three seconds (she was wearing a short skirt) while thinking what her boobs and ass would feel like to squeeze, and feel even more awkward about trying to budge into their conversation because I would almost certainly, in my horny state, say something stupid.

I did later ask the receptionist who the girl was (she was apparently another receptionist working there, who came in for a physiotherapy session) and even got her name, but I still feel like a cowardly idiot because this (missing opportunities) happens way too often for my liking.

Anyone got any tips on how to combat this and progress? Would be much appreciated.