[FFmpeg-trac] #6370(undetermined:new): Change in rotate metadata treatment between ffmpeg 3.2 and ffmpeg 3.3

FFmpeg trac at avcodec.org
Thu May 4 18:42:00 EEST 2017


#6370: Change in rotate metadata treatment between ffmpeg 3.2 and ffmpeg 3.3
-------------------------------------+-------------------------------------
             Reporter:  tamc         |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Hello

 I'm not sure if this is a deliberate change, but given a h264 video with
 rotate=90 in its meta data, when you then rotated the video using the
 command below, the output video used to have no rotate metadata. As of
 3.3, it retains the metadata which makes the output display incorrectly.

 Summary of the bug:
 How to reproduce:
 {{{
 ffmpeg version 3.2.4:

 ffmpeg -noautorotate -i original.mp4 -metadata:s:v rotate=0 -vf
 scale=640:480,transpose=clock  -f mp4 -y rotated.mp4
 ... output all ok ...

 ffprobe -i rotated.mp4
 ... snip ...
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'rotated.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf57.56.101
   Duration: 00:00:08.24, start: 0.000000, bitrate: 1298 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 480x640, 1181 kb/s, 14.92 fps, 14.92 tbr, 11456 tbn, 29.83 tbc (default)
     Metadata:
       handler_name    : VideoHandler
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 120 kb/s (default)
     Metadata:
       handler_name    : SoundHandler

 ffmpeg version 3.3:

 ffmpeg -noautorotate -i original.mp4 -metadata:s:v rotate=0 -vf
 scale=640:480,transpose=clock  -f mp4 -y rotated.mp4
 ... all looks ok ...

 ffprobe  -i rotated.mp4
 ... snip ...
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'rotated.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf57.71.100
   Duration: 00:00:08.24, start: 0.000000, bitrate: 1299 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 480x640, 1182 kb/s, 14.92 fps, 14.92 tbr, 11456 tbn, 29.83 tbc (default)
     Metadata:
       rotate          : 90                                  <----
 DIFFERENCE HERE
       handler_name    : VideoHandler
     Side data:
       displaymatrix: rotation of -90.00 degrees
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 120 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 }}}

 Note the difference in the metadata in the second output.

 I've verified that HEAD appears to give the same result at 3.3

 Is this a bug? Or have we been using ffmpeg incorrectly?

 Our goal is to resize videos and transpose them so they are the same way
 up (we use ffprobe to check their incoming rotation, and then apply the
 appropriate transpose flags)

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6370>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list