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

使用ffmpeg进行RTMP推流时如何添加数值类型的create_time元数据

解决方案

你当前使用的-metadata create_time=xxx写法,ffmpeg默认会将值标记为字符串类型写入FLV的onMetaData字段,所以接收端拿到的就是字符串格式的元数据。要写入数值类型的create_time,按以下方法操作即可:

方法1(适用ffmpeg 4.0及以上版本,推荐)

直接在元数据值后加:i后缀,指定为整数类型即可,把你命令中的:

-metadata create_time=1543434

修改为:

-metadata create_time=1543434:i

修改后的完整推流命令如下:

ffmpeg -loop 1 -f image2 -i test.jpg -pix_fmt yuv420p -vcodec libx264 -b:v 800k -crf 35 -intra-refresh 1 -g 1 -filter:v scale="480:trunc(ow/a/2)*2" -r 60 -metadata create_time=1543434:i -preset veryfast -tune zerolatency -f flv "stream-url"

如果需要写入浮点类型的数值,把后缀改成:f即可,例如-metadata create_time=1543434.123:f。

验证效果

你可以用ffprobe拉取流地址查看元数据类型,执行以下命令:

ffprobe -v quiet -print_format json -show_format "stream-url"

查看输出的format.tags.create_time字段,如果没有被引号包裹,就是数值类型。


内容的提问来源于stack exchange,提问作者Иван Емельяненко

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:15:03