[FFmpeg-devel] Format for fast extraction (was: [PATCH] Dynamic plugins loading)
Jean-Daniel Dupas
devlists
Wed Nov 3 01:06:53 CET 2010
Le 2 nov. 2010 ? 22:09, Nicolas George a ?crit :
> Le duodi 12 brumaire, an CCXIX, Michael Niedermayer a ?crit :
>> ffmpeg -i blah /dev/stdout | split ...
>> ?
>
> And what do I do with the files produces by split? I can do nothing useful
> with them without concatenating them again. I need to be able to play them
> as a single file.
>
> What I need, and what my custom format allows, is this:
>
> (1) I have "recording.xxx", 6 Go, I can "mplayer recording.xxx" and play it
> absolutely normally, including seeking.
>
> (2) I can extract (using timestamps I found with any suitable interface) two
> parts "program1.xxx" and "program2.xxx", 2 Go each.
>
> (3) I can "mplayer programN.xxx" to check that nothing is wrong, and play
> them absolutely normally, including seeking.
>
> (4) I can then remove recording.xxx.
>
> With the following requirements:
>
> (A) Step (2) must be fast. Copying 2 Go of data for each extraction is not
> acceptable.
>
> (B) Step (4) must give me back the disk space corresponding to the parts of
> the video I do not keep.
>
> (C) (optionally) During step (3), disk space should not grow to much, actual
> data should be mostly shared between recording.xxx and programN.xxx.
> Actually, (C) is probably a direct consequence of (A).
>
> [?]
>
> (1) Use any concatenable, headerless format, and use something like FUSE to
> make the small files appear as a single big file.
>
> (2) Use any concatenable, headerless format, and design a custom URLProtocol
> that virtually concatenates files.
>
> (3) Design a format and the corresponding AVInputFormat.
>
(4) Using MPEG-4 and external references instead of rewriting a format from scratch.
-- Jean-Daniel
More information about the ffmpeg-devel
mailing list