On Wed, Jul 29, 2015 at 11:14 PM, Jerome Martinez <jer...@mediaarea.net> wrote:
> Le 29/07/2015 22:41, Hendrik Leppkes a écrit :
>>
>> On Wed, Jul 29, 2015 at 8:15 PM, Sasi Inguva <is...@google.com> wrote:
>>>
>>> @Reimar:
>>> True about the stream duration being wrong if stream timestamp does not
>>> start at 0 . I just duplicated the logic to compute the total duration.
>>> In
>>> which case, the total duration as it is computed now, is also wrong.
>>> Printing the durations out in the logs, and then parsing the logs to get
>>> the stream durations would require a big architectural change on my side.
>>> It would be far more convenient if I could get the stream durations from
>>> AVStream object.
>>>
>>> FFmpeg does write one seek entry for every cluster in the end of the
>>> file.
>>> I could possibly seek to  all the cluster seek entries, then try to find
>>> the last cluster for each track. But in the worst case, even this would
>>>   translate to demuxing of whole file because, suppose the audio is small
>>> enough to totally fit in one cluster , but the start of the cluster is a
>>> video packet to make sure that I have got the end of the audio stream I
>>> have to parse the whole cluster. Also it seems very complicated logic to
>>> determine the durations.
>>>
>>>
>> Still writing metadata to every single mkv muxed with ffmpeg to fix
>> your specific use-case seems rather terrible.
>> We shouldn't be writing extra metadata to serve one special use-case,
>> just so you can avoid a bit of code shuffling on your end.
>>
>> If you can clarify how this could be useful genericall, we might
>> consider it differently.
>
>
>
> Lot of people wish to have duration per stream in order to check that the
> transcoding did not change the duration of each stream (each stream may have
> different duration) or to get some more precise information about the file
> they receive (for example, some people want to reject files which do not
> have the same video and audio duration).
>
> I, as the developer of a tool which read such kind of metadata, am often
> asked to provide such information per stream for Matroska/WebM files, from
> different users, unfortunately I can not provide specific use case, I can
> only say it is a common request.
>
> But such request is usually binded with more metadata: data rate, count of
> bytes and count of frames. FLV (OP talked about FLV) metadata usually
> permits to get bit rate per stream (which is the most requested metadata on
> my side, which is not possible to get without additional metadata in
> Matroska when there is e.g. AVC and DTS-HD, 2 streams with variable
> bitrate).
> Additionally, mkvmerge already add such metadata since a couple of versions,
> I guess it is also due to a request from different users.
>
> That said, I don't like, as the developer of a tool which will read such
> added metadata, to have different methods for embedding such metadata.
> Why not using the same method and values (BPS, DURATION, NUMBER_OF_FRAMES,
> NUMBER_OF_BYTES, _STATISTICS_WRITING_APP, _STATISTICS_WRITING_DATE_UTC tags,
> non binary) as mkvmerge in order to have something which could be useful
> more generically?
>

I agree, if anything it should write values compatible to mkvmerge, if
mkvmerge already writes similar things.

- Hendrik
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to