GStreamer can't decode Canon XF705 H265 10bit MXF video
David Manpearl
david at gnarbox.com
Fri Jul 26 18:43:25 UTC 2019
I have been unable to decode H265 10-bit MXF formats from Canon XF705 using GStreamer v1.14.1
My goal is to transcode into H264 with a GStreamer pipeline something like this (link to input video file is below):
gst-launch-1.0 filesrc location=A003C002H1901045W_CANON.MXF ! qtdemux ! h265parse ! avdec_h265 ! videoconvert ! videoscale ! video/x-raw,width=1280,height=720 ! x264enc ! h264parse ! queue ! mp4mux ! filesink location=video.mp4
Setting pipeline to PAUSED, PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: This file is invalid and cannot be played.
Additional debug info:
qtdemux.c(747): gst_qtdemux_pull_atom (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
atom has bogus size 101591860
ERROR: pipeline doesn't want to preroll.
I have had similar errors with decodebin, qtdemux, mxfdemux, and avdemux_mxf as in the examples below.
Here are some of the pipelines I have unsuccessfully tried:
gst-launch-1.0 -v filesrc location=A003C002H1901045W_CANON.MXF ! qtdemux ! fakesink
Setting pipeline to PAUSED, PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: This file is invalid and cannot be played.
Additional debug info:
qtdemux.c(747): gst_qtdemux_pull_atom (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
atom has bogus size 101591860
ERROR: pipeline doesn't want to preroll.
gst-launch-1.0 -v filesrc location=A003C002H1901045W_CANON.MXF ! mxfdemux ! h265parse ! fakesink
Setting pipeline to PAUSED, PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/GstMXFDemux:mxfdemux0: Delayed linking failed.
Additional debug info:
./grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstMXFDemux:mxfdemux0:
failed delayed linking some pad of GstMXFDemux named mxfdemux0 to some pad of GstH265Parse named h265parse0
ERROR: from element /GstPipeline:pipeline0/GstMXFDemux:mxfdemux0: Internal data stream error.
Additional debug info:
mxfdemux.c(3257): gst_mxf_demux_loop (): /GstPipeline:pipeline0/GstMXFDemux:mxfdemux0:
ERROR: pipeline doesn't want to preroll.
gst-launch-1.0 -v filesrc location=A003C002H1901045W_CANON.MXF ! avdemux_mxf ! fakesink
Setting pipeline to PAUSED, PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/avdemux_mxf:avdemux_mxf0: Delayed linking failed.
Additional debug info:
./grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/avdemux_mxf:avdemux_mxf0:
failed delayed linking some pad of avdemux_mxf named avdemux_mxf0 to some pad of GstFakeSink named fakesink0
ERROR: from element /GstPipeline:pipeline0/avdemux_mxf:avdemux_mxf0: Internal data stream error.
Additional debug info:
gstavdemux.c(1590): gst_ffmpegdemux_loop (): /GstPipeline:pipeline0/avdemux_mxf:avdemux_mxf0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Example file download: https://www.dropbox.com/sh/q5m7cxgneq5z5h3/AAAh-d3FdhouZ2bFv2FajR18a?dl=0
(note: Adobe Premiere can decode this file. Quicktime and VLC cannot)
Here are some stats on this file:
ffprobe -hide_banner -show_format -show_streams -print_format json A003C002H1901045W_CANON.MXF
Metadata:
uid : 3b6f6487-8405-4901-802e-242719000075
generation_uid : 3b6f6487-8405-4903-802e-242719000075
company_name : CANON
product_name : XF705
product_version : 1.00
product_uid : 060e2b34-0401-010d-0e15-005658460400
Duration: 00:00:16.02, start: 0.000000, bitrate: 157466 kb/s
Stream #0:0: Video: none, none(progressive), 3840x2160, SAR 1:1 DAR 16:9,
9.94 fps, 59.94 tbr, 59.94 tbn, 59.94 tbc
"codec_type": "video",
"codec_tag": "0x0000",
"width": 3840,
"height": 2160,
"has_b_frames": 0,
"r_frame_rate": "60000/1001",
mediainfo A003C002H1901045W_CANON.MXF
Format : MXF
Format version : 1.3
Format profile : OP-1a
Writing application : CANON XF705 1.00
Codec ID : 0E15000402100001-0E15000500013000
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 10 bits
Scan type : Progressive
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190726/cee2d046/attachment-0001.html>
More information about the gstreamer-devel
mailing list