使用 FFMPEG 修改编码器元数据的问题
Posted
技术标签:
【中文标题】使用 FFMPEG 修改编码器元数据的问题【英文标题】:Problems with modifying encoder metadata with FFMPEG 【发布时间】:2019-12-16 08:34:18 【问题描述】:我正在尝试使用 FFMPEG 元数据更改 FFMPEG 编码器编写应用程序,无论出于何种原因,它正在读取输入,但实际上并没有写出任何内容。
-map_metadata -metadata:s:v:0 -metadata writing_application,基本上每个堆栈溢出和堆栈交换线程,但它们根本不会写入文件。
ffmpeg -i x.mp4 -s 1920x1080 -r 59.94 -c:v h264_nvenc -b:v 6000k -vf yadif=1 -preset fast -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -ac 2 x.mp4
ffmpeg -i x.mp4 -c:v copy -c:a copy -metadata Encoder="TeXT Encoder" -fflags +bitexact -flags:v +bitexact -flags:a +bitexact test.mp4
ffmpeg -i x.mp4 -vcodec copy -acodec copy -map_metadata out.mp4
ffmpeg -i x.mp4 -vcodec copy -acodec copy -metadata encoder="Encoder" -metadata comment="XX" testmeta.mp4
ffmpeg -i x.ts -c:v copy -c:a copy -metadata:s:v:0 h264 ISFT='TeXT' x.mp4
ffmpeg -i x.mp4 -i FFMETADATAFILE -map_metadata 1 -codec copy testcopy.mp4
ffmpeg -i x.ts -f ffmetadata FF
元数据文件
我尝试提取数据并使用 FFMETADATAFILE 将其重写,但没有显示出来。尝试强制 ffmpeg 在没有任何 emtadata 的情况下写入并将其写回但不起作用。想知道我是否可以编写自己的编码器来写入特定的编码器名称,例如 Handbrake/Lavf 如何将编码器应用程序写入视频文件的元数据。或者只是使用 FFMPEG 并在本机修改元数据。
【问题讨论】:
【参考方案1】:要为 MP4 设置写入应用程序 (mediainfo) 或编码器 (ffmpeg),请使用
ffmpeg -i input -encoding parameters -metadata:g encoding_tool=myapp out.mp4
【讨论】:
天哪,谢谢你,这几天我一直在为此苦苦挣扎。感谢您的帮助! 对于那些想要更多信息的人,:g
后缀是 metadata_specifier
- 详细信息在 -map_metadata
文档中
非常感谢 encoding_tool 的价值!以上是关于使用 FFMPEG 修改编码器元数据的问题的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用修改后的元数据(无重新编码)保存原始图像数据