Я работал через этот ответ на вопрос FFMPEG, и команда прекрасно работает через командную строку Windows 10 (я только изменил имена файлов ввода и вывода):
ffmpeg -i test.mp4 -filter:v "select='gt(scene,0.4)',showinfo" -f null - 2> test.txt
Мой скрипт Python 3 предоставляет аргументы (в виде списка) для функции subprocess.call()
и отлично работает для ряда основных операций FFMPEG, но не для этой! Кажется, что он завершается с ошибкой в финальной части null - 2> test.txt
со следующими сообщениями об ошибках в зависимости от того, как я разделяю аргументы:
[NULL @ 000001c7e556a3c0] [error] Unable to find a suitable output format for 'pipe:'
[error] pipe:: Invalid argument
[error] Unrecognized option '2> test.txt'.
[fatal] Error splitting the argument list: Option not found
[error] Unrecognized option '2>'.
[fatal] Error splitting the argument list: Option not found
Вот основной список аргументов, которые я пробовал:
args=['C:\\Program Files\\ffmpeg\\ffmpeg.exe',
'-i',
'test.mp4',
'-filter:v "select=\'gt(scene,0.4)\',showinfo"',
'-f null',
'-',
'2>',
'test.txt']
Плюс различные перестановки, объединяющие и разделяющие последние несколько элементов.
Пожалуйста, кто-нибудь может мне помочь с правильным синтаксисом для запуска FFMPEG с этими аргументами через Python 3?
Большое спасибо - я просто не могу понять, где я иду не так: (