[FFmpeg-devel] [PATCH] Compute individual stream durations in matroska muxer. Write them as binary tags. Parse the binary tags in matroska demuxer, and write them to AVStream

Sasi Inguva isasi at google.com
Wed Jul 29 03:10:05 CEST 2015


A little context on why I need this. I use individual stream durations to
validate , if the outputs after transcoding have the same stream durations.
For this we need to know the stream durations through a quick parse of the
header of the file, since demuxing the whole file is too slow. We can have
some video files, for example slide show videos etc. , where audio might be
of short duration and video very long, so it is not always the case that
video and audio of our input will be of the same duration.

I see that FLV container stores the duration of the whole file, as an
optional metadata,
http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/flvenc.c;h=e217ba8a826cc5312adf306725662127414c807f;hb=refs/heads/master#l226
.
http://www.adobe.com/content/dam/Adobe/en/devnet/flv/pdfs/video_file_format_spec_v10.pdf
- Page 15 .

I don't know much about other containers but MP4,MOV,AVI all have specific
header items to describe individual stream durations.

On Tue, Jul 28, 2015 at 1:38 PM, Hendrik Leppkes <h.leppkes at gmail.com>
wrote:

> On Tue, Jul 28, 2015 at 9:39 PM, Sasi Inguva <isasi at google.com> wrote:
> > Signed-off-by: Sasi Inguva <isasi at google.com>
> > ---
> >  libavformat/matroska.h       |  1 +
> >  libavformat/matroskadec.c    | 21 +++++++++++++-
> >  libavformat/matroskaenc.c    | 66
> ++++++++++++++++++++++++++++++++++++++------
> >  tests/fate/wavpack.mak       |  4 +--
> >  tests/ref/acodec/tta         |  4 +--
> >  tests/ref/fate/binsub-mksenc |  2 +-
> >  tests/ref/lavf/mkv           |  8 +++---
> >  tests/ref/seek/lavf-mkv      | 44 ++++++++++++++---------------
> >  8 files changed, 109 insertions(+), 41 deletions(-)
> >
>
> What is this good for?
> Is there any precedence for these tags in other muxers or demuxers?
>
> It seems like a rather unclean solution to whatever your problem is.
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list