AnsweredAssumed Answered

No video subtitles on imx6 with gstreamer

Question asked by jordan guillot on Nov 4, 2014
Latest reply on Jul 20, 2015 by benhenricksen

Hi community,


I am trying to display subtitles on a imx6 solo based board with gstreamer0.10

The setup is the following:

rootfs built with yocto master-next, image based on fsl-image-multimedia, and MACHINE is imx6solosabresd.conf, linux kernel is 3.10.31 BETA.


I have a video file which contain 6 tracks : 1 video, 3 audio and 2 subtitles which I am streaming in multicast with this command : cvlc --repeat videoHD.raw --sout '#udp{dst=}' --sout-all --sout-keep



I am using the following gstreamer command line to display video and subtitles without audio for the moment:

gst-launch udpsrc multicast-group= port=1234 caps='video/mpegts, systemstream=(boolean)true, packetsize=(int)188'  ! aiurdemux name=demux demux. ! queue ! h264parse ! vpudec low-latency=true ! dvbsuboverlay name=overlay ! imxv4l2sink demux. ! "subpicture/x-dvb" ! queue ! overlay.


In results, I have the following traces and nothing on the HDMI out:


MFW_GST_V4LSINK_PLUGIN 4.0.1 build on Sep 19 2014 16:09:46.
Setting pipeline to PAUSED ...
[INFO]    Product Info: i.MX6Q/D/S
vpudec versions
    plugin: 4.0.1
    wrapper: 1.0.54(VPUWRAPPER_ARM_LINUX Build on Sep 19 2014 16:08:56)
    vpulib: 5.4.26
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
Aiur: 4.0.1
Core: BLN_MAD-MMLAYER_MPG2PARSER_04.04.23  build on Apr 11 2014 07:20:12
  mime: video/mpeg, mpegversion=(int)[1,2]; video/mpegts, systemstream=true; video/x-cdxa
  file: /usr/lib/imx-mm/parser/
New clock: GstSystemClock
Content Info:
    Seekable  : No
    Size(byte): -1

Mpeg2CreateParser:parser created successfully
Movie Info:
    Seekable  : No
    Live      : Yes
    Duration  : 0:00:00.000000000
    ReadMode  : File
    programs    : 1
    Track     : 4

Track 00 [audio_001045] Enabled
    ppid: 1, ppid 69
    Duration: 0:00:00.000000000
    Language: qaa
          audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999
Track 01 [audio_001046] Enabled
    ppid: 1, ppid 70
    Duration: 0:00:00.000000000
    Language: ???
          audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999
Track 02 [audio_001044] Enabled
    ppid: 1, ppid 68
    Duration: 0:00:00.000000000
    Language: ???
          audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999
Track 03 [video_001048] Enabled
    ppid: 1, ppid 72
    Duration: 0:00:00.000000000
    Language: und
          video/x-h264, parsed=(boolean)true, alignment=(string)au, stream-format=(string)
          byte-stream, width=(int)1920, height=(int)1088, framerate=(fraction)30/1
[INFO]    bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
[WARN]    VPU iram is less than needed, some parts don't use iram
set v4l rotate sucessfully
>>V4L_SINK: Actually buffer status:
    hardware buffer : 12
    software buffer : 0
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully

(gst-launch-0.10:731): GStreamer-CRITICAL **: gst_buffer_create_sub: assertion 'buffer->mini_object.refcount > 0' failed

(gst-launch-0.10:731): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object->refcount > 0' failed

** (gst-launch-0.10:731): CRITICAL **: gst_base_parse_push_frame: assertion 'frame->buffer != NULL' failed


I note that the demuxer "aiurdemux" don't see subtitles tracks.


What can cause this kind of problems?