You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用ffmpeg以kwargs传变量存储的metadata标签报错如何解决

问题原因

报错是因为你对**解包运算符的使用错误:

  • 你定义的tags本身就是字典类型,在output参数中你额外给它套了一层{},此时{tags}会被识别为包含字典元素的集合,无法被**运算符解包为关键字参数;就算尝试把它当作字典处理,字典本身是不可哈希类型,不能作为字典的键,所以触发TypeError: unhashable type: 'dict'报错。
  • 直接传入字典字面量时没有多余的外层{},语法符合要求,所以可以正常运行。

修正方案

去掉**后多余的{},直接写**tags即可,修正后代码如下:

import ffmpeg 
    
tags = {'metadata:g:0':"artist=various artists", 'metadata:g:1':"title=title" , 'metadata:g:2':"network=network", 'metadata:g:3':"show=show",'metadata:g:4':"description=description" ,'metadata:g:5':"genre=genre", 'metadata:g:6':"MediaCreateDate=2015:07:09 00:00:00Z"}

process = (
    ffmpeg
    .input('input.mp4')
    .output('output.mp4', codec='copy', map_metadata='0', **tags)
    .run()
)

内容的提问来源于stack exchange,提问作者daba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:15:07