Opened 10 years ago

Last modified 9 months ago

#1158 open enhancement

support iXML riff chunk

Reported by: dave rice Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: metadata iXML riff
Cc: Andreas Turnwald, Jamie Hardt, Mark Burton Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

This sample file contains metadata in a bext chunk and iXML chunk.

http://www.gallery.co.uk/ixml/examples/usesEntireiXMLSpec.WAV

With the flac utility there is an option called --keep-foreign-metadata that allows these chunks to be copied to the flac output. When I use ffmpeg to transcode the wav to a flac file there is no means to keep the bext chunk or ixml chunk of source file.

ffmpeg -i usesEntireiXMLSpec.WAV usesEntireiXMLSpec.flac
ffmpeg version N-35765-gf9143d2 Copyright (c) 2000-2012 the FFmpeg developers
  built on Mar 31 2012 12:44:33 with llvm_gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/llvm-gcc --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --disable-ffplay
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 66.101 /  2. 66.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 10.100 /  0. 10.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, wav, from 'usesEntireiXMLSpec.WAV':
  Metadata:
    comment         : gSCENE=66a 
                    : gTAKE=002 
                    : gTAPE=007 
                    : gNOTE=Circle  
                    : gUBITS=00000000 
                    : 
    encoded_by      : Gallery Metacorder
    date            : 2005:08:04
    creation_time   : 16:55:54
    time_reference  : 4090608000
    coding_history  : 
  Duration: 00:00:02.18, bitrate: 781 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels, s16, 768 kb/s
Output #0, flac, to 'usesEntireiXMLSpec.flac':
  Metadata:
    comment         : gSCENE=66a 
                    : gTAKE=002 
                    : gTAPE=007 
                    : gNOTE=Circle  
                    : gUBITS=00000000 
                    : 
    encoded_by      : Gallery Metacorder
    date            : 2005:08:04
    creation_time   : 16:55:54
    time_reference  : 4090608000
    coding_history  : 
    encoder         : Lavf54.3.100
    Stream #0:0: Audio: flac, 48000 Hz, 1 channels, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le -> flac)
Press [q] to stop, [?] for help
size=      42kB time=00:00:02.20 bitrate= 155.8kbits/s    
video:0kB audio:34kB global headers:0kB muxing overhead 24.469009%

Attachments (1)

BEXT_chunk_display_in _ffmpeg.png (724.0 KB ) - added by Andreas Turnwald 15 months ago.
ffmpeg display example of bext chunk

Download all attachments as: .zip

Change History (9)

comment:1 by Carl Eugen Hoyos, 10 years ago

(Could we agree that this ticket is not related in any way to flac?)

Isn't this a request to support reading iXML?
Or is there a part of the bext chunk that is not read correctly?

comment:2 by Elon Musk, 10 years ago

bext chunk metadata is supported.

flac 1.2.1 fails to parse wav if i give --keep-foreign-metadata

comment:3 by Elon Musk, 10 years ago

Component: undeterminedavformat
Keywords: iXML riff added; flac removed
Priority: normalwish
Status: newopen
Summary: allow use of flac's --keep-foreign-metadata when encoding or decoding flac formatsupport iXML riff chunk

comment:4 by Elon Musk, 10 years ago

Do you want that iXML chunk is just added as metadata without any parsing? - which is trivial to implement.

by Andreas Turnwald, 15 months ago

ffmpeg display example of bext chunk

comment:5 by Andreas Turnwald, 15 months ago

Replying to richardpl:

Do you want that iXML chunk is just added as metadata without any parsing? - which is trivial to implement.

Yes, it would be ideal, if both existing BEXT and iXML chunks could be handed from input to output file without parsing (for WAV and flac outputs at least).

It had been stated above, that bext chunk metadata would be already supported. As of ffmpeg v4.2.1 this is only partly true: BEXT chunk is being parsed and displayed correctly (see screenshot), but it is being output to different locations (e.g. ICMT), which cannot be interpreted by common professional audio/video software, which look into the BEXT and iXML chunk only.

Thank you, Andi

comment:6 by Andreas Turnwald, 15 months ago

Cc: Andreas Turnwald added

comment:7 by Jamie Hardt, 10 months ago

Cc: Jamie Hardt added

comment:8 by Mark Burton, 9 months ago

Cc: Mark Burton added
Note: See TracTickets for help on using tickets.