Fringe movement analysis to extract displacement
Answer to: Is there an easier way to count fringes?
I synthesized an image to resemble your image with
x = linspace(0, 1, 256);
[x,y] = meshgrid(x,x);
image = sin((7*x + 2*y) * 2*pi) ./ (0.1 + (x - 0.5).^2 + (y - 0.6).^2);
imagesc(image);


Then I can get the vector the 2D FFT
A = abs(fft2(image));
A = A(1:end/2, 1:end/2)
[~, imax] = max(abs(A(:))) % 899
% get line and column from the index
idx = [floor((imax-1)/size(A, 2))+1, mod(imax-1, size(A, 2))]

idx is set to the expected wave vector [7, 2] thus the length of the fringes must be $l = \sqrt{W/7^2 + H/2^2}$, where W and H are width and height of the image.
Update after comment

What kind of information can the wave vector provide about the fringe movement? In my video the interference pattern does not change, it just moves...

You must have realized that with this interference pattern you can only detect the component in the direction of the wave vector.
Also you cannot detect movements beyond one half of the distance between the fringes, so you can use unwrap to solve it. Here a demonstration with multiple frames and some movement.
function fringes
  k = [3, 10];
  t = linspace(0, 1, 100);
  phi = t * 0;
  d = 2*sin(5*t);
  WATCH = 0; % set to 1 if you want to see all frames
  % simulate some movement on the fringes
  for i = 1:length(t)
    image = create_image(k, d(i), 256);
    %% if you want to watch the movement
    if(i == 1 | WATCH)
      figure(1), imagesc(image), drawnow; 
    end
    [~, phi(i)] = detect_fringes(image);
  end
  
  figure(2);
  
  dist = sqrt(256/k(1)^2 + 256/k(2)^2);
  c = plot(t, d*dist, ...
       t, phi*dist/pi/2, ...
       t, unwrap(phi)*dist/pi/2 ...
  );
  l = legend('displacement', 'pricipal phase', 'estimated displacement')
  set(l, 'fontsize', 12);
  set(c, 'linewidth', 2);
end

function image = create_image(k, d, N);
  x = linspace(0, 1, N);
  [x,y] = meshgrid(x,x);
  image = sin((k(1)*x + k(2)*y + d) * 2*pi) ./ (0.1 + (x - 0.5).^2 + (y - 0.6).^2);
  image = image + randn(size(image)) * 10;
end

function [k, phi] = detect_fringes(image)
  A = fft2(image);
  A = A(1:end/2, 1:end/2);
  [~, imax] = max(abs(A(:)));
  % get line and column from the index
  k = [floor((imax-1)/size(A, 2)), mod(imax-1, size(A, 2))];
  phi = angle(A(imax));
end

I added some noise to make it more realistic

The result is this

Tested in Octave 6.1.0
Edit: Why the wave length is inversely propoertional to |k|
The wave length is the separation between two points where the wave field is in phase.
The wave vector $\vec{k}$ is associated with a wave of the form
$$
\begin{eqnarray}
 F &amp;=&amp; A exp\left( 2i \pi \vec{k} \cdot \vec{u}\right) \\
   &amp;=&amp; A exp\left( 2i \pi |\vec{k}| \cdot |\vec{u}| cos( \angle(\vec{k}, \vec{u}))\right) \\
\end{eqnarray}
$$
Let $\phi$ be the phase of the field
$$ \phi(u) = |\vec{k}| \cdot |\vec{u}| cos( \angle(\vec{k}, \vec{u})) $$
One wave length may be defined by the minimum $\Delta \vec u$ such that $\phi(u) + 2 \pi = \phi(u + \Delta \vec u)$, the direction of $\Delta \vec u$ is choosen to maximize $cos(\angle(\vec k, \Delta \vec u))$, i.e. $\angle(\vec k, \Delta \vec u) = 0$, thus $\Delta \vec u$ is parallel to $\vec k$. In this situation $\phi(u + \Delta \vec u) = \phi(u) + |\vec k| |\Delta \vec u| = \phi(u) + 2\pi$. Solving for $\lambda = |\Delta \vec u| = 2\pi / |\vec k|$.