diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
index d9c93920609c364e53aa6f9f3c406378725dca36..d9c6655464b9299e2e42b89e1e07e7c48ddf0b2e 100644
--- a/doc/ffprobe.xsd
+++ b/doc/ffprobe.xsd
@@ -59,6 +59,7 @@
       <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" />
+      <xsd:attribute name="pkt_size"      type="xsd:int" />
 
       <!-- audio attributes -->
       <xsd:attribute name="sample_fmt"             type="xsd:string"/>
diff --git a/ffprobe.c b/ffprobe.c
index 84dfa19643affc9d74048ceaa44b61ac059bfe07..a98344b8b20dc067b15c79d4030581b6b4b47e99 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1476,6 +1476,8 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
     print_duration_time("pkt_duration_time", frame->pkt_duration, &stream->time_base);
     if (frame->pkt_pos != -1) print_fmt    ("pkt_pos", "%"PRId64, frame->pkt_pos);
     else                      print_str_opt("pkt_pos", "N/A");
+    if (frame->pkt_size != -1) print_fmt    ("pkt_size", "%d", av_frame_get_pkt_size(frame));
+    else                       print_str_opt("pkt_size", "N/A");
 
     switch (stream->codec->codec_type) {
         AVRational sar;