diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2012-01-05 01:04:14 +0100 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2012-01-07 22:26:46 +0100 |
commit | 9997d41672478424b6ef8dfd924b8e9192f750c0 (patch) | |
tree | e3d59e71918deef3ed7671501d9801f314b695c9 /doc | |
parent | 78c47e0a1ef15ae6d12d7494b3757e334c70759e (diff) | |
download | ffmpeg-9997d41672478424b6ef8dfd924b8e9192f750c0.tar.gz |
ffprobe: add support to video frame information printing
Add -show_frames option to ffprobe.
Partially based on the work of Thomas Kuehnel <kuehnelth@googlemail.com>
for SOCIS 2011.
The wicked idea of creating a special "packets_and_frames" container for
structured formats (JSON and XML) comes from Clément.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ffprobe.texi | 7 | ||||
-rw-r--r-- | doc/ffprobe.xsd | 32 |
2 files changed, 39 insertions, 0 deletions
diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi index 2a9b73f7cd..a49c3f803c 100644 --- a/doc/ffprobe.texi +++ b/doc/ffprobe.texi @@ -113,6 +113,13 @@ stream. The information for each single packet is printed within a dedicated section with name "PACKET". +@item -show_frames +Show information about each video frame contained in the input multimedia +stream. + +The information for each single frame is printed within a dedicated +section with name "FRAME". + @item -show_streams Show information about each media stream contained in the input multimedia stream. diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd index 93da1d4429..d6947649ff 100644 --- a/doc/ffprobe.xsd +++ b/doc/ffprobe.xsd @@ -9,6 +9,7 @@ <xsd:complexType name="ffprobeType"> <xsd:sequence> <xsd:element name="packets" type="ffprobe:packetsType" minOccurs="0" maxOccurs="1" /> + <xsd:element name="frames" type="ffprobe:framesType" minOccurs="0" maxOccurs="1" /> <xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" /> <xsd:element name="format" type="ffprobe:formatType" minOccurs="0" maxOccurs="1" /> <xsd:element name="error" type="ffprobe:errorType" minOccurs="0" maxOccurs="1" /> @@ -21,6 +22,12 @@ </xsd:sequence> </xsd:complexType> + <xsd:complexType name="framesType"> + <xsd:sequence> + <xsd:element name="frame" type="ffprobe:frameType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="packetType"> <xsd:attribute name="codec_type" type="xsd:string" use="required" /> <xsd:attribute name="stream_index" type="xsd:int" use="required" /> @@ -35,6 +42,31 @@ <xsd:attribute name="flags" type="xsd:string" use="required" /> </xsd:complexType> + <xsd:complexType name="frameType"> + <xsd:attribute name="media_type" type="xsd:string" use="required"/> + <xsd:attribute name="key_frame" type="xsd:int" use="required"/> + <xsd:attribute name="pts" type="xsd:long" /> + <xsd:attribute name="pts_time" type="xsd:float"/> + <xsd:attribute name="pkt_pts" type="xsd:long" /> + <xsd:attribute name="pkt_pts_time" type="xsd:float"/> + <xsd:attribute name="pkt_dts" type="xsd:long" /> + <xsd:attribute name="pkt_dts_time" type="xsd:float"/> + <xsd:attribute name="pkt_pos" type="xsd:long" /> + + <!-- video attributes --> + <xsd:attribute name="width" type="xsd:long" /> + <xsd:attribute name="height" type="xsd:long" /> + <xsd:attribute name="pix_fmt" type="xsd:string"/> + <xsd:attribute name="sample_aspect_ratio" type="xsd:string"/> + <xsd:attribute name="pict_type" type="xsd:string"/> + <xsd:attribute name="coded_picture_number" type="xsd:long" /> + <xsd:attribute name="display_picture_number" type="xsd:long" /> + <xsd:attribute name="interlaced_frame" type="xsd:int" /> + <xsd:attribute name="top_field_first" type="xsd:int" /> + <xsd:attribute name="repeat_pict" type="xsd:int" /> + <xsd:attribute name="reference" type="xsd:int" /> + </xsd:complexType> + <xsd:complexType name="streamsType"> <xsd:sequence> <xsd:element name="stream" type="ffprobe:streamType" minOccurs="0" maxOccurs="unbounded"/> |