Opened 6 years ago

Closed 2 years ago

Last modified 2 years ago

#7803 closed enhancement (fixed)

Request: Parse some missing metadata for WAV file

Reported by: yaslam Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: wav
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello,

I posted about the bug that AIFF doesn't export ReplayGgain tag the other day.
http://ffmpeg.org/pipermail/ffmpeg-user/2019-March/043713.html

It was solved with the help of Moritz. His patch for the following post.
http://ffmpeg.org/pipermail/ffmpeg-devel/2019-March/241033.html

I have one more request.
WAV files seem to export only part of metadata.
FFmpeg has not been able to export album_artist, composer, ReplayGain info, etc of WAV files.
Could you modify it to support metadata that can not be exported from WAV file?

source code: libavformat/wavdec.c
input method: wav_read_header(AVFormatContext *s)

The following is the actual input information of AIFF and WAV.
Innocence.aiff : Input of AIFF by FFmpeg which applied the patch of ReplayGain of AIFF

$ ffmpeg -i Innocence.aiff
ffmpeg version N-93331-g509ea1d267 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 47.103 / 58. 47.103
  libavformat    58. 26.101 / 58. 26.101
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libavresample   4.  0.  0 /  4.  0.  0
  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, aiff, from 'Innocence.aiff':
  Metadata:
    title           : Innocence
    album           : POLARITY — an acoustic jazz project
    genre           : Jazz
    composer        : Jan Gunnar Hoff
    track           : 1/12
    disc            : 1
    date            : 2018
    TSRC            : NOMPP1801010
    REPLAYGAIN_TRACK_GAIN: 5.34 dB
    REPLAYGAIN_TRACK_PEAK: 0.626617
    Dynamic Range (R128): 12.254904
    Dynamic Range (DR): 13
    REPLAYGAIN_ALBUM_GAIN: 5.34 dB
    REPLAYGAIN_ALBUM_PEAK: 0.626617
    Album Dynamic Range (R128): 12.266521
    Album Dynamic Range (DR): 14
    artist          : Hoff Ensemble: Jan Gunnar Hoff, Audun Kleive & Anders Jormin
    album_artist    : Hoff Ensemble
    comment         : Generated by Merging Technologies Album Publishing
                    : Label Code: 2L
  Duration: 00:05:09.29, start: 0.000000, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16be, 44100 Hz, stereo, s16, 1411 kb/s
    Side data:
      replaygain: track gain - 5.340000, track peak - 0.000015, album gain - 5.340000, album peak - 0.000015, 
    Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Other

Innocence.wav : Input of WAV by FFmpeg 4.1.1

$ /ffmpeg/static/4.1.1/ffmpeg -i Innocence.wav
ffmpeg version 4.1.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2019 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-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. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'Innocence.wav':
  Metadata:
    title           : Innocence
    album           : POLARITY ? an acoustic jazz project
    artist          : Hoff Ensemble: Jan Gunnar Hoff, Audun Kleive & Anders Jormin
    genre           : Jazz
    comment         : Generated by Merging Technologies Album Publishing
                    : Label Code: 2L
    track           : 1
    date            : 2018
  Duration: 00:05:09.29, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s

I attach a screenshot showing the metadata of each file by Qoobar app.(http://qoobar.sourceforge.net/en/index.htm)
Innocence.aiff
http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20190315/f49dd923/attachment-0001.png

Innocence.wav
http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20190315/f49dd923/attachment.png

I uploaded music files that has used for confirmation below.
https://www.dropbox.com/sh/zk3l8sn69zo2skc/AACgAyNqfgW2Pdsob90R7MBva?dl=0

Kind Regards

Change History (2)

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: wav added
Version: 4.1git-master

comment:2 by Balling, 2 years ago

Resolution: fixed
Status: newclosed

album_artist, composer, ReplayGain info and others are all exported now after 76cb899f8ad370bdbd02bb953d4a64af988f1665. In fact even "POLARITY ? an acoustic jazz project" is fixed and prints "—" now:

  Metadata:
    Dynamic Range (R128): 12.254904
    replaygain_track_peak: 0.626617
    comment         : Generated by Merging Technologies Album Publishing
                    : Label Code: 2L
    TSRC            : NOMPP1801010
    genre           : Jazz
    title           : Innocence
    track           : 1/12
    disc            : 1
    replaygain_album_gain: +5.34 dB
    replaygain_album_peak: 0.626617
    replaygain_track_gain: +5.34 dB
    album           : POLARITY — an acoustic jazz project
    artist          : Hoff Ensemble: Jan Gunnar Hoff, Audun Kleive & Anders Jormin
    album_artist    : Hoff Ensemble
    composer        : Jan Gunnar Hoff
    Album Dynamic Range (DR): 14
    Album Dynamic Range (R128): 12.266521
    Dynamic Range (DR): 13
    date            : 2018
Last edited 2 years ago by Balling (previous) (diff)
Note: See TracTickets for help on using tickets.