GNOME Bugzilla – Bug 648343
Video fade causes Theora Y444 output instead of I420
Last modified: 2014-11-06 20:30:33 UTC
I'm working on a video that I'm rendering to OGG Theora. If the video has any fades (using the video "levels" in the timeline), the rendered video is in the Y444 colorspace (no chroma subsampling). This colorspace isn't as well supported (eg Chromium displays it all crazy), and as PiTiVi doesn't let you choose the colorspace anyway, this is certainly a bug... output should be in I420. If I change the mixer so that there is no fade anywhere in timeline, then output is I420 (same edit, just making this change). You can confirm the colorspace using the `ogginfo` command line tool. For example, video with fade: """ jderose@jgd-ws:~/bzr/whatsnew$ ogginfo whatsnew2.ogv Processing file "whatsnew2.ogv"... New logical stream (#1, serial: 4f220126): type theora Theora headers parsed for stream 1, information follows... Version: 3.2.1 Vendor: Xiph.Org libtheora 1.1+ 20100314 (Ptalarbvorm) Width: 960 Height: 540 Total image: 960 by 544, crop offset (0, 4) Framerate 25/1 (25.00 fps) Pixel aspect ratio 1:1 (1.000000:1) Frame aspect 16:9 Colourspace unspecified Pixel format 4:4:4 Target bitrate: 0 kbps Nominal quality setting (0-63): 52 Theora stream 1: Total data length: 4758512 bytes Playback length: 1m:26.280s Average bitrate: 441.215763 kb/s Logical stream 1 ended """ Same edit without the fade: """ jderose@jgd-ws:~/bzr/whatsnew$ ogginfo whatsnew3.ogv Processing file "whatsnew3.ogv"... New logical stream (#1, serial: 5e8ba4ba): type theora Theora headers parsed for stream 1, information follows... Version: 3.2.1 Vendor: Xiph.Org libtheora 1.1+ 20100314 (Ptalarbvorm) Width: 960 Height: 540 Total image: 960 by 544, crop offset (0, 4) Framerate 25/1 (25.00 fps) Pixel aspect ratio 1:1 (1.000000:1) Frame aspect 16:9 Colourspace unspecified Pixel format 4:2:0 Target bitrate: 0 kbps Nominal quality setting (0-63): 52 Theora stream 1: Total data length: 3537608 bytes Playback length: 1m:26.280s Average bitrate: 328.011868 kb/s Logical stream 1 ended """ This is possibly a bug in GStreamer (ffmpegcolorspace or colorspace come to mind), and also possibly specific to the version of GStreamer and plugins in Ubuntu Natty: https://bugs.launchpad.net/ubuntu/+source/pitivi/+bug/766716
Created attachment 186403 [details] freshstart.xptv This is the edit in question. I'll have to experiment some, but one thing about this edit that could be causing problems is the source clips are in a number of different resolutions and aspect ratios, which I imagine could effect how the caps get negotiated as far as videoscale, colorspace, etc.
Hi, thanks for this report. This is very interesting. This report makes sense. Pitivi normally does the minimum number of conversions possible, and also preserves quality as much as possible. This means if the input is I420, and nothing forces that to change, and the output (theoraenc) supports I420 (which it does), then the output will be I420 (same as the input). Applying fades/dissolves in Pitivi uses transparency, which in gstreamer requires the AYUV colorspace. This is a 4:4:4 colorspace. After this conversion, the rest of the pipeline remains 4:4:4 to avoid unnecessary conversions ... and theoraenc supports 4:4:4, so that's the output. 4:4:4 is a mandatory part of the Theora spec, so the bug here is really in Chrome (or any player that doesn't play 4:4:4). However, it's true that we don't provide the user any way to control the output chroma subsampling, and it may change in unexpected ways. Arguably, we should provide controls for advanced users to choose the color representation ... or just force all outputs to one representation for each encoder. (We can't choose one representation for all encoders if want to support, say, PNG.) Ideally, users shouldn't have to worry about this ... so I think we'd prefer to fix the players!
Hi there, As Pitivi 0.91 has now been released, we would like to encourage you to test it. It is quite possible that your issue is fixed in this version, as it is a very significant technical overhaul compared to the 0.15 series. Read more about the 0.91 release here: http://wiki.pitivi.org/wiki/0.91 If you can reproduce this bug against 0.91 or newer (such as the git version), please update this bug report accordingly with detailed instructions to reproduce the bug, updated sample files/projects in xges format, etc. Drop by our IRC channel if you need help getting started or want to help out! Thanks!