GES is not rotating a *.mov file which is tagged for rotation

David Ing ding at panopto.com
Wed Jun 5 21:24:07 UTC 2019


Also, here is the output of gst-discoverer-1.0 --verbose

I highlighted the relevant section which is image orientation: rotate-180.

$ gst-discoverer-1.0 --verbose rotate-180.mov
Analyzing file:///C:/Users/ding/Desktop/rotate-180.mov
Done discovering file:///C:/Users/ding/Desktop/rotate-180.mov

Topology:
  container: video/quicktime
    audio: audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)2, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)1208, rate=(int)44100,
channels=(int)1
      Tags:
        audio codec: MPEG-4 AAC audio
        maximum bitrate: 64000
        bitrate: 64000
        datetime: 2016-03-14T08:26:08Z
        QT atom: buffer of 34 bytes
        container format: Quicktime

      Codec:
        audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)2, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)1208, rate=(int)44100,
channels=(int)1
      Additional info:
        None
      Stream ID:
a2bd37016805819d7874188ad12d70943361aa53b0c7253a2b9813b7f8ab3cb5/002
      Language: <unknown>
      Channels: 1 (unknown layout)
      Sample rate: 44100
      Depth: 32
      Bitrate: 64000
      Max bitrate: 64000
    video: video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)4.1, profile=(string)high,
codec_data=(buffer)01640029ffe1001067640029ac5680780227e59a8080808101000528ee04f2c0,
width=(int)1920, height=(int)1080, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
      Tags:
        image orientation: rotate-180
        video codec: H.264 / AVC
        bitrate: 17149794
        datetime: 2016-03-14T08:26:08Z
        QT atom: buffer of 34 bytes
        container format: Quicktime

      Codec:
        video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)4.1, profile=(string)high,
codec_data=(buffer)01640029ffe1001067640029ac5680780227e59a8080808101000528ee04f2c0,
width=(int)1920, height=(int)1080, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
      Additional info:
        None
      Stream ID:
a2bd37016805819d7874188ad12d70943361aa53b0c7253a2b9813b7f8ab3cb5/001
      Width: 1920
      Height: 1080
      Depth: 24
      Frame rate: 24/1
      Pixel aspect ratio: 1/1
      Interlaced: false
      Bitrate: 17149794
      Max bitrate: 0

Properties:
  Duration: 0:00:10.955000000
  Seekable: yes
  Live: no
  Tags:
      audio codec: MPEG-4 AAC audio
      maximum bitrate: 64000
      bitrate: 64000
      datetime: 2016-03-14T08:26:08Z
      QT atom: buffer of 34 bytes
      container format: Quicktime
      image orientation: rotate-180
      video codec: H.264 / AVC

WARNING: no real random source present!

On Wed, Jun 5, 2019 at 12:51 PM David Ing <ding at panopto.com> wrote:

> I have an old *.mov file ...
>
>
> https://drive.google.com/file/d/1qNm2ISC5qnI3VN0MwemCcb_QjweJAjYF/view?usp=sharing
>
> ... which is tagged in a way that indicates it should be rotated when it
> is displayed.  Below (at end of this message) is an excerpt from an ffprobe
> command which demonstrates the how the file is tagged (I highlighted the
> relevant output).
>
> I am using the file as a GESUriClip inside of a GESTimeline, and the
> rotation is not being applied.  It comes through upside-down.
>
> *My question is*:  Is this a bug?  Or am I expected to detect the tags
> manually and then modify the "video-direction" property of GESVideoSource
> myself?
>
> ---------------------------------
> $ *ffprobe -v quiet -show_streams rotate-180.mov*
> [STREAM]
> index=0
> codec_name=h264
> codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
> profile=High
> codec_type=video
> codec_time_base=2191/105200
> codec_tag_string=avc1
> codec_tag=0x31637661
> width=1920
> height=1080
> coded_width=1920
> coded_height=1088
> has_b_frames=0
> sample_aspect_ratio=N/A
> display_aspect_ratio=N/A
> pix_fmt=yuv420p
> level=41
> color_range=tv
> color_space=bt709
> color_transfer=bt709
> color_primaries=bt709
> chroma_location=left
> field_order=unknown
> timecode=N/A
> refs=1
> is_avc=true
> nal_length_size=4
> id=N/A
> r_frame_rate=24/1
> avg_frame_rate=52600/2191
> time_base=1/600
> start_pts=0
> start_time=0.000000
> duration_ts=6573
> duration=10.955000
> bit_rate=17150952
> max_bit_rate=N/A
> bits_per_raw_sample=8
> nb_frames=263
> nb_read_frames=N/A
> nb_read_packets=N/A
> DISPOSITION:default=1
> DISPOSITION:dub=0
> DISPOSITION:original=0
> DISPOSITION:comment=0
> DISPOSITION:lyrics=0
> DISPOSITION:karaoke=0
> DISPOSITION:forced=0
> DISPOSITION:hearing_impaired=0
> DISPOSITION:visual_impaired=0
> DISPOSITION:clean_effects=0
> DISPOSITION:attached_pic=0
> DISPOSITION:timed_thumbnails=0
> TAG:rotate=180
> TAG:creation_time=2016-03-14T08:26:08.000000Z
> TAG:language=und
> TAG:handler_name=Core Media Video
> TAG:encoder=H.264
> [SIDE_DATA]
> side_data_type=Display Matrix
> displaymatrix=
> 00000000:       -65536           0           0
> 00000001:            0      -65536           0
> 00000002:    125829120    70778880  1073741824
>
> rotation=-180
> [/SIDE_DATA]
> [/STREAM]
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190605/48bc7ad4/attachment.html>


More information about the gstreamer-devel mailing list