繁体   English   中英

在Python中使用FFprobe

[英]Using FFprobe in Python

如何在python脚本中使用FFprobe,该脚本也会将输出导出为csv文件?

我要执行的命令是:

ffprobe -i file_name -show_frames -select_streams v:1 -print_format csv > filename.csv 

我查看了有关类似问题的其他帖子,并做了一些改动:

def probe_file(filename):
    cmnd = ['ffprobe', '-i',filename, '-show_frames', '-select_streams', 'a', '-print_format', 'csv']
    p = subprocess.Popen(cmnd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    print filename
    out, err =  p.communicate()
    print "==========output=========="
    print out
    if err:
        print "========= error =r======="
        print err

但是,我似乎无法使用“> filename.csv”。

分析完视频后,我希望所有输出都为csv文件,命名与文件名相同

有谁知道我该怎么办?

提前致谢

如果您希望数据可用于python(作为列表列表):

data = [l.split(',') for l in out.decode('ascii').splitlines()]

如果您只想将数据转储到文件中:

with open("{}.csv".format(filename), "w") as f:
    f.write(out.decode('ascii'))

请注意,我使用的是Python 3,因此, decode() s( outbytes ,必须被解码)。 显然,您使用的是Python 2,因此也许没有必要使用decode()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM