2old2care is right.
I use a go pro on a stick, video from front, above and side.
Slow the video down, try to eliminate sideways and up down action leaving front to back movements.
Then use a finis tempo trainer. Set a pace per length that leaves you knackered after 10 reps of whatever distance you are aiming for - e.g. 10 x 100m for sprints/standard. Don't focus on speed, focus on hitting the times with as little effort as possible. You can start with much shorter distances like 5 x 25. You can't improve what you can't measure.
Most folks start off around 38 sec per length and the times come down quite quickly to around 30, so 8min 400's. Which is not a bad time for people who want to complete a triathlon.
I don't care if you breath out of your left/right or your bum. Sort yourself out.
Using this technique I've had an age grouper going from struggling to do 25m to a podium place in 6 months. (Good cyclist - not so good runner - non-swimmer).
Most of the people who start off swimming start off with sinky legs. A simple flutter kick gets them out of the way and they are not knackered at the end of a length and they can think about something other than dieing.