Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从视频文件中提取块_Python_Video_Extraction - Fatal编程技术网

Python 从视频文件中提取块

Python 从视频文件中提取块,python,video,extraction,Python,Video,Extraction,是否可以编写Python代码来获取视频文件(mpg、avi、wmv、mov等)和时间间隔(例如,从5分钟-10秒-11秒到10分钟-15秒-40秒),并从该时间间隔创建一个小视频 我知道这在ffmpeg、mencoder和其他程序中是可能的,但我想在Python代码中实现这一点 通过谷歌搜索“python库编辑视频文件”让我又回到了这样一个话题: 除了从库中获取此类功能外,我还经常使用系统调用(os.system或subprocess)来调用mencoder或ffmpeg。您可以用pyt

是否可以编写Python代码来获取视频文件(mpg、avi、wmv、mov等)和时间间隔(例如,从5分钟-10秒-11秒到10分钟-15秒-40秒),并从该时间间隔创建一个小视频

我知道这在ffmpeg、mencoder和其他程序中是可能的,但我想在Python代码中实现这一点

通过谷歌搜索“python库编辑视频文件”让我又回到了这样一个话题:

除了从库中获取此类功能外,我还经常使用系统调用(os.system或subprocess)来调用mencoder或ffmpeg。您可以用pythonesque伪代码编写一个函数来实现这一点:

def getVideoChunk(filepath, timerange, outputfile):
    retcode = systemcall("ffmpeg %s %s", filepath, timerange, outputfile)
    return retcode
当然,您需要选择运行tge systemcall的方式,并且需要学习一些ffmpeg语法

编辑(基于注释),假设mmpeg的语法如下:

ffmpeg -i input.mpg -sameq -ss 00:02:00 -t 00:02:00 output.mpg
这个电话看起来像:

getVideoChunk("input.mpg", "00:02:00", "output.mpg")
系统调用位如下所示(注意,我使用的是os.system):

请注意,这段代码也是pseuodo python代码,我还没有测试过它……这段代码纯粹是指导性的。

通过谷歌搜索“python library to edit video file”(python library to edit video file编辑视频文件)让我回到了这一点:

除了从库中获取此类功能外,我还经常使用系统调用(os.system或subprocess)来调用mencoder或ffmpeg。您可以用pythonesque伪代码编写一个函数来实现这一点:

def getVideoChunk(filepath, timerange, outputfile):
    retcode = systemcall("ffmpeg %s %s", filepath, timerange, outputfile)
    return retcode
当然,您需要选择运行tge systemcall的方式,并且需要学习一些ffmpeg语法

编辑(基于注释),假设mmpeg的语法如下:

ffmpeg -i input.mpg -sameq -ss 00:02:00 -t 00:02:00 output.mpg
这个电话看起来像:

getVideoChunk("input.mpg", "00:02:00", "output.mpg")
系统调用位如下所示(注意,我使用的是os.system):


请注意,这段代码也是pseuodo python代码,我还没有测试过它……这段代码纯粹是指导性的。

我想说,最不烦人的方法是直接使用
ffmpeg
;CLI似乎是ffmpeg库的唯一接口,它保证保持最新,并公开所有高级功能。您还可以尝试使用Python绑定,它似乎也可以在这么高的级别上工作,但它看起来像一个非常复杂的库。您的意思是:a)纯python,b)到外部库的python绑定,还是c)对例如ffmpeg的系统调用。@PaulHiemstra我的意思是从问题中定义的输入创建输出。我理解,我更具体地问了您“在python代码中执行此操作”是什么意思。我自己也问过几次。现在仍然没有python原生的方法来实现这一点——从命令行使用mencoder或ffmpeg是最好的方法;CLI似乎是ffmpeg库的唯一接口,它保证保持最新,并公开所有高级功能。您还可以尝试使用Python绑定,它似乎也可以在这么高的级别上工作,但它看起来像一个非常复杂的库。您的意思是:a)纯python,b)到外部库的python绑定,还是c)对例如ffmpeg的系统调用。@PaulHiemstra我的意思是从问题中定义的输入创建输出。我理解,我更具体地问了您“在python代码中执行此操作”是什么意思。我自己也问过几次。仍然没有python本机的方法来实现这一点-从命令行使用mencoder或ffmpeg是最好的方法。谢谢,您可以演示getVideoChunk()的调用时间范围是什么样子的吗?您可以使用正确的ffmpg语法将其设为字符串。看看qt ffmpeg。假设命令行中的命令如下
ffmpeg-i input.mpg-sameq-ss 00:02:00-t 00:02:00 output.mpg
。我不确定您的函数定义和调用是什么样子的?我编辑了我的答案以包含此内容。谢谢,您能否显示getVideoChunk()的调用时间范围是什么样子的?您可以使用正确的ffmpg语法将其设置为字符串。看看qt ffmpeg。假设命令行中的命令如下
ffmpeg-i input.mpg-sameq-ss 00:02:00-t 00:02:00 output.mpg
。我不确定您的函数定义和调用是什么样子的?我编辑了我的答案以包括这一点。