subprocess.Popen(("./ffmpeg.exe", …))
Ты просишь запустить файл ffmpeg.exe,
находящийся в текущем каталоге. Текущий каталог может и не совпадать с каталогом, в который pyinstaller распаковал твоё приложение. Почитай, что такое относительный и абсолютный путь.
Чтобы получить этот каталог, попробуй
такой приём из документации:
import sys
from pathlib import Path
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): # мы запакованы pyinstaller?
TEMP_DIR = Path(sys._MEIPASS).resolve() # да - берем каталог приложения
else: # нет, мы не запакованы
TEMP_DIR = Path(sys.argv[0]).parent.resolve() # берем просто каталог скрипта
# resolve() делает путь абсолютным, так что при смене текущего каталога путь не сломается
ffmpeg_path = str(TEMP_DIR / "ffmpeg.exe") # предполагаю, что ffmpeg лежит не в подкаталоге
ffmpeg = subprocess.Popen((ffmpeg_path, …))