<div dir="ltr">I was using 1.14.4 ... I will try to upgrade to 1.16.<div><br></div><div>Just to be clear: I am relying on the Windows build for 1.16. Is this change part of the published 1.16 build for windows?</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/">https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/</a></div></blockquote></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 5, 2019 at 3:38 PM Thibault Saunier <<a href="mailto:tsaunier@gnome.org">tsaunier@gnome.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I actually just checked with your file and with 1.16 (which is the version where that feature was introduced) and</div><div><br></div><div> ges-launch-1.0 +clip file:///home/thiblahute/Downloads/rotate-180.mov</div><div><br></div><div>works just fine and rotation is applied as required.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 5, 2019 at 6:35 PM Mathieu Duponchelle <<a href="mailto:mathieu@centricular.com" target="_blank">mathieu@centricular.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hah, nice !<br>
<br>
<div class="gmail-m_3547168681609545433gmail-m_6130254501409421377moz-cite-prefix">On 6/6/19 12:34 AM, Thibault Saunier
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div>GES should do it automatically since <a href="https://gitlab.freedesktop.org/gstreamer/gst-editing-services/commit/77dac21488f2217c9fc0cb7a7bfba1f5c0ef8789" target="_blank">https://gitlab.freedesktop.org/gstreamer/gst-editing-services/commit/77dac21488f2217c9fc0cb7a7bfba1f5c0ef8789</a>
can check if that works:<br>
<br>
</div>
<code><code></code></code></div>
<div>gst-launch-1.0 uridecodebin uri=<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377moz-txt-link-freetext">file://your/file.move</a> !
videoflip ! video-direction=auto ! videoconvert !
autovideosink <br>
</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Thibault<br>
</div>
<div><br>
</div>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Jun 5, 2019 at 6:30
PM Mathieu Duponchelle <<a href="mailto:mathieu@centricular.com" target="_blank">mathieu@centricular.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> GES itself will not do that, as a
standard GES source only uses uridecodebin. The way
image-orientation<br>
works is that the demuxer (qtdemux here) will parse the
tag and forward it downstream. Other elements<br>
such as videoflip can then use it to actually perform the
rotation. See the difference in behaviour between<br>
the following pipelines:<br>
<br>
gst-launch-1.0 uridecodebin uri=<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-freetext">file:///home/meh/Downloads/rotate-180.mov</a>
! xvimagesink<br>
gst-launch-1.0 uridecodebin uri=<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-freetext">file:///home/meh/Downloads/rotate-180.mov</a>
! videoflip video-direction=auto ! xvimagesink<br>
<br>
It could be argued that GES should always add a videoflip
element with video-direction=auto, but for now<br>
you can probably add videoflip as an effect :)<br>
<br>
<div class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-cite-prefix">On
6/5/19 11:24 PM, David Ing wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Also, here is the output of
gst-discoverer-1.0 --verbose
<div><br>
</div>
<div>I highlighted the relevant section which is <span>image
orientation: rotate-180</span>.</div>
<div>
<div><br>
</div>
<div><font face="courier new, monospace">$
gst-discoverer-1.0 --verbose rotate-180.mov<br>
Analyzing <a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-freetext">file:///C:/Users/ding/Desktop/rotate-180.mov</a><br>
Done discovering <a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-freetext">file:///C:/Users/ding/Desktop/rotate-180.mov</a><br>
<br>
Topology:<br>
container: video/quicktime<br>
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<br>
Tags:<br>
audio codec: MPEG-4 AAC audio<br>
maximum bitrate: 64000<br>
bitrate: 64000<br>
datetime: 2016-03-14T08:26:08Z<br>
QT atom: buffer of 34 bytes<br>
container format: Quicktime<br>
<br>
Codec:<br>
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<br>
Additional info:<br>
None<br>
Stream ID:
a2bd37016805819d7874188ad12d70943361aa53b0c7253a2b9813b7f8ab3cb5/002<br>
Language: <unknown><br>
Channels: 1 (unknown layout)<br>
Sample rate: 44100<br>
Depth: 32<br>
Bitrate: 64000<br>
Max bitrate: 64000<br>
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<br>
Tags:<br>
<span style="background-color:rgb(255,255,0)">image
orientation: rotate-180</span><br>
video codec: H.264 / AVC<br>
bitrate: 17149794<br>
datetime: 2016-03-14T08:26:08Z<br>
QT atom: buffer of 34 bytes<br>
container format: Quicktime<br>
<br>
Codec:<br>
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<br>
Additional info:<br>
None<br>
Stream ID:
a2bd37016805819d7874188ad12d70943361aa53b0c7253a2b9813b7f8ab3cb5/001<br>
Width: 1920<br>
Height: 1080<br>
Depth: 24<br>
Frame rate: 24/1<br>
Pixel aspect ratio: 1/1<br>
Interlaced: false<br>
Bitrate: 17149794<br>
Max bitrate: 0<br>
<br>
Properties:<br>
Duration: 0:00:10.955000000<br>
Seekable: yes<br>
Live: no<br>
Tags:<br>
audio codec: MPEG-4 AAC audio<br>
maximum bitrate: 64000<br>
bitrate: 64000<br>
datetime: 2016-03-14T08:26:08Z<br>
QT atom: buffer of 34 bytes<br>
container format: Quicktime<br>
image orientation: rotate-180<br>
video codec: H.264 / AVC<br>
<br>
WARNING: no real random source present!</font><br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Jun 5, 2019
at 12:51 PM David Ing <<a href="mailto:ding@panopto.com" target="_blank">ding@panopto.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">I have an old *.mov file ...
<div><br>
</div>
<div><a href="https://drive.google.com/file/d/1qNm2ISC5qnI3VN0MwemCcb_QjweJAjYF/view?usp=sharing" target="_blank">https://drive.google.com/file/d/1qNm2ISC5qnI3VN0MwemCcb_QjweJAjYF/view?usp=sharing</a><br>
<div><br>
</div>
<div>... 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).</div>
<div><br>
</div>
<div>I am using the file as a GESUriClip inside
of a GESTimeline, and the rotation is not
being applied. It comes through upside-down.</div>
<div><br>
</div>
<div><b>My question is</b>: Is this a bug? Or
am I expected to detect the tags manually and
then modify the "video-direction" property of
GESVideoSource myself?</div>
<div><br>
</div>
<div>---------------------------------</div>
<div>$ <b>ffprobe -v quiet -show_streams
rotate-180.mov</b><br>
[STREAM]<br>
index=0<br>
codec_name=h264<br>
codec_long_name=H.264 / AVC / MPEG-4 AVC /
MPEG-4 part 10<br>
profile=High<br>
codec_type=video<br>
codec_time_base=2191/105200<br>
codec_tag_string=avc1<br>
codec_tag=0x31637661<br>
width=1920<br>
height=1080<br>
coded_width=1920<br>
coded_height=1088<br>
has_b_frames=0<br>
sample_aspect_ratio=N/A<br>
display_aspect_ratio=N/A<br>
pix_fmt=yuv420p<br>
level=41<br>
color_range=tv<br>
color_space=bt709<br>
color_transfer=bt709<br>
color_primaries=bt709<br>
chroma_location=left<br>
field_order=unknown<br>
timecode=N/A<br>
refs=1<br>
is_avc=true<br>
nal_length_size=4<br>
id=N/A<br>
r_frame_rate=24/1<br>
avg_frame_rate=52600/2191<br>
time_base=1/600<br>
start_pts=0<br>
start_time=0.000000<br>
duration_ts=6573<br>
duration=10.955000<br>
bit_rate=17150952<br>
max_bit_rate=N/A<br>
bits_per_raw_sample=8<br>
nb_frames=263<br>
nb_read_frames=N/A<br>
nb_read_packets=N/A<br>
DISPOSITION:default=1<br>
DISPOSITION:dub=0<br>
DISPOSITION:original=0<br>
DISPOSITION:comment=0<br>
DISPOSITION:lyrics=0<br>
DISPOSITION:karaoke=0<br>
DISPOSITION:forced=0<br>
DISPOSITION:hearing_impaired=0<br>
DISPOSITION:visual_impaired=0<br>
DISPOSITION:clean_effects=0<br>
DISPOSITION:attached_pic=0<br>
DISPOSITION:timed_thumbnails=0<br>
<span style="background-color:rgb(255,229,153)">TAG:rotate=180</span><br>
TAG:creation_time=2016-03-14T08:26:08.000000Z<br>
TAG:language=und<br>
TAG:handler_name=Core Media Video<br>
TAG:encoder=H.264<br>
<span style="background-color:rgb(255,229,153)">[SIDE_DATA]<br>
side_data_type=Display Matrix<br>
displaymatrix=<br>
00000000: -65536 0
0<br>
00000001: 0 -65536
0<br>
00000002: 125829120 70778880
1073741824<br>
<br>
rotation=-180<br>
[/SIDE_DATA]</span><br>
[/STREAM]<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<fieldset class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046mimeAttachmentHeader"></fieldset>
<pre class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-quote-pre">_______________________________________________
gstreamer-devel mailing list
<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377gmail-m_-2278308263519352046moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote>
</div>
</div>
<br>
<fieldset class="gmail-m_3547168681609545433gmail-m_6130254501409421377mimeAttachmentHeader"></fieldset>
<pre class="gmail-m_3547168681609545433gmail-m_6130254501409421377moz-quote-pre">_______________________________________________
gstreamer-devel mailing list
<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a class="gmail-m_3547168681609545433gmail-m_6130254501409421377moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
</blockquote>
<br>
<br>
</div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote></div>