manpagez: man pages & more
html files: gst-plugins-bad-plugins-1.0
Home | html | info | man

ttmlparse

ttmlparse

Types and Values

struct GstTtmlParse

Description

Parses timed text subtitle files described using Timed Text Markup Language (TTML). Currently, only the EBU-TT-D profile of TTML, designed for distribution of subtitles over IP, is supported.

The parser outputs a GstBuffer for each scene in the input TTML file, a scene being a period of time during which a static set of subtitles should be visible. The parser places each text element within a scene into its own GstMemory within the scene's buffer, and attaches metadata to the buffer describing the styling and layout associated with all the contained text elements. A downstream renderer element uses this information to correctly render the text on top of video frames.

Example launch lines

1
gst-launch-1.0 filesrc location=<media file location> ! video/quicktime ! qtdemux name=q ttmlrender name=r q. ! queue ! h264parse ! avdec_h264 ! autovideoconvert ! r.video_sink filesrc location=<subtitle file location> blocksize=16777216 ! queue ! ttmlparse ! r.text_sink r. ! ximagesink q. ! queue ! aacparse ! avdec_aac ! audioconvert ! alsasink
Parse and render TTML subtitles contained in a single XML file over an MP4 stream containing H.264 video and AAC audio.

Synopsis

Element Information

plugin

ttmlsubs

author

GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>, Chris Bass <dash@rd.bbc.co.uk>

class

Codec/Parser/Subtitle

Element Pads

name

sink

direction

sink

presence

always

details

application/ttml+xml

name

src

direction

source

presence

always

details

text/x-raw(meta:GstSubtitleMeta)

Functions

Types and Values

struct GstTtmlParse

struct GstTtmlParse {
  GstElement element;

  GstPad *sinkpad, *srcpad;

  /* contains the input in the input encoding */
  GstAdapter *adapter;
  /* contains the UTF-8 decoded input */
  GString *textbuf;

  /* seek */
  guint64 offset;

  /* Segment */
  GstSegment    segment;
  gboolean      need_segment;

  gboolean valid_utf8;
  gchar   *detected_encoding;
  gchar   *encoding;

  gboolean first_buffer;
};
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.