#4560 closed defect (fixed)
Changing rotate metadata won't work with last release of FFmpeg ( from Zeranoe, x64 static build)
Reported by: | grut | Owned by: | |
---|---|---|---|
Priority: | important | Component: | ffmpeg |
Version: | git-master | Keywords: | mov metadata rotate regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
The metadata rotate cannot be changed using the last FFmpeg for windows, from zeranoe (x64 static build)
How to reproduce:
File available here : https://trac.ffmpeg.org/attachment/ticket/505/sample-in-issue-505.mov
Complete log : http://pastebin.com/EFymmLje
ffprobe source
>ffprobe c:/sample-in-issue-505.mov ffprobe version N-72086-g51f6455 Copyright (c) 2007-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --e nable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable- libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --ena ble-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 38.100 / 56. 38.100 libavformat 56. 33.101 / 56. 33.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:/sample-in-issue-505.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2011-09-25 10:10:07 make : Apple make-deu : Apple encoder : 4.3.5 encoder-deu : 4.3.5 date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 location : +51.3889+006.8611/ location-deu : +51.3889+006.8611/ model : iPhone 4 model-deu : iPhone 4 Duration: 00:00:03.49, start: 0.000000, bitrate: 794 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 480x272, 712 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default) Metadata: rotate : 90 creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler encoder : H.264 Side data: displaymatrix: rotation of -90.00 degrees
ffmpeg command to change rotate metadata
>ffmpeg -i c:/sample-in-issue-505.mov -c copy -metadata:s:v:0 rotate=0 c:\target.mov ffmpeg version N-72086-g51f6455 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --e nable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable- libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --ena ble-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 38.100 / 56. 38.100 libavformat 56. 33.101 / 56. 33.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:/sample-in-issue-505.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2011-09-25 10:10:07 make : Apple make-deu : Apple encoder : 4.3.5 encoder-deu : 4.3.5 date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 location : +51.3889+006.8611/ location-deu : +51.3889+006.8611/ model : iPhone 4 model-deu : iPhone 4 Duration: 00:00:03.49, start: 0.000000, bitrate: 794 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 480x272, 712 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default) Metadata: rotate : 90 creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler encoder : H.264 Side data: displaymatrix: rotation of -90.00 degrees [mov @ 00000000058e9280] Codec for stream 0 does not use global headers but container format requires global headers [mov @ 00000000058e9280] Codec for stream 1 does not use global headers but container format requires global headers Output #0, mov, to 'c:\target.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt model-deu : iPhone 4 make : Apple make-deu : Apple model : iPhone 4 encoder : Lavf56.33.101 date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 location : +51.3889+006.8611/ location-deu : +51.3889+006.8611/ Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 480x272, q=2-31, 712 kb/s, 30 fps, 30 tbr, 19200 tbn, 600 tbc (default) Metadata: encoder : H.264 creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler rotate : 0 Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, 63 kb/s (default) Metadata: creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 106 fps=0.0 q=-1.0 Lsize= 339kB time=00:00:03.50 bitrate= 792.5kbits/s video:308kB audio:27kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.289521%
ffprobe of the target :
>ffmpeg -i c:/sample-in-issue-505.mov -c copy -metadata:s:v:0 rotate=0 c:\target.mov ffmpeg version N-72086-g51f6455 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --e nable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable- libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --ena ble-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 38.100 / 56. 38.100 libavformat 56. 33.101 / 56. 33.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:/sample-in-issue-505.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2011-09-25 10:10:07 make : Apple make-deu : Apple encoder : 4.3.5 encoder-deu : 4.3.5 date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 location : +51.3889+006.8611/ location-deu : +51.3889+006.8611/ model : iPhone 4 model-deu : iPhone 4 Duration: 00:00:03.49, start: 0.000000, bitrate: 794 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 480x272, 712 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default) Metadata: rotate : 90 creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler encoder : H.264 Side data: displaymatrix: rotation of -90.00 degrees [mov @ 00000000058e9280] Codec for stream 0 does not use global headers but container format requires global headers [mov @ 00000000058e9280] Codec for stream 1 does not use global headers but container format requires global headers Output #0, mov, to 'c:\target.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt model-deu : iPhone 4 make : Apple make-deu : Apple model : iPhone 4 encoder : Lavf56.33.101 date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 location : +51.3889+006.8611/ location-deu : +51.3889+006.8611/ Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 480x272, q=2-31, 712 kb/s, 30 fps, 30 tbr, 19200 tbn, 600 tbc (default) Metadata: encoder : H.264 creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler rotate : 0 Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, 63 kb/s (default) Metadata: creation_time : 2011-09-25 10:10:07 handler_name : Core Media Data Handler Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 106 fps=0.0 q=-1.0 Lsize= 339kB time=00:00:03.50 bitrate= 792.5kbits/s video:308kB audio:27kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.289521% > > > > > >ffprobe c:\target.mov ffprobe version N-72086-g51f6455 Copyright (c) 2007-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --e nable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable- libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --ena ble-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 38.100 / 56. 38.100 libavformat 56. 33.101 / 56. 33.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\target.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt date : 2011-09-25T12:09:54+0200 date-deu : 2011-09-25T12:09:54+0200 encoder : Lavf56.33.101 make : Apple make-deu : Apple model : iPhone 4 model-deu : iPhone 4 Duration: 00:00:03.53, start: 0.000000, bitrate: 786 kb/s Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 480x272, 712 kb/s, 30 fps, 30 tbr, 19200 tbn, 38400 tbc (default) Metadata: rotate : 90 handler_name : DataHandler encoder : H.264 Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default) Metadata: handler_name : DataHandler
So the rotate metadata.
Digging deeper, I tried many builds, and here are my findings :
- until this build, ffmpeg-20150319-git-b61cb61, the rotate metadata is set (or removed if 0).
ffprobe version N-70821-gb61cb61 Copyright (c) 2007-2015 the FFmpeg developers
- after that, the next release, and for a few releases, there was a bug and setting rotate 0 was resulting in rotate 270.
- after that, impossible to change.
Change History (3)
comment:1 by , 10 years ago
Keywords: | mov regression added; unchanged removed |
---|---|
Priority: | normal → important |
Reproduced by developer: | set |
Status: | new → open |
Version: | unspecified → git-master |
comment:2 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
comment:3 by , 10 years ago
Component: | undetermined → ffmpeg |
---|
Note:
See TracTickets
for help on using tickets.
Regression since 750cf4e5
(Behaviour has changed since.)