[英]How to remove ALL metadata using ffmpeg?
I have input file: infile.mp3 This file contains metadata (artist, genre, etc.) I try remove all metadata for output wav file.我有输入文件:infile.mp3 该文件包含元数据(艺术家、流派等)。我尝试删除输出 wav 文件的所有元数据。
Yes!是的! I found option:
我找到了选项:
-map_metadata -1
-map_metadata -1
But output is unexpected for me...但是输出对我来说是意外的......
$ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav $ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav
OK!好的!
$ ffprobe outfile.wav
Input #0, wav, from 'inp.wav':
Metadata:
encoder : Lavf56.25.101
Duration: 00:04:00.47, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
You see?你看到了吗? encoder metadata exists!
编码器元数据存在!
And in wav header after "subchunk1_id" with "fmt " value I expect "subchunk2_id" with "data" value (clear expected example):在带有“fmt”值的“subchunk1_id”之后的wav标头中,我希望“subchunk2_id”带有“data”值(明确的预期示例):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
data
But it is not (LIST, INFOISFT, etc):但它不是(列表、信息等):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
LIST
INFOISFT
Lavf56.25.101
data
Well.. How to really remove all metadata for output file?好吧..如何真正删除输出文件的所有元数据?
-fflags +bitexact -flags:v +bitexact -flags:a +bitexact
Maybe copy it to a .wav file first (does not support metadata), then copy it back to an .mp3? 也许首先将它复制到.wav文件(不支持元数据),然后将其复制回.mp3?
```
ffmpeg -i in.mp3 tmp.wav
ffmpeg -i tmp.wav out.mp3
```
I have input file: infile.mp3 This file contains metadata (artist, genre, etc.) I try remove all metadata for output wav file.我有输入文件:infile.mp3此文件包含元数据(艺术家,类型等),我尝试删除输出wav文件的所有元数据。
Yes!是的! I found option:
我找到了选择:
-map_metadata -1
-map_metadata -1
But output is unexpected for me...但是输出对我来说是意外的...
$ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav $ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav
OK!好的!
$ ffprobe outfile.wav
Input #0, wav, from 'inp.wav':
Metadata:
encoder : Lavf56.25.101
Duration: 00:04:00.47, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
You see?你看? encoder metadata exists!
编码器元数据存在!
And in wav header after "subchunk1_id" with "fmt " value I expect "subchunk2_id" with "data" value (clear expected example):在wav标头中,在“ subchunk1_id”后的值为“ fmt”,我希望“ subchunk2_id”为“数据”值(明确的示例):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
data
But it is not (LIST, INFOISFT, etc):但是不是(LIST,INFOISFT等):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
LIST
INFOISFT
Lavf56.25.101
data
Well.. How to really remove all metadata for output file?好吧..如何真正删除输出文件的所有元数据?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.