#1439 closed defect (fixed)
"creation_time" metadata incorrect in mov files
Reported by: | TimNich | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | ffmpeg |
Version: | git-master | Keywords: | |
Cc: | Ulf.Zibis@gmx.de | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
When creating a mov from a mov ffmpeg carries forward the "creation_time" metadata from the original file (if it exists) such that the reported metadata (fprobe) is incorrect for the file that it has just created.
How to reproduce:
% ffmpeg -i in.mov -timecode 09:59:30:06 -an -c:v dvvideo -pix_fmt yuv420p -an -y out.mov ffmpeg version N-41512-g66531c7-by_Tim Copyright (c) 2000-2012 the FFmpeg developers built on Jun 11 2012 12:26:34 with gcc 4.6.2 configuration: --extra-version=by_Tim --enable-static --disable-shared --enable-gpl --enable-nonfree --enable-version3 --prefix=/mnt/msds-store-0/tim/ffmpeg-tux/usr/local --libdir=/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64 --samples=../fate-suite/ --enable-runtime-cpudetect --extra-cflags='-static -I/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include' --extra-ldflags='-static -L/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64' --progs-suffix=_Jun-11 --enable-libfaac --enable-libx264 --enable-libfree libavutil 51. 57.100 / 51. 57.100 libavcodec 54. 25.100 / 54. 25.100 libavformat 54. 6.101 / 54. 6.101 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 78.101 / 2. 78.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 Guessed Channel Layout for Input Stream #0.1 : mono Guessed Channel Layout for Input Stream #0.2 : mono Guessed Channel Layout for Input Stream #0.3 : mono Guessed Channel Layout for Input Stream #0.4 : mono Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/mnt/msds-store-0/Media_hub/bisect/in.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2012-06-08 06:31:48 Duration: 00:00:00.40, start: 0.000000, bitrate: 33658 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 28800 kb/s, SAR 118:81 DAR 295:162, 25 fps, 25 tbr, 25 tbn, 25 tbc Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler Stream #0:5(eng): Data: none (tmcd / 0x64636D74) Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 [buffer @ 0x17f07c0] w:720 h:576 pixfmt:yuv420p tb:1/25 fr:25/1 sar:118/81 sws_param:flags=2 [ffmpeg_buffersink @ 0x17f0aa0] No opaque field provided Output #0, mov, to 'out.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2012-06-08 06:31:48 timecode : 09:59:30:06 encoder : Lavf54.6.101 Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 118:81 DAR 295:162], q=2-31, 200 kb/s, 25 tbn, 25 tbc Metadata: creation_time : 2012-06-08 06:31:48 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream mapping: Stream #0:0 -> #0:0 (dvvideo -> dvvideo) Press [q] to stop, [?] for help
Notice from the above how the output creation_time is the same as the input times.. "creation_time : 2012-06-08 06:31:48"
Attachments (1)
Change History (4)
by , 13 years ago
comment:1 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 by , 5 years ago
Blocking: | → 8552 |
---|---|
Cc: | added |
I have a different opinion to this issue.
I see "creation_time" as the time, when the video was originally recorded. This time should not change on transcoding, so could be preserved. The file creation time is anyway saved from the underlying OS in the file system.
If ffmpeg sees the "creation_time" as time of encoding, why doesn't it set to the current time, but leaves it empty?
Linux tool "mediainfo" distinguishes between "Encoded date" and "Tagged date". Which one is interpreted as "creation_time" by ffmpeg?
As another distinction in JPEG EXIF we find "DateTimeOriginal" and "DateTimeDigitized".
The current behaviour prevents -f ffmatadata to report the global "creation_time", see #8552
comment:3 by , 5 years ago
Blocking: | 8552 |
---|
The main issue here is that it makes no sense to discuss this problem on trac: The change was undisputed as far as I remember and will not be reverted because of a request here. If you really believe that this fix should be reverted send a patch to the development mailing list: I doubt that it will be accepted but posting on this bug tracker definitely won’t help.
(The blocking fields don’t work as expected.)
sample QT file made by FCP