[FFmpeg-devel] [PATCH] ffprobe: add show_entries option

Stefano Sabatini stefasab at gmail.com
Tue Nov 20 00:21:02 CET 2012


On date Thursday 2012-09-13 22:53:56 +0200, Stefano Sabatini encoded:
[...]
> Currently we have this structure:
> 
> format
>   tags
> packets
>   packet
> frames
>   frame
>     tags
> streams
>   stream
>     tags
> library_versions
>   library_version
> program_version
> error
> 
> (possibly missing something, just trying to get an approximate model).
> 
> Every section can be specified in an ambiguous way specifying the path
> (since we basically have a tree structure), and I'm marking
> stream-specific sections with an (S):
> 
> format
> format/tags
> packets
> packets/packet(S)
> frames
> frames/frame(S)
> frames/frame/tags
> streams
> streams/stream(S)
> streams/stream/tags
> library_versions
> library_versions/library_version
> program_version
> error
> 
> When a section is choosen, all the child sections should be selected
> as well.
> 
> For examples, selecting:
> streams
> 
> it should also enable all subsections, that is:
> streams/stream(S)
> streams/stream/tags(S)
> 
> If only streams/stream:v is selected, then only video streams should
> be shown.
> 
> If a section name is ambiguos it could be more tricky. For example if
> the user specify:
> tags
> 
> then it should match all the tags section in the tree, wherever their
> parent dir is.
> 
> Assuming this syntax, it should be possible to specify for example:
> -show_entries "packet:v=pts,pts_time ; frame:v0/tags ; streams:a"
> 
> to show pts and pts_time for video packets, the tags (and only the
> tags) for frames belonging to the first video stream, and all the
> audio streams.
> 
> To disable a subsection, something like this should work:
> -show_entries "streams; stream/tags="
> 
> Note that I changed ":" to ";" to make it possible to use ":" for
> specifying a stream specifier.
> 
> A section name may contain any alphanumeric char and "_", which
> doesn't seem a big limitation.
> 
> I'll try to implement this once we'll settle on the exact
> syntax/semantics (and I'll find the time).

Simplified with the use of unique names.
-- 
FFmpeg = Free & Friendly Moronic Power Elegant God
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-ffprobe-implement-subsection-field-selection.patch
Type: text/x-diff
Size: 20330 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20121120/580d9964/attachment.bin>


More information about the ffmpeg-devel mailing list