Analyze the image, determine how far the feet move between consecutive frames (relative to some "root" position, like the center of their head or something). Store that offset with the frame data, move the character only that far each frame.
For the five frames below, I drew a line from the player's nose to the tip of their left (backwards-moving, and therefore "planted" and presumably unmoving foot). In frame #1, it's at +1x from the nose. In frame #2, it's at -9x, and therefore moved -10x. So, when driving the character, the player's sprite should move forward by about +10 pixels. One frames #3 and #4, the toe is at -14x and -19x, so the character should move forward by another +4 and +5 pixels, respectively, before those frames.
Naturally, you'll want to use that as a guideline; the player won't be moving directly east unless they are snapped to the grid, so you'll want to move the player in their precise travel direction vector, normalized and then multiplied by the magnitude measured by this process.
![image.png.18ca961293d45487260cff99e02cd56a.png](https://uploads.gamedev.net/monthly_2019_04/image.png.18ca961293d45487260cff99e02cd56a.png)
If you're lucky, the person who made the animation used the same animation viewed from varying angles, instead of making eight bespoke animations, and so the magnitude of the foot's movement will be the same in all the rotations. Remember to account for the projection (10px in X is 5px in Y if the projection ratio between X and Y is 2:1).
RIP GameDev.net: launched 2 unusably-broken forum engines in as many years, and now has ceased operating as a forum at all, happy to remain naught but an advertising platform with an attached social media presense, headed by a staff who by their own admission have no idea what their userbase wants or expects.Here's to the good times; shame they exist in the past.