如何从ffmpeg.input()生成的对象中提取原始输入文件名?
ffmpeg-python 没有对外公开获取输入文件名的官方属性,但可以通过访问内部私有结构直接提取,有两种常用实现方式:
方式1:从输入节点的位置参数提取
调用ffmpeg.input时传入的文件名会作为输入节点的第一个位置参数存储,读取方式如下:original_filename = in_.node.args[0]只要调用
ffmpeg.input时第一个参数传入的是文件名,该方法即可生效。方式2:从输入节点的关键字参数提取
如果当初调用ffmpeg.input时使用关键字参数指定文件名(如ffmpeg.input(filename="video.mp4")),可以从关键字参数字典中读取:original_filename = in_.node.kwargs.get("filename")
注意:上述用到的
node、args、kwargs都属于库的内部非公开实现,没有纳入版本兼容承诺,不同版本的ffmpeg-python可能存在结构调整。如果需要保障跨版本稳定运行,还是更推荐提前单独定义变量存储文件名。
内容的提问来源于stack exchange,提问作者pigeonburger
相关产品推荐
相关产品推荐

