Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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_Ffmpeg - Fatal编程技术网

Python 如何通过编程判断视频文件是否仅为音频文件

Python 如何通过编程判断视频文件是否仅为音频文件,python,ffmpeg,Python,Ffmpeg,获取以下两个视频文件,每个文件长两分钟: 1) 仅音频: 2) 音频和视频: 如何编写命令来告诉我视频文件是否有视频轨迹?例如: cmd = shlex.split('ffprobe -i %s' % video_path) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = p.communicate()[1] if 'something' in ouput: # ? au

获取以下两个视频文件,每个文件长两分钟:

1) 仅音频:

2) 音频和视频:

如何编写命令来告诉我视频文件是否有视频轨迹?例如:

cmd = shlex.split('ffprobe -i %s' % video_path)
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = p.communicate()[1]
if 'something' in ouput: # ?
    audio_only = True
else:
    audio_only = False

只需使用ffmpeg,在输出中您可以看到所有流,然后使用正则表达式查找视频流并对其进行条件设置

import re 
videostream=re.compile( r"Stream #\d*\:\d*\s*Video")
cmd = shlex.split('ffmpeg -i %s' % video_path) 
p = subprocess.Popen(cmd,     stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
output = p.communicate()[1] 
if not videostream.match(output): # !
    audio_only = True 
else: audio_only = False