HA
Оказывается, двойное двоеточие ":" в C: \ Windows \ Fonts и т. Д. Действовало как разделение, поэтому, когда я вводил полный путь шрифта, ffmpeg читал мою команду следующим образом
оригинальная команда
" -vf drawtext=fontfile='C:\\Windows\\fonts\\arial.ttf'|text='test' "
интерпретация ffmpeg
-vf drawtext= # command
fontfile='C # C is the font file because the : comes after it signalling the next key
arial.ttf' # is the next key after fontfile = C (because the C is followed by a : signalling the next key)
:text # is the value the key "arial.tff" is pointing to
='test' # is some arb piece of information put in by that silly user
Таким образом, чтобы исправить это, вам нужно удалить: в пути к файлу шрифта.
Мой окончательный рабочий код:
import subprocess
ffmpeg = "C:\\ffmpeg_10_6_11.exe"
inVid = "C:\\test_in.avi"
outVid = "C:\\test_out.avi"
subprocess.Popen(ffmpeg + " -i " + inVid + ''' -vf drawtext=fontfile=/Windows/Fonts/arial.ttf:text=test ''' + outVid , shell=True)