我正在尝试在python中使用ffmpeg调整视频大小,但语法有错误。我希望它像这样简单(这是我的代码)
import ffmpeg
ffmpeg -i video.mov -vf "scale=250:150" newmovie.mp4
这给出了这样的无效语法:
ffmpeg -i video.mov -vf "scale=250:150" newmovie.mp4
^
SyntaxError: invalid syntax
我尝试过:
ffmpeg -i video.mov -vf scale=250:150 newmovie.mp4
,并将所有文件放在引号中。没有运气。
答案 0 :(得分:1)
在 Python 中使用 ffmpeg
,这是封装在函数中的代码:
def vid_resize(vid_path, output_path, width, overwrite = False):
'''
use ffmpeg to resize the input video to the width given, keeping aspect ratio
'''
if not( os.path.isdir(os.path.dirname(output_path))):
raise ValueError(f'output_path directory does not exists: {os.path.dirname(output_path)}')
if os.path.isfile(output_path) and not overwrite:
warnings.warn(f'{output_path} already exists but overwrite switch is False, nothing done.')
return None
input_vid = ffmpeg.input(vid_path)
vid = (
input_vid
.filter('scale', width, -1)
.output(output_path)
.overwrite_output()
.run()
)
return output_path
所以就你的例子来说:
newmovie_path = vid_resize("video.mov", output_path = "newmovie.mp4", width = 250)
答案 1 :(得分:0)
正如@Barmar明智地指出的,这是一个shell命令NOTa python命令。
ffmpeg -i video.mov -vf "scale=250:150" newmovie.mp4
在此处找到有关python的正确文档:
https://github.com/kkroening/ffmpeg-python