[FFmpeg-trac] #7579(avformat:new): ID3 metadata not written in WAV
FFmpeg
trac at avcodec.org
Thu Nov 29 08:26:14 EET 2018
#7579: ID3 metadata not written in WAV
--------------------------------------+------------------------------------
Reporter: slhck | Owner:
Type: enhancement | Status: new
Priority: wish | Component: avformat
Version: git-master | Resolution:
Keywords: wav metadata | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
--------------------------------------+------------------------------------
Comment (by slhck):
> Please remember to always test current FFmpeg git head
I did test with Git head as well – please see the original description.
For the sake of completeness, the output:
{{{
~/Downloads/ffmpeg -i 04\ -\ Mr\ Unconductive\ Frying\ Pan\ Handle\ Man\
-\ A\ Beautiful\ Ballada\ Cover\ -\ giovanigoulart.wav -c copy
-map_metadata 0 -t 1 test.wav
ffmpeg version N-92525-ge488d7b4f5-tessus https://evermeet.cx/ffmpeg/
Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-
version=tessus --enable-avisynth --enable-fontconfig --enable-gpl
--enable-libaom --enable-libass --enable-libbluray --enable-libdav1d
--enable-libfreetype --enable-libgsm --enable-libmodplug --enable-
libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libopus --enable-librubberband --enable-
libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-
libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264
--enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg
--enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-
flags=--static --disable-ffplay
libavutil 56. 24.101 / 56. 24.101
libavcodec 58. 40.100 / 58. 40.100
libavformat 58. 23.100 / 58. 23.100
libavdevice 58. 6.100 / 58. 6.100
libavfilter 7. 46.100 / 7. 46.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from '04 - Mr Unconductive Frying Pan Handle Man - A
Beautiful Ballada Cover - giovanigoulart.wav':
Duration: 00:03:46.72, bitrate: 2845 kb/s
Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz,
stereo, flt, 2822 kb/s
Output #0, wav, to 'test.wav':
Metadata:
ISFT : Lavf58.23.100
Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz,
stereo, flt, 2822 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 348kB time=00:00:00.99 bitrate=2856.1kbits/s speed= 599x
video:0kB audio:348kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.031991%
}}}
> What's wrong with small sample files?
Like I wrote, the metadata is added in the end of the file (as indicated
by the hexdump), so I cannot just truncate the 80MB WAV to a short one
that exhibits the same issue. Hence I supplied the original file.
As I do not know how the file was generated, I cannot produce a small
sample that shows the same behavior.
I can create a file that I then tag with `id3tag`, but reading this,
ffmpeg shows a different message ("Discarding ID3 tags because more
suitable tags were found.") which implies that the tags saved by `id3tag`
are different from the ones in the large sample file that I have:
{{{
➜ id3tag -aFoo -sBar test2.wav
+++ Artist = Foo
+++ Song = Bar
Tagging test2.wav: attempting v1 and v2, tagged v1 and v2
➜ ~/Downloads/ffmpeg -i test2.wav -c copy -map_metadata 0 test3.wav
ffmpeg version N-92525-ge488d7b4f5-tessus https://evermeet.cx/ffmpeg/
Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-
version=tessus --enable-avisynth --enable-fontconfig --enable-gpl
--enable-libaom --enable-libass --enable-libbluray --enable-libdav1d
--enable-libfreetype --enable-libgsm --enable-libmodplug --enable-
libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libopus --enable-librubberband --enable-
libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-
libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264
--enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg
--enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-
flags=--static --disable-ffplay
libavutil 56. 24.101 / 56. 24.101
libavcodec 58. 40.100 / 58. 40.100
libavformat 58. 23.100 / 58. 23.100
libavdevice 58. 6.100 / 58. 6.100
libavfilter 7. 46.100 / 7. 46.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[wav @ 0x7fe645000800] Discarding ID3 tags because more suitable tags were
found.
Input #0, wav, from 'test2.wav':
Metadata:
encoder : Lavf58.23.100
Duration: 00:00:01.01, bitrate: 2839 kb/s
Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz,
stereo, flt, 2822 kb/s
Output #0, wav, to 'test3.wav':
Metadata:
ISFT : Lavf58.23.100
Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz,
stereo, flt, 2822 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 348kB time=00:00:00.99 bitrate=2856.1kbits/s speed=1.09e+03x
video:0kB audio:348kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.031991%
➜ id3info test2.wav test3.wav
*** Tag information for test2.wav
=== TPE1 (Lead performer(s)/Soloist(s)): Foo
=== TIT2 (Title/songname/content description): Bar
*** Tag information for test3.wav
}}}
Either way they do not get written to the output.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7579#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list