1 <?xml version="1.0" encoding="UTF-8"?>
3 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://www.ffmpeg.org/schema/ffprobe"
5 xmlns:ffprobe="http://www.ffmpeg.org/schema/ffprobe">
7 <xsd:element name="ffprobe" type="ffprobe:ffprobeType"/>
9 <xsd:complexType name="ffprobeType">
11 <xsd:element name="packets" type="ffprobe:packetsType" minOccurs="0" maxOccurs="1" />
12 <xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" />
13 <xsd:element name="format" type="ffprobe:formatType" minOccurs="0" maxOccurs="1" />
17 <xsd:complexType name="packetsType">
19 <xsd:element name="packet" type="ffprobe:packetType" minOccurs="0" maxOccurs="unbounded"/>
23 <xsd:complexType name="packetType">
24 <xsd:attribute name="codec_type" type="xsd:string" use="required" />
25 <xsd:attribute name="stream_index" type="xsd:int" use="required" />
26 <xsd:attribute name="pts" type="xsd:long" />
27 <xsd:attribute name="pts_time" type="xsd:float" />
28 <xsd:attribute name="dts" type="xsd:long" />
29 <xsd:attribute name="dts_time" type="xsd:float" />
30 <xsd:attribute name="duration" type="xsd:long" />
31 <xsd:attribute name="duration_time" type="xsd:float" />
32 <xsd:attribute name="size" type="xsd:long" use="required" />
33 <xsd:attribute name="pos" type="xsd:long" />
34 <xsd:attribute name="flags" type="xsd:string" use="required" />
37 <xsd:complexType name="streamsType">
39 <xsd:element name="stream" type="ffprobe:streamType" minOccurs="0" maxOccurs="unbounded"/>
43 <xsd:complexType name="streamType">
44 <xsd:attribute name="index" type="xsd:int" use="required"/>
45 <xsd:attribute name="codec_name" type="xsd:string" />
46 <xsd:attribute name="codec_long_name" type="xsd:string" />
47 <xsd:attribute name="codec_type" type="xsd:string" />
48 <xsd:attribute name="codec_time_base" type="xsd:string" use="required"/>
49 <xsd:attribute name="codec_tag" type="xsd:string" use="required"/>
50 <xsd:attribute name="codec_tag_string" type="xsd:string" use="required"/>
52 <!-- video attributes -->
53 <xsd:attribute name="width" type="xsd:int"/>
54 <xsd:attribute name="height" type="xsd:int"/>
55 <xsd:attribute name="has_b_frames" type="xsd:int"/>
56 <xsd:attribute name="sample_aspect_ratio" type="xsd:string"/>
57 <xsd:attribute name="display_aspect_ratio" type="xsd:string"/>
58 <xsd:attribute name="pix_fmt" type="xsd:string"/>
59 <xsd:attribute name="level" type="xsd:int"/>
60 <xsd:attribute name="timecode" type="xsd:string"/>
62 <!-- audio attributes -->
63 <xsd:attribute name="sample_fmt" type="xsd:string"/>
64 <xsd:attribute name="sample_rate" type="xsd:int"/>
65 <xsd:attribute name="channels" type="xsd:int"/>
66 <xsd:attribute name="bits_per_sample" type="xsd:int"/>
68 <xsd:attribute name="id" type="xsd:string"/>
69 <xsd:attribute name="r_frame_rate" type="xsd:string" use="required"/>
70 <xsd:attribute name="avg_frame_rate" type="xsd:string" use="required"/>
71 <xsd:attribute name="time_base" type="xsd:string" use="required"/>
72 <xsd:attribute name="start_time" type="xsd:float"/>
73 <xsd:attribute name="duration" type="xsd:float"/>
74 <xsd:attribute name="nb_frames" type="xsd:int"/>
77 <xsd:complexType name="formatType">
79 <xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
82 <xsd:attribute name="filename" type="xsd:string" use="required"/>
83 <xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
84 <xsd:attribute name="format_name" type="xsd:string" use="required"/>
85 <xsd:attribute name="format_long_name" type="xsd:string" use="required"/>
86 <xsd:attribute name="start_time" type="xsd:float"/>
87 <xsd:attribute name="duration" type="xsd:float"/>
88 <xsd:attribute name="size" type="xsd:long"/>
89 <xsd:attribute name="bit_rate" type="xsd:long"/>
92 <xsd:complexType name="tagType">
93 <xsd:attribute name="key" type="xsd:string" use="required"/>
94 <xsd:attribute name="value" type="xsd:string" use="required"/>