After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739254 - Cannot play FFv1 encoded video file
Cannot play FFv1 encoded video file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.2.4
Other Linux
: Normal normal
: git master
Assigned To: Reynaldo H. Verdejo Pinochet
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-10-27 17:21 UTC by Patrick Doyle
Modified: 2015-10-15 17:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add support for FFV1 in MOV (999 bytes, patch)
2015-10-14 23:11 UTC, Reynaldo H. Verdejo Pinochet
accepted-commit_now Details | Review

Description Patrick Doyle 2014-10-27 17:21:50 UTC
I have a (several, actually) video file that was losslessly encoded with FFv1.  avconv reports:

$ avconv -i data/20141022.d.run1000big.movavconv version
9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav
developers
  built on Aug 10 2014 18:16:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'data/20141022.d.run1000big.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf54.20.4
  Duration: 00:05:12.83, start: 0.000000, bitrate: 23789 kb/s
    Stream #0.0(eng): Video: ffv1, gray, 640x480, 23787 kb/s, 30 fps,
30 tbr, 30 tbn
At least one output file must be specified

But when I try to play it using playbin, I get:

$ gst-launch-1.0 playbin uri=file:///.../data/20141022.d.run1000big.mov
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Missing element: video/x-gst-fourcc-FFV1 decoder
WARNING: from element
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder
available for type 'video/x-gst-fourcc-FFV1, width=(int)640,
height=(int)480, framerate=(fraction)30/1,
pixel-aspect-ratio=(fraction)1/1'.
Additional debug info:
gsturidecodebin.c(930): unknown_type_cb ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0
ERROR: from element
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
Your GStreamer installation is missing a plug-in.
Additional debug info:
gstdecodebin2.c(3928): gst_decode_bin_expose ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

The error reported is "No decoder available for type 'video/x-gst-fourcc-FFV1'".

I can reproduce this error on my Ubuntu 14.04 VM with the following:

$ wget http://docs.gstreamer.com/media/sintel_trailer-480p.webm
$ avconv -i sintel_trailer-480p.webm -vcodec ffv1 -an output.mov
$ gst-launch-1.0 playbin uri=file:///home/wpd/bug/output.mov

--wpd
Comment 1 Reynaldo H. Verdejo Pinochet 2015-10-14 23:11:25 UTC
Created attachment 313348 [details] [review]
Add support for FFV1 in MOV

Patrick: Thanks for your report and sorry about the slow reaction. This patch sorting your issue out will likely get to -good soon enough.
Comment 2 Thiago Sousa Santos 2015-10-15 02:54:49 UTC
Review of attachment 313348 [details] [review]:

Looks good.
Comment 3 Reynaldo H. Verdejo Pinochet 2015-10-15 17:47:48 UTC
Thanks for taking a look Thiago. Pushed.

commit 82bffe3eefb1b6305c8154ab4b80786cdf7c9fb2
Author: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Date:   Wed Oct 14 15:42:50 2015 -0700

    qtdemux: add support for FFV1 coded streams in mov
    
    https://bugzilla.gnome.org/show_bug.cgi?id=752495