[FFmpeg-devel] Why the tag “DURATION” is a necessity in Matroska files?

Tobias Rapp t.rapp at noa-archive.com
Mon Jun 19 10:38:19 EEST 2017


On 19.06.2017 02:04, 21naown at gmail.com wrote:
> Le 18/06/2017 à 00:57, Sasi Inguva a écrit :
>> Hi,
>>
>> I was the one who made that change. We needed a way to obtain individual
>> stream durations from a  Matroska file without reading the entire file. I
>> don't think it adds to the file size greatly (< 50 bytes) compared to the
>> size of video and audio data, hence I didn't hide it under an option.
>> However if u really need it I can add an option.
>>
>
> Hello,
>
> Yes the size required for the tag “DURATION” is insignificant, but it is
> preferable to have a choice with this tag like mkvmerge partially does
> (because by default “--enable-durations” is enabled, maybe because it is
> a part of “statistics-tags”, but we can disable them with
> “--disable-track-statistics-tags”) and because the end user and his
> software do not require it.
>
> Yes if you can move the tag “DURATION” as an optional tag—so an argument
> is needed to enable it, I will be grateful to you.

I disagree to this tag writing being opt-in. It requires marginal 
runtime and storage space resources to write a duration field. The 
application used for playback might change or even a new version of the 
same application might make use of the tag. So it would be better to 
enable it by default.

And for the tag writing being opt-out: Maintaining code also has some 
cost. As far as I understand this option would just be required for some 
aesthetic reason, thus I don't think it's worth adding that maintenance 
cost by implementing code to make this tag opt-out.

Just my personal thoughts.

Tobias



More information about the ffmpeg-devel mailing list