Opened 13 years ago
Closed 13 years ago
#722 closed defect (fixed)
ffmpeg parses bext umid incorrectly when umid is 64 bytes
Reported by: | dave rice | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | bext |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
The bext UMID field can be either 32 bytes or 64 bytes. When I run ffmpeg -i 64byteumid.wav on a file with 64 byte UMID, the expressed UMID value is incomplete and missing the last byte (0x45). Note the the umid expressed by ffmpeg inserts an '0x' as the 33rd byte.
ffmpeg reports
0x060A2B34010101010101021333000000FF7FCBA40000008000000000000000FF0x000000000000008000000000000000000000000055534120574E5943444156
but the umid is
0x060A2B34010101010101021033000000FF7FCBA40000008000000000000000FF000000000000008000000000000000000000000055534120574E594344415645
ffmpeg output:
ffmpeg version N-31814-g7076967, Copyright (c) 2000-2011 the FFmpeg developers built on Nov 29 2011 16:34:05 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --disable-ffplay libavutil 51. 29. 1 / 51. 29. 1 libavcodec 53. 39. 1 / 53. 39. 1 libavformat 53. 22. 0 / 53. 22. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 50. 0 / 2. 50. 0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 [wav @ 0x7fd37a83d800] parser not found for codec pcm_s16le, packets or times may be invalid. [wav @ 0x7fd37a83d800] max_analyze_duration 5000000 reached at 5024000 Input #0, wav, from '64byteumid.wav': Metadata: IENG : IENG value originator_reference: orig reference IARL : IARL value artist : IART value ICMS : ICMS value comment : sample file for ffmpeg's bext parser copyright : ICOP value genre : IGNR value IKEY : IKEY value IMED : IMED value title : INAM value album : IPRD value ISBJ : ISBJ value encoder : ISFT value ISRC : ISRC value ISRF : ISRF value encoded_by : dave date : 2001-09-13 creation_time : 07:50:05 time_reference : 119136534 umid : 0x060A2B34010101010101021333000000FF7FCBA40000008000000000000000FF0x000000000000008000000000000000000000000055534120574E5943444156 coding_history : A=PCM,F=44100,W=16,M=stereo,T=Orban AUDICY EDIT A=PCM,F=32000,W=16,M=stereo,T=Orban AUDICY SRC Duration: 00:00:06.28, bitrate: 1029 kb/s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 32000 Hz, 2 channels, s16, 1024 kb/s At least one output file must be specified
Attachments (1)
Change History (4)
by , 13 years ago
Attachment: | 64byteumid.wav added |
---|
comment:2 by , 13 years ago
How do I enable bext writing? The command I tried below does not produce a bext chunk (input file has no bext).
ffmpeg -y -i dave.wav -metadata umid="060A2B34010101010101021033000000FF7FCBA40000008000000000000000FF000000000000008000000000000000000000000055534120574E594344415645" -c:a copy umid.wav ffmpeg version N-31814-g7076967, Copyright (c) 2000-2011 the FFmpeg developers built on Nov 29 2011 16:34:05 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --disable-ffplay libavutil 51. 29. 1 / 51. 29. 1 libavcodec 53. 39. 1 / 53. 39. 1 libavformat 53. 22. 0 / 53. 22. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 50. 0 / 2. 50. 0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 [wav @ 0x7fb90a03d800] parser not found for codec pcm_s16le, packets or times may be invalid. Input #0, wav, from 'dave.wav': Duration: 00:00:01.00, bitrate: 1536 kb/s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s16, 1536 kb/s Output #0, wav, to 'umid.wav': Metadata: umid : 060A2B34010101010101021033000000FF7FCBA40000008000000000000000FF000000000000008000000000000000000000000055534120574E594344415645 encoder : Lavf53.22.0 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help size= 188kB time=00:00:01.00 bitrate=1536.4kbits/s video:0kB audio:188kB global headers:0kB muxing overhead 0.023958%
comment:3 by , 13 years ago
Reproduced by developer: | set |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Fixed the original problem, thank you for the sample!
Does "write_bext" option to write the bext metadata work?
Note:
See TracTickets
for help on using tickets.
wav file with bext chunk with 64 byte umid