[FFmpeg-devel,0/2] TTML in MP4, part 1

Message ID 20210622065434.9006-1-jeebjp@gmail.com
Headers show


Jan Ekström June 22, 2021, 6:54 a.m. UTC
To keep it simpler this first part includes only non-fragmented use
cases. Contains the basic mapping code as well as the function that
writes out the squashed documents.

Works with both subtitle-only output as well as with other streams.
Currently attempts to see the lengthiest streams in the mux, while
also limiting itself to start at timestamp zero.

In a separate patch set I will add additional complexity on top
by introducing fragmentation matching based on the other streams in
the mux (since most things that ingest fragmented MP4 with subtitles
want the fragment time ranges to match between the video/audio streams
and subtitles in the mux).


Jan Ekström (2):
  avformat/ttml: split TTML paragraph based or not check into header
  avformat/movenc: add support for TTML muxing

 libavformat/Makefile      |   2 +-
 libavformat/isom.h        |   3 +
 libavformat/movenc.c      | 180 +++++++++++++++++++++++++++-
 libavformat/movenc.h      |   6 +
 libavformat/movenc_ttml.c | 243 ++++++++++++++++++++++++++++++++++++++
 libavformat/movenc_ttml.h |  31 +++++
 libavformat/ttmlenc.c     |   9 +-
 libavformat/ttmlenc.h     |  39 ++++++
 8 files changed, 503 insertions(+), 10 deletions(-)
 create mode 100644 libavformat/movenc_ttml.c
 create mode 100644 libavformat/movenc_ttml.h
 create mode 100644 libavformat/ttmlenc.h