It takes a lot of practice to get good at reading body language. Many cues are subtle, like a turn of the head, a change in tail position, a shift in facial muscles, etc. Also remember that play is essentially fighting practice. Dogs will use a lot of the same moves on a playmate that they would use on an enemy, with drastically different intention. Overall, you should see exaggerated movements, loose posture with a curved body, and a fairly even back and forth between the playmates. Both dogs should be getting the opportunity to "win" pretty regularly (though one dog frequently being on top or bottom isn't necessarily a bad sign, since some dogs just prefer one over the other - the point is that both should be getting what they want from the exchange).
By contrast, be wary of stiff/tense posture, jerky movements, hard stares, or an unbalanced dynamic. A lot of the motions will be the same, but the movements will be more precise and deliberate, meant to intimidate rather than to be playful. If I'm ever concerned about a dog's intention, I usually look to their target for clarification. If the other dog still seems relaxed and playful, I'll wait and see; if the other dog appears nervous or unhappy, I'll step in. Even if the first dog was being playful, if they were making their buddy uncomfortable they need to tone it down.
Check out this video showcasing some really great examples of play - https://www.youtube.com/watch?v=HOiAw...
I started keeping a blow horn and an old aluminum bowl to throw on the floor to startle them! The signs I see that my sister's dog is going to "attach" she gets a different look in her eyes and her body language changes right away.. I stop it before she goes into being a bad girl.. I redirect her.
The growl is a lower tone; more serious. The teeth are shown fully, quiver during the growl. Hackles up, tail between legs. Eyes are hooked on opponent. An aluminum spoon banged on a pot to startle works as well. Use a broom to push the fur balls apart and back.
It is important to know that hackles can go up for many reasons and often not a sign of aggression. Anything that gets them excited can make the hackles to up. We call it "Happy Hackles" because our 2 labs' hackles go up when greeting old or new friends, 4 legged or 2, and the tails are wagging.