Запись видео с помощью FFmpeg дает неверный синтаксис имени файла, имени каталога или метки тома.

Я пытаюсь записать видео (со звуком!) Таким образом:

ffmpeg = "C:\bin\ffmpeg.exe"
cmd = '%s -r 15 -f vfwcap -i 0 c:/output2.mpg' % (ffmpeg)
os.system(cmd)

И у меня есть ошибка: «Неверный синтаксис имени файла, имени каталога или метки тома». Я думаю, что это проблема с vfwcap, но я не знаю, как это исправить.

Любые идеи? Может что-то еще не так?


person CarolusPl    schedule 30.07.2010    source источник


Ответы (3)


Я думаю, Мермоз, должно быть, шутит с тобой. У вас есть несколько проблем здесь. Python использует '\' в качестве escape-символа, поэтому он не найдет ваш файл, если вы либо не удвоите их, либо не переключитесь на прямую косую черту, как вы затем сделали в своем cmd. Синтаксис вашей командной строки ffmpeg также совершенно неверен. Вы говорите, что хотите установить количество кадров в минуту на 15 и отформатировать vfwcap в свой входной файл, который равен «0». Также вы не должны использовать os.system. Используйте subprocess.popen и передавайте свои команды в виде списков. Не уверен, что этот вопрос серьезен, но если да, то это должно направить вас в правильном направлении.

person Profane    schedule 24.11.2010

разве это не просто маленькая буква c в "c:/output.mpg" вместо "C:/output.mpg"?

person Mermoz    schedule 30.07.2010

Прямая проблема заключается в том, что \ в командной строке интерпретируются как управляющие символы, используйте либо c: \ \, либо используйте c:/

Как говорит Профейн, у вас неправильные флаги выходного файла для ffmpeg

person Martin Beckett    schedule 24.11.2010