如何使用django中的子进程执行ffmpeg缩略图提取命令?

时间:2017-01-17 10:52:09

标签: django python-3.x ffmpeg subprocess ffmpeg-php

以下代码用于从视频中提取缩略图

ffmpeg -i low.mkv -vf thumbnail=10,setpts=N/TB -r 1 -vframes 10 inputframes%03d.png

这个代码在终端上运行得非常好,但是当我们在django中使用子进程处理相同时它会出错。

我们的目标是从视频的任意长度生成10个缩略图

这是代码

vaild_fps = "'thumbnail=10,setpts=N/TB -r 1 -vframes 10'"

subprocess.call([settings.FFMPEG_PATH,
        '-i',
        input_file_path,
        '-vf',
        vaild_fps,
        thumbnail_output_file_path,            
    ]
)
  

错误没有这样的过滤器:'thumbnail = 10,setpts = N / TB -r 1 -vframes 10'

     

打开过滤器时出错!

1 个答案:

答案 0 :(得分:0)

不幸的是我能破解它。这是解决方案

subprocess.call([settings.FFMPEG_PATH,
        '-i',
        input_file_path,
        '-vf',
        'thumbnail=10,setpts=N/TB',            
        '-r',
        '1',
        '-vframes',
        '10',
        thumbnail_output_file_path,

    ]
)