我正尝试在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
并且把所有的文件都放在引号里。不走运。
发布于 2018-12-06 04:56:39
正如@Barmar明智地指出的那样,这是一个外壳命令,NOTa python命令。
ffmpeg -i video.mov -vf "scale=250:150" newmovie.mp4
python的正确文档可以在这里找到:
https://github.com/kkroening/ffmpeg-python
发布于 2021-01-26 15:22:34
在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)
https://stackoverflow.com/questions/53640459
复制相似问题