mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-26 17:32:06 +00:00
301f6da039
This generalizes the previous work on disposition printing. Disposition flags are shown in a dedicated section, which should improve output intellegibility, extensibility and filtering operations. This breaks output syntax with the recently introduced disposition printing.
199 lines
10 KiB
XML
199 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
targetNamespace="http://www.ffmpeg.org/schema/ffprobe"
|
|
xmlns:ffprobe="http://www.ffmpeg.org/schema/ffprobe">
|
|
|
|
<xsd:element name="ffprobe" type="ffprobe:ffprobeType"/>
|
|
|
|
<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" />
|
|
<xsd:element name="program_version" type="ffprobe:programVersionType" minOccurs="0" maxOccurs="1" />
|
|
<xsd:element name="library_versions" type="ffprobe:libraryVersionsType" minOccurs="0" maxOccurs="1" />
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="packetsType">
|
|
<xsd:sequence>
|
|
<xsd:element name="packet" type="ffprobe:packetType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</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" />
|
|
<xsd:attribute name="pts" type="xsd:long" />
|
|
<xsd:attribute name="pts_time" type="xsd:float" />
|
|
<xsd:attribute name="dts" type="xsd:long" />
|
|
<xsd:attribute name="dts_time" type="xsd:float" />
|
|
<xsd:attribute name="duration" type="xsd:long" />
|
|
<xsd:attribute name="duration_time" type="xsd:float" />
|
|
<xsd:attribute name="convergence_duration" type="xsd:long" />
|
|
<xsd:attribute name="convergence_duration_time" type="xsd:float" />
|
|
<xsd:attribute name="size" type="xsd:long" use="required" />
|
|
<xsd:attribute name="pos" type="xsd:long" />
|
|
<xsd:attribute name="flags" type="xsd:string" use="required" />
|
|
<xsd:attribute name="data" type="xsd:string" />
|
|
</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_duration" type="xsd:long" />
|
|
<xsd:attribute name="pkt_duration_time" type="xsd:float"/>
|
|
<xsd:attribute name="pkt_pos" type="xsd:long" />
|
|
|
|
<!-- audio attributes -->
|
|
<xsd:attribute name="sample_fmt" type="xsd:string"/>
|
|
<xsd:attribute name="nb_samples" type="xsd:long" />
|
|
<xsd:attribute name="channels" type="xsd:int" />
|
|
<xsd:attribute name="channel_layout" type="xsd:string"/>
|
|
|
|
<!-- 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"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="streamDispositionType">
|
|
<xsd:attribute name="default" type="xsd:int" use="required" />
|
|
<xsd:attribute name="dub" type="xsd:int" use="required" />
|
|
<xsd:attribute name="original" type="xsd:int" use="required" />
|
|
<xsd:attribute name="comment" type="xsd:int" use="required" />
|
|
<xsd:attribute name="lyrics" type="xsd:int" use="required" />
|
|
<xsd:attribute name="karaoke" type="xsd:int" use="required" />
|
|
<xsd:attribute name="forced" type="xsd:int" use="required" />
|
|
<xsd:attribute name="hearing_impaired" type="xsd:int" use="required" />
|
|
<xsd:attribute name="visual_impaired" type="xsd:int" use="required" />
|
|
<xsd:attribute name="clean_effects" type="xsd:int" use="required" />
|
|
<xsd:attribute name="attached_pic" type="xsd:int" use="required" />
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="streamType">
|
|
<xsd:sequence>
|
|
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
|
|
</xsd:sequence>
|
|
|
|
<xsd:attribute name="index" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="codec_name" type="xsd:string" />
|
|
<xsd:attribute name="codec_long_name" type="xsd:string" />
|
|
<xsd:attribute name="profile" type="xsd:string" />
|
|
<xsd:attribute name="codec_type" type="xsd:string" />
|
|
<xsd:attribute name="codec_time_base" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="codec_tag" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="codec_tag_string" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="extradata" type="xsd:string" />
|
|
|
|
<!-- video attributes -->
|
|
<xsd:attribute name="width" type="xsd:int"/>
|
|
<xsd:attribute name="height" type="xsd:int"/>
|
|
<xsd:attribute name="has_b_frames" type="xsd:int"/>
|
|
<xsd:attribute name="sample_aspect_ratio" type="xsd:string"/>
|
|
<xsd:attribute name="display_aspect_ratio" type="xsd:string"/>
|
|
<xsd:attribute name="pix_fmt" type="xsd:string"/>
|
|
<xsd:attribute name="level" type="xsd:int"/>
|
|
<xsd:attribute name="timecode" type="xsd:string"/>
|
|
|
|
<!-- audio attributes -->
|
|
<xsd:attribute name="sample_fmt" type="xsd:string"/>
|
|
<xsd:attribute name="sample_rate" type="xsd:int"/>
|
|
<xsd:attribute name="channels" type="xsd:int"/>
|
|
<xsd:attribute name="bits_per_sample" type="xsd:int"/>
|
|
|
|
<xsd:attribute name="id" type="xsd:string"/>
|
|
<xsd:attribute name="r_frame_rate" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="avg_frame_rate" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="time_base" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="start_pts" type="xsd:long"/>
|
|
<xsd:attribute name="start_time" type="xsd:float"/>
|
|
<xsd:attribute name="duration_ts" type="xsd:long"/>
|
|
<xsd:attribute name="duration" type="xsd:float"/>
|
|
<xsd:attribute name="bit_rate" type="xsd:int"/>
|
|
<xsd:attribute name="nb_frames" type="xsd:int"/>
|
|
<xsd:attribute name="nb_read_frames" type="xsd:int"/>
|
|
<xsd:attribute name="nb_read_packets" type="xsd:int"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="formatType">
|
|
<xsd:sequence>
|
|
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
|
|
<xsd:attribute name="filename" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="format_name" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="format_long_name" type="xsd:string"/>
|
|
<xsd:attribute name="start_time" type="xsd:float"/>
|
|
<xsd:attribute name="duration" type="xsd:float"/>
|
|
<xsd:attribute name="size" type="xsd:long"/>
|
|
<xsd:attribute name="bit_rate" type="xsd:long"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="tagType">
|
|
<xsd:attribute name="key" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="errorType">
|
|
<xsd:attribute name="code" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="string" type="xsd:string" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="programVersionType">
|
|
<xsd:attribute name="version" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="copyright" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="build_date" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="build_time" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="compiler_type" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="compiler_version" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="libraryVersionType">
|
|
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="major" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="minor" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="micro" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="version" type="xsd:int" use="required"/>
|
|
<xsd:attribute name="ident" type="xsd:string" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="libraryVersionsType">
|
|
<xsd:sequence>
|
|
<xsd:element name="library_version" type="ffprobe:libraryVersionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
</xsd:schema>
|