[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