This file is indexed.

/usr/share/doc/ffmpeg/manual/ffprobe.html is in ffmpeg-doc 7:3.4.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  <head>
    <meta charset="utf-8">
    <title>
      ffprobe Documentation
    </title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="style.min.css">
  </head>
  <body>
    <div class="container">
      <h1>
      ffprobe Documentation
      </h1>
<div align="center">
</div>


<a name="SEC_Top"></a>

<a name="SEC_Contents"></a>
<h2 class="contents-heading">Table of Contents</h2>

<div class="contents">

<ul class="no-bullet">
  <li><a name="toc-Synopsis" href="#Synopsis">1 Synopsis</a></li>
  <li><a name="toc-Description" href="#Description">2 Description</a></li>
  <li><a name="toc-Options" href="#Options">3 Options</a>
  <ul class="no-bullet">
    <li><a name="toc-Stream-specifiers-1" href="#Stream-specifiers-1">3.1 Stream specifiers</a></li>
    <li><a name="toc-Generic-options" href="#Generic-options">3.2 Generic options</a></li>
    <li><a name="toc-AVOptions" href="#AVOptions">3.3 AVOptions</a></li>
    <li><a name="toc-Main-options" href="#Main-options">3.4 Main options</a></li>
  </ul></li>
  <li><a name="toc-Writers" href="#Writers">4 Writers</a>
  <ul class="no-bullet">
    <li><a name="toc-default" href="#default">4.1 default</a></li>
    <li><a name="toc-compact_002c-csv" href="#compact_002c-csv">4.2 compact, csv</a></li>
    <li><a name="toc-flat" href="#flat">4.3 flat</a></li>
    <li><a name="toc-ini" href="#ini">4.4 ini</a></li>
    <li><a name="toc-json" href="#json">4.5 json</a></li>
    <li><a name="toc-xml" href="#xml">4.6 xml</a></li>
  </ul></li>
  <li><a name="toc-Timecode" href="#Timecode">5 Timecode</a></li>
  <li><a name="toc-See-Also" href="#See-Also">6 See Also</a></li>
  <li><a name="toc-Authors" href="#Authors">7 Authors</a></li>
</ul>
</div>


<a name="Synopsis"></a>
<h2 class="chapter">1 Synopsis<span class="pull-right"><a class="anchor hidden-xs" href="#Synopsis" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Synopsis" aria-hidden="true">TOC</a></span></h2>

<p>ffprobe [<var>options</var>] [<samp>input_url</samp>]
</p>
<a name="Description"></a>
<h2 class="chapter">2 Description<span class="pull-right"><a class="anchor hidden-xs" href="#Description" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Description" aria-hidden="true">TOC</a></span></h2>

<p>ffprobe gathers information from multimedia streams and prints it in
human- and machine-readable fashion.
</p>
<p>For example it can be used to check the format of the container used
by a multimedia stream and the format and type of each media stream
contained in it.
</p>
<p>If a url is specified in input, ffprobe will try to open and
probe the url content. If the url cannot be opened or recognized as
a multimedia file, a positive exit code is returned.
</p>
<p>ffprobe may be employed both as a standalone application or in
combination with a textual filter, which may perform more
sophisticated processing, e.g. statistical processing or plotting.
</p>
<p>Options are used to list some of the formats supported by ffprobe or
for specifying which information to display, and for setting how
ffprobe will show it.
</p>
<p>ffprobe output is designed to be easily parsable by a textual filter,
and consists of one or more sections of a form defined by the selected
writer, which is specified by the <samp>print_format</samp> option.
</p>
<p>Sections may contain other nested sections, and are identified by a
name (which may be shared by other sections), and an unique
name. See the output of <samp>sections</samp>.
</p>
<p>Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding &quot;FORMAT&quot;, &quot;STREAM&quot; or &quot;PROGRAM_STREAM&quot;
section.
</p>

<a name="Options"></a>
<h2 class="chapter">3 Options<span class="pull-right"><a class="anchor hidden-xs" href="#Options" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Options" aria-hidden="true">TOC</a></span></h2>

<p>All the numerical options, if not specified otherwise, accept a string
representing a number as input, which may be followed by one of the SI
unit prefixes, for example: &rsquo;K&rsquo;, &rsquo;M&rsquo;, or &rsquo;G&rsquo;.
</p>
<p>If &rsquo;i&rsquo; is appended to the SI unit prefix, the complete prefix will be
interpreted as a unit prefix for binary multiples, which are based on
powers of 1024 instead of powers of 1000. Appending &rsquo;B&rsquo; to the SI unit
prefix multiplies the value by 8. This allows using, for example:
&rsquo;KB&rsquo;, &rsquo;MiB&rsquo;, &rsquo;G&rsquo; and &rsquo;B&rsquo; as number suffixes.
</p>
<p>Options which do not take arguments are boolean options, and set the
corresponding value to true. They can be set to false by prefixing
the option name with &quot;no&quot;. For example using &quot;-nofoo&quot;
will set the boolean option with name &quot;foo&quot; to false.
</p>
<a name="Stream-specifiers"></a><a name="Stream-specifiers-1"></a>
<h3 class="section">3.1 Stream specifiers<span class="pull-right"><a class="anchor hidden-xs" href="#Stream-specifiers-1" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Stream-specifiers-1" aria-hidden="true">TOC</a></span></h3>
<p>Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
are used to precisely specify which stream(s) a given option belongs to.
</p>
<p>A stream specifier is a string generally appended to the option name and
separated from it by a colon. E.g. <code>-codec:a:1 ac3</code> contains the
<code>a:1</code> stream specifier, which matches the second audio stream. Therefore, it
would select the ac3 codec for the second audio stream.
</p>
<p>A stream specifier can match several streams, so that the option is applied to all
of them. E.g. the stream specifier in <code>-b:a 128k</code> matches all audio
streams.
</p>
<p>An empty stream specifier matches all streams. For example, <code>-codec copy</code>
or <code>-codec: copy</code> would copy all the streams without reencoding.
</p>
<p>Possible forms of stream specifiers are:
</p><dl compact="compact">
<dt><samp><var>stream_index</var></samp></dt>
<dd><p>Matches the stream with this index. E.g. <code>-threads:1 4</code> would set the
thread count for the second stream to 4.
</p></dd>
<dt><samp><var>stream_type</var>[:<var>stream_index</var>]</samp></dt>
<dd><p><var>stream_type</var> is one of following: &rsquo;v&rsquo; or &rsquo;V&rsquo; for video, &rsquo;a&rsquo; for audio, &rsquo;s&rsquo;
for subtitle, &rsquo;d&rsquo; for data, and &rsquo;t&rsquo; for attachments. &rsquo;v&rsquo; matches all video
streams, &rsquo;V&rsquo; only matches video streams which are not attached pictures, video
thumbnails or cover arts.  If <var>stream_index</var> is given, then it matches
stream number <var>stream_index</var> of this type. Otherwise, it matches all
streams of this type.
</p></dd>
<dt><samp>p:<var>program_id</var>[:<var>stream_index</var>]</samp></dt>
<dd><p>If <var>stream_index</var> is given, then it matches the stream with number <var>stream_index</var>
in the program with the id <var>program_id</var>. Otherwise, it matches all streams in the
program.
</p></dd>
<dt><samp>#<var>stream_id</var> or i:<var>stream_id</var></samp></dt>
<dd><p>Match the stream by stream id (e.g. PID in MPEG-TS container).
</p></dd>
<dt><samp>m:<var>key</var>[:<var>value</var>]</samp></dt>
<dd><p>Matches streams with the metadata tag <var>key</var> having the specified value. If
<var>value</var> is not given, matches streams that contain the given tag with any
value.
</p></dd>
<dt><samp>u</samp></dt>
<dd><p>Matches streams with usable configuration, the codec must be defined and the
essential information such as video dimension or audio sample rate must be present.
</p>
<p>Note that in <code>ffmpeg</code>, matching by metadata will only work properly for
input files.
</p></dd>
</dl>

<a name="Generic-options"></a>
<h3 class="section">3.2 Generic options<span class="pull-right"><a class="anchor hidden-xs" href="#Generic-options" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Generic-options" aria-hidden="true">TOC</a></span></h3>

<p>These options are shared amongst the ff* tools.
</p>
<dl compact="compact">
<dt><samp>-L</samp></dt>
<dd><p>Show license.
</p>
</dd>
<dt><samp>-h, -?, -help, --help [<var>arg</var>]</samp></dt>
<dd><p>Show help. An optional parameter may be specified to print help about a specific
item. If no argument is specified, only basic (non advanced) tool
options are shown.
</p>
<p>Possible values of <var>arg</var> are:
</p><dl compact="compact">
<dt><samp>long</samp></dt>
<dd><p>Print advanced tool options in addition to the basic tool options.
</p>
</dd>
<dt><samp>full</samp></dt>
<dd><p>Print complete list of options, including shared and private options
for encoders, decoders, demuxers, muxers, filters, etc.
</p>
</dd>
<dt><samp>decoder=<var>decoder_name</var></samp></dt>
<dd><p>Print detailed information about the decoder named <var>decoder_name</var>. Use the
<samp>-decoders</samp> option to get a list of all decoders.
</p>
</dd>
<dt><samp>encoder=<var>encoder_name</var></samp></dt>
<dd><p>Print detailed information about the encoder named <var>encoder_name</var>. Use the
<samp>-encoders</samp> option to get a list of all encoders.
</p>
</dd>
<dt><samp>demuxer=<var>demuxer_name</var></samp></dt>
<dd><p>Print detailed information about the demuxer named <var>demuxer_name</var>. Use the
<samp>-formats</samp> option to get a list of all demuxers and muxers.
</p>
</dd>
<dt><samp>muxer=<var>muxer_name</var></samp></dt>
<dd><p>Print detailed information about the muxer named <var>muxer_name</var>. Use the
<samp>-formats</samp> option to get a list of all muxers and demuxers.
</p>
</dd>
<dt><samp>filter=<var>filter_name</var></samp></dt>
<dd><p>Print detailed information about the filter name <var>filter_name</var>. Use the
<samp>-filters</samp> option to get a list of all filters.
</p></dd>
</dl>

</dd>
<dt><samp>-version</samp></dt>
<dd><p>Show version.
</p>
</dd>
<dt><samp>-formats</samp></dt>
<dd><p>Show available formats (including devices).
</p>
</dd>
<dt><samp>-demuxers</samp></dt>
<dd><p>Show available demuxers.
</p>
</dd>
<dt><samp>-muxers</samp></dt>
<dd><p>Show available muxers.
</p>
</dd>
<dt><samp>-devices</samp></dt>
<dd><p>Show available devices.
</p>
</dd>
<dt><samp>-codecs</samp></dt>
<dd><p>Show all codecs known to libavcodec.
</p>
<p>Note that the term &rsquo;codec&rsquo; is used throughout this documentation as a shortcut
for what is more correctly called a media bitstream format.
</p>
</dd>
<dt><samp>-decoders</samp></dt>
<dd><p>Show available decoders.
</p>
</dd>
<dt><samp>-encoders</samp></dt>
<dd><p>Show all available encoders.
</p>
</dd>
<dt><samp>-bsfs</samp></dt>
<dd><p>Show available bitstream filters.
</p>
</dd>
<dt><samp>-protocols</samp></dt>
<dd><p>Show available protocols.
</p>
</dd>
<dt><samp>-filters</samp></dt>
<dd><p>Show available libavfilter filters.
</p>
</dd>
<dt><samp>-pix_fmts</samp></dt>
<dd><p>Show available pixel formats.
</p>
</dd>
<dt><samp>-sample_fmts</samp></dt>
<dd><p>Show available sample formats.
</p>
</dd>
<dt><samp>-layouts</samp></dt>
<dd><p>Show channel names and standard channel layouts.
</p>
</dd>
<dt><samp>-colors</samp></dt>
<dd><p>Show recognized color names.
</p>
</dd>
<dt><samp>-sources <var>device</var>[,<var>opt1</var>=<var>val1</var>[,<var>opt2</var>=<var>val2</var>]...]</samp></dt>
<dd><p>Show autodetected sources of the input device.
Some devices may provide system-dependent source names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
</p><div class="example">
<pre class="example">ffmpeg -sources pulse,server=192.168.0.4
</pre></div>

</dd>
<dt><samp>-sinks <var>device</var>[,<var>opt1</var>=<var>val1</var>[,<var>opt2</var>=<var>val2</var>]...]</samp></dt>
<dd><p>Show autodetected sinks of the output device.
Some devices may provide system-dependent sink names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
</p><div class="example">
<pre class="example">ffmpeg -sinks pulse,server=192.168.0.4
</pre></div>

</dd>
<dt><samp>-loglevel [repeat+]<var>loglevel</var> | -v [repeat+]<var>loglevel</var></samp></dt>
<dd><p>Set the logging level used by the library.
Adding &quot;repeat+&quot; indicates that repeated log output should not be compressed
to the first line and the &quot;Last message repeated n times&quot; line will be
omitted. &quot;repeat&quot; can also be used alone.
If &quot;repeat&quot; is used alone, and with no prior loglevel set, the default
loglevel will be used. If multiple loglevel parameters are given, using
&rsquo;repeat&rsquo; will not change the loglevel.
<var>loglevel</var> is a string or a number containing one of the following values:
</p><dl compact="compact">
<dt>&lsquo;<samp>quiet, -8</samp>&rsquo;</dt>
<dd><p>Show nothing at all; be silent.
</p></dd>
<dt>&lsquo;<samp>panic, 0</samp>&rsquo;</dt>
<dd><p>Only show fatal errors which could lead the process to crash, such as
an assertion failure. This is not currently used for anything.
</p></dd>
<dt>&lsquo;<samp>fatal, 8</samp>&rsquo;</dt>
<dd><p>Only show fatal errors. These are errors after which the process absolutely
cannot continue.
</p></dd>
<dt>&lsquo;<samp>error, 16</samp>&rsquo;</dt>
<dd><p>Show all errors, including ones which can be recovered from.
</p></dd>
<dt>&lsquo;<samp>warning, 24</samp>&rsquo;</dt>
<dd><p>Show all warnings and errors. Any message related to possibly
incorrect or unexpected events will be shown.
</p></dd>
<dt>&lsquo;<samp>info, 32</samp>&rsquo;</dt>
<dd><p>Show informative messages during processing. This is in addition to
warnings and errors. This is the default value.
</p></dd>
<dt>&lsquo;<samp>verbose, 40</samp>&rsquo;</dt>
<dd><p>Same as <code>info</code>, except more verbose.
</p></dd>
<dt>&lsquo;<samp>debug, 48</samp>&rsquo;</dt>
<dd><p>Show everything, including debugging information.
</p></dd>
<dt>&lsquo;<samp>trace, 56</samp>&rsquo;</dt>
</dl>

<p>By default the program logs to stderr. If coloring is supported by the
terminal, colors are used to mark errors and warnings. Log coloring
can be disabled setting the environment variable
<code>AV_LOG_FORCE_NOCOLOR</code> or <code>NO_COLOR</code>, or can be forced setting
the environment variable <code>AV_LOG_FORCE_COLOR</code>.
The use of the environment variable <code>NO_COLOR</code> is deprecated and
will be dropped in a future FFmpeg version.
</p>
</dd>
<dt><samp>-report</samp></dt>
<dd><p>Dump full command line and console output to a file named
<code><var>program</var>-<var>YYYYMMDD</var>-<var>HHMMSS</var>.log</code> in the current
directory.
This file can be useful for bug reports.
It also implies <code>-loglevel verbose</code>.
</p>
<p>Setting the environment variable <code>FFREPORT</code> to any value has the
same effect. If the value is a &rsquo;:&rsquo;-separated key=value sequence, these
options will affect the report; option values must be escaped if they
contain special characters or the options delimiter &rsquo;:&rsquo; (see the
&ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils manual).
</p>
<p>The following options are recognized:
</p><dl compact="compact">
<dt><samp>file</samp></dt>
<dd><p>set the file name to use for the report; <code>%p</code> is expanded to the name
of the program, <code>%t</code> is expanded to a timestamp, <code>%%</code> is expanded
to a plain <code>%</code>
</p></dd>
<dt><samp>level</samp></dt>
<dd><p>set the log verbosity level using a numerical value (see <code>-loglevel</code>).
</p></dd>
</dl>

<p>For example, to output a report to a file named <samp>ffreport.log</samp>
using a log level of <code>32</code> (alias for log level <code>info</code>):
</p>
<div class="example">
<pre class="example">FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
</pre></div>

<p>Errors in parsing the environment variable are not fatal, and will not
appear in the report.
</p>
</dd>
<dt><samp>-hide_banner</samp></dt>
<dd><p>Suppress printing banner.
</p>
<p>All FFmpeg tools will normally show a copyright notice, build options
and library versions. This option can be used to suppress printing
this information.
</p>
</dd>
<dt><samp>-cpuflags flags (<em>global</em>)</samp></dt>
<dd><p>Allows setting and clearing cpu flags. This option is intended
for testing. Do not use it unless you know what you&rsquo;re doing.
</p><div class="example">
<pre class="example">ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...
</pre></div>
<p>Possible flags for this option are:
</p><dl compact="compact">
<dt>&lsquo;<samp>x86</samp>&rsquo;</dt>
<dd><dl compact="compact">
<dt>&lsquo;<samp>mmx</samp>&rsquo;</dt>
<dt>&lsquo;<samp>mmxext</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse2slow</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse3</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse3slow</samp>&rsquo;</dt>
<dt>&lsquo;<samp>ssse3</samp>&rsquo;</dt>
<dt>&lsquo;<samp>atom</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse4.1</samp>&rsquo;</dt>
<dt>&lsquo;<samp>sse4.2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>avx</samp>&rsquo;</dt>
<dt>&lsquo;<samp>avx2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>xop</samp>&rsquo;</dt>
<dt>&lsquo;<samp>fma3</samp>&rsquo;</dt>
<dt>&lsquo;<samp>fma4</samp>&rsquo;</dt>
<dt>&lsquo;<samp>3dnow</samp>&rsquo;</dt>
<dt>&lsquo;<samp>3dnowext</samp>&rsquo;</dt>
<dt>&lsquo;<samp>bmi1</samp>&rsquo;</dt>
<dt>&lsquo;<samp>bmi2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>cmov</samp>&rsquo;</dt>
</dl>
</dd>
<dt>&lsquo;<samp>ARM</samp>&rsquo;</dt>
<dd><dl compact="compact">
<dt>&lsquo;<samp>armv5te</samp>&rsquo;</dt>
<dt>&lsquo;<samp>armv6</samp>&rsquo;</dt>
<dt>&lsquo;<samp>armv6t2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>vfp</samp>&rsquo;</dt>
<dt>&lsquo;<samp>vfpv3</samp>&rsquo;</dt>
<dt>&lsquo;<samp>neon</samp>&rsquo;</dt>
<dt>&lsquo;<samp>setend</samp>&rsquo;</dt>
</dl>
</dd>
<dt>&lsquo;<samp>AArch64</samp>&rsquo;</dt>
<dd><dl compact="compact">
<dt>&lsquo;<samp>armv8</samp>&rsquo;</dt>
<dt>&lsquo;<samp>vfp</samp>&rsquo;</dt>
<dt>&lsquo;<samp>neon</samp>&rsquo;</dt>
</dl>
</dd>
<dt>&lsquo;<samp>PowerPC</samp>&rsquo;</dt>
<dd><dl compact="compact">
<dt>&lsquo;<samp>altivec</samp>&rsquo;</dt>
</dl>
</dd>
<dt>&lsquo;<samp>Specific Processors</samp>&rsquo;</dt>
<dd><dl compact="compact">
<dt>&lsquo;<samp>pentium2</samp>&rsquo;</dt>
<dt>&lsquo;<samp>pentium3</samp>&rsquo;</dt>
<dt>&lsquo;<samp>pentium4</samp>&rsquo;</dt>
<dt>&lsquo;<samp>k6</samp>&rsquo;</dt>
<dt>&lsquo;<samp>k62</samp>&rsquo;</dt>
<dt>&lsquo;<samp>athlon</samp>&rsquo;</dt>
<dt>&lsquo;<samp>athlonxp</samp>&rsquo;</dt>
<dt>&lsquo;<samp>k8</samp>&rsquo;</dt>
</dl>
</dd>
</dl>

</dd>
<dt><samp>-opencl_bench</samp></dt>
<dd><p>This option is used to benchmark all available OpenCL devices and print the
results. This option is only available when FFmpeg has been compiled with
<code>--enable-opencl</code>.
</p>
<p>When FFmpeg is configured with <code>--enable-opencl</code>, the options for the
global OpenCL context are set via <samp>-opencl_options</samp>. See the
&quot;OpenCL Options&quot; section in the ffmpeg-utils manual for the complete list of
supported options. Amongst others, these options include the ability to select
a specific platform and device to run the OpenCL code on. By default, FFmpeg
will run on the first device of the first platform. While the options for the
global OpenCL context provide flexibility to the user in selecting the OpenCL
device of their choice, most users would probably want to select the fastest
OpenCL device for their system.
</p>
<p>This option assists the selection of the most efficient configuration by
identifying the appropriate device for the user&rsquo;s system. The built-in
benchmark is run on all the OpenCL devices and the performance is measured for
each device. The devices in the results list are sorted based on their
performance with the fastest device listed first. The user can subsequently
invoke <code>ffmpeg</code> using the device deemed most appropriate via
<samp>-opencl_options</samp> to obtain the best performance for the OpenCL
accelerated code.
</p>
<p>Typical usage to use the fastest OpenCL device involve the following steps.
</p>
<p>Run the command:
</p><div class="example">
<pre class="example">ffmpeg -opencl_bench
</pre></div>
<p>Note down the platform ID (<var>pidx</var>) and device ID (<var>didx</var>) of the first
i.e. fastest device in the list.
Select the platform and device using the command:
</p><div class="example">
<pre class="example">ffmpeg -opencl_options platform_idx=<var>pidx</var>:device_idx=<var>didx</var> ...
</pre></div>

</dd>
<dt><samp>-opencl_options options (<em>global</em>)</samp></dt>
<dd><p>Set OpenCL environment options. This option is only available when
FFmpeg has been compiled with <code>--enable-opencl</code>.
</p>
<p><var>options</var> must be a list of <var>key</var>=<var>value</var> option pairs
separated by &rsquo;:&rsquo;. See the &ldquo;OpenCL Options&rdquo; section in the
ffmpeg-utils manual for the list of supported options.
</p></dd>
</dl>

<a name="AVOptions"></a>
<h3 class="section">3.3 AVOptions<span class="pull-right"><a class="anchor hidden-xs" href="#AVOptions" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-AVOptions" aria-hidden="true">TOC</a></span></h3>

<p>These options are provided directly by the libavformat, libavdevice and
libavcodec libraries. To see the list of available AVOptions, use the
<samp>-help</samp> option. They are separated into two categories:
</p><dl compact="compact">
<dt><samp>generic</samp></dt>
<dd><p>These options can be set for any container, codec or device. Generic options
are listed under AVFormatContext options for containers/devices and under
AVCodecContext options for codecs.
</p></dd>
<dt><samp>private</samp></dt>
<dd><p>These options are specific to the given container, device or codec. Private
options are listed under their corresponding containers/devices/codecs.
</p></dd>
</dl>

<p>For example to write an ID3v2.3 header instead of a default ID3v2.4 to
an MP3 file, use the <samp>id3v2_version</samp> private option of the MP3
muxer:
</p><div class="example">
<pre class="example">ffmpeg -i input.flac -id3v2_version 3 out.mp3
</pre></div>

<p>All codec AVOptions are per-stream, and thus a stream specifier
should be attached to them.
</p>
<p>Note: the <samp>-nooption</samp> syntax cannot be used for boolean
AVOptions, use <samp>-option 0</samp>/<samp>-option 1</samp>.
</p>
<p>Note: the old undocumented way of specifying per-stream AVOptions by
prepending v/a/s to the options name is now obsolete and will be
removed soon.
</p>
<a name="Main-options"></a>
<h3 class="section">3.4 Main options<span class="pull-right"><a class="anchor hidden-xs" href="#Main-options" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Main-options" aria-hidden="true">TOC</a></span></h3>

<dl compact="compact">
<dt><samp>-f <var>format</var></samp></dt>
<dd><p>Force format to use.
</p>
</dd>
<dt><samp>-unit</samp></dt>
<dd><p>Show the unit of the displayed values.
</p>
</dd>
<dt><samp>-prefix</samp></dt>
<dd><p>Use SI prefixes for the displayed values.
Unless the &quot;-byte_binary_prefix&quot; option is used all the prefixes
are decimal.
</p>
</dd>
<dt><samp>-byte_binary_prefix</samp></dt>
<dd><p>Force the use of binary prefixes for byte values.
</p>
</dd>
<dt><samp>-sexagesimal</samp></dt>
<dd><p>Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
</p>
</dd>
<dt><samp>-pretty</samp></dt>
<dd><p>Prettify the format of the displayed values, it corresponds to the
options &quot;-unit -prefix -byte_binary_prefix -sexagesimal&quot;.
</p>
</dd>
<dt><samp>-of, -print_format <var>writer_name</var>[=<var>writer_options</var>]</samp></dt>
<dd><p>Set the output printing format.
</p>
<p><var>writer_name</var> specifies the name of the writer, and
<var>writer_options</var> specifies the options to be passed to the writer.
</p>
<p>For example for printing the output in JSON format, specify:
</p><div class="example">
<pre class="example">-print_format json
</pre></div>

<p>For more details on the available output printing formats, see the
Writers section below.
</p>
</dd>
<dt><samp>-sections</samp></dt>
<dd><p>Print sections structure and section information, and exit. The output
is not meant to be parsed by a machine.
</p>
</dd>
<dt><samp>-select_streams <var>stream_specifier</var></samp></dt>
<dd><p>Select only the streams specified by <var>stream_specifier</var>. This
option affects only the options related to streams
(e.g. <code>show_streams</code>, <code>show_packets</code>, etc.).
</p>
<p>For example to show only audio streams, you can use the command:
</p><div class="example">
<pre class="example">ffprobe -show_streams -select_streams a INPUT
</pre></div>

<p>To show only video packets belonging to the video stream with index 1:
</p><div class="example">
<pre class="example">ffprobe -show_packets -select_streams v:1 INPUT
</pre></div>

</dd>
<dt><samp>-show_data</samp></dt>
<dd><p>Show payload data, as a hexadecimal and ASCII dump. Coupled with
<samp>-show_packets</samp>, it will dump the packets&rsquo; data. Coupled with
<samp>-show_streams</samp>, it will dump the codec extradata.
</p>
<p>The dump is printed as the &quot;data&quot; field. It may contain newlines.
</p>
</dd>
<dt><samp>-show_data_hash <var>algorithm</var></samp></dt>
<dd><p>Show a hash of payload data, for packets with <samp>-show_packets</samp> and for
codec extradata with <samp>-show_streams</samp>.
</p>
</dd>
<dt><samp>-show_error</samp></dt>
<dd><p>Show information about the error found when trying to probe the input.
</p>
<p>The error information is printed within a section with name &quot;ERROR&quot;.
</p>
</dd>
<dt><samp>-show_format</samp></dt>
<dd><p>Show information about the container format of the input multimedia
stream.
</p>
<p>All the container format information is printed within a section with
name &quot;FORMAT&quot;.
</p>
</dd>
<dt><samp>-show_format_entry <var>name</var></samp></dt>
<dd><p>Like <samp>-show_format</samp>, but only prints the specified entry of the
container format information, rather than all. This option may be given more
than once, then all specified entries will be shown.
</p>
<p>This option is deprecated, use <code>show_entries</code> instead.
</p>
</dd>
<dt><samp>-show_entries <var>section_entries</var></samp></dt>
<dd><p>Set list of entries to show.
</p>
<p>Entries are specified according to the following
syntax. <var>section_entries</var> contains a list of section entries
separated by <code>:</code>. Each section entry is composed by a section
name (or unique name), optionally followed by a list of entries local
to that section, separated by <code>,</code>.
</p>
<p>If section name is specified but is followed by no <code>=</code>, all
entries are printed to output, together with all the contained
sections. Otherwise only the entries specified in the local section
entries list are printed. In particular, if <code>=</code> is specified but
the list of local entries is empty, then no entries will be shown for
that section.
</p>
<p>Note that the order of specification of the local section entries is
not honored in the output, and the usual display order will be
retained.
</p>
<p>The formal syntax is given by:
</p><div class="example">
<pre class="example"><var>LOCAL_SECTION_ENTRIES</var> ::= <var>SECTION_ENTRY_NAME</var>[,<var>LOCAL_SECTION_ENTRIES</var>]
<var>SECTION_ENTRY</var>         ::= <var>SECTION_NAME</var>[=[<var>LOCAL_SECTION_ENTRIES</var>]]
<var>SECTION_ENTRIES</var>       ::= <var>SECTION_ENTRY</var>[:<var>SECTION_ENTRIES</var>]
</pre></div>

<p>For example, to show only the index and type of each stream, and the PTS
time, duration time, and stream index of the packets, you can specify
the argument:
</p><div class="example">
<pre class="example">packet=pts_time,duration_time,stream_index : stream=index,codec_type
</pre></div>

<p>To show all the entries in the section &quot;format&quot;, but only the codec
type in the section &quot;stream&quot;, specify the argument:
</p><div class="example">
<pre class="example">format : stream=codec_type
</pre></div>

<p>To show all the tags in the stream and format sections:
</p><div class="example">
<pre class="example">stream_tags : format_tags
</pre></div>

<p>To show only the <code>title</code> tag (if available) in the stream
sections:
</p><div class="example">
<pre class="example">stream_tags=title
</pre></div>

</dd>
<dt><samp>-show_packets</samp></dt>
<dd><p>Show information about each packet contained in the input multimedia
stream.
</p>
<p>The information for each single packet is printed within a dedicated
section with name &quot;PACKET&quot;.
</p>
</dd>
<dt><samp>-show_frames</samp></dt>
<dd><p>Show information about each frame and subtitle contained in the input
multimedia stream.
</p>
<p>The information for each single frame is printed within a dedicated
section with name &quot;FRAME&quot; or &quot;SUBTITLE&quot;.
</p>
</dd>
<dt><samp>-show_log <var>loglevel</var></samp></dt>
<dd><p>Show logging information from the decoder about each frame according to
the value set in <var>loglevel</var>, (see <code>-loglevel</code>). This option requires <code>-show_frames</code>.
</p>
<p>The information for each log message is printed within a dedicated
section with name &quot;LOG&quot;.
</p>
</dd>
<dt><samp>-show_streams</samp></dt>
<dd><p>Show information about each media stream contained in the input
multimedia stream.
</p>
<p>Each media stream information is printed within a dedicated section
with name &quot;STREAM&quot;.
</p>
</dd>
<dt><samp>-show_programs</samp></dt>
<dd><p>Show information about programs and their streams contained in the input
multimedia stream.
</p>
<p>Each media stream information is printed within a dedicated section
with name &quot;PROGRAM_STREAM&quot;.
</p>
</dd>
<dt><samp>-show_chapters</samp></dt>
<dd><p>Show information about chapters stored in the format.
</p>
<p>Each chapter is printed within a dedicated section with name &quot;CHAPTER&quot;.
</p>
</dd>
<dt><samp>-count_frames</samp></dt>
<dd><p>Count the number of frames per stream and report it in the
corresponding stream section.
</p>
</dd>
<dt><samp>-count_packets</samp></dt>
<dd><p>Count the number of packets per stream and report it in the
corresponding stream section.
</p>
</dd>
<dt><samp>-read_intervals <var>read_intervals</var></samp></dt>
<dd>
<p>Read only the specified intervals. <var>read_intervals</var> must be a
sequence of interval specifications separated by &quot;,&quot;.
<code>ffprobe</code> will seek to the interval starting point, and will
continue reading from that.
</p>
<p>Each interval is specified by two optional parts, separated by &quot;%&quot;.
</p>
<p>The first part specifies the interval start position. It is
interpreted as an absolute position, or as a relative offset from the
current position if it is preceded by the &quot;+&quot; character. If this first
part is not specified, no seeking will be performed when reading this
interval.
</p>
<p>The second part specifies the interval end position. It is interpreted
as an absolute position, or as a relative offset from the current
position if it is preceded by the &quot;+&quot; character. If the offset
specification starts with &quot;#&quot;, it is interpreted as the number of
packets to read (not including the flushing packets) from the interval
start. If no second part is specified, the program will read until the
end of the input.
</p>
<p>Note that seeking is not accurate, thus the actual interval start
point may be different from the specified position. Also, when an
interval duration is specified, the absolute end time will be computed
by adding the duration to the interval start point found by seeking
the file, rather than to the specified start value.
</p>
<p>The formal syntax is given by:
</p><div class="example">
<pre class="example"><var>INTERVAL</var>  ::= [<var>START</var>|+<var>START_OFFSET</var>][%[<var>END</var>|+<var>END_OFFSET</var>]]
<var>INTERVALS</var> ::= <var>INTERVAL</var>[,<var>INTERVALS</var>]
</pre></div>

<p>A few examples follow.
</p><ul>
<li> Seek to time 10, read packets until 20 seconds after the found seek
point, then seek to position <code>01:30</code> (1 minute and thirty
seconds) and read packets until position <code>01:45</code>.
<div class="example">
<pre class="example">10%+20,01:30%01:45
</pre></div>

</li><li> Read only 42 packets after seeking to position <code>01:23</code>:
<div class="example">
<pre class="example">01:23%+#42
</pre></div>

</li><li> Read only the first 20 seconds from the start:
<div class="example">
<pre class="example">%+20
</pre></div>

</li><li> Read from the start until position <code>02:30</code>:
<div class="example">
<pre class="example">%02:30
</pre></div>
</li></ul>

</dd>
<dt><samp>-show_private_data, -private</samp></dt>
<dd><p>Show private data, that is data depending on the format of the
particular shown element.
This option is enabled by default, but you may need to disable it
for specific uses, for example when creating XSD-compliant XML output.
</p>
</dd>
<dt><samp>-show_program_version</samp></dt>
<dd><p>Show information related to program version.
</p>
<p>Version information is printed within a section with name
&quot;PROGRAM_VERSION&quot;.
</p>
</dd>
<dt><samp>-show_library_versions</samp></dt>
<dd><p>Show information related to library versions.
</p>
<p>Version information for each library is printed within a section with
name &quot;LIBRARY_VERSION&quot;.
</p>
</dd>
<dt><samp>-show_versions</samp></dt>
<dd><p>Show information related to program and library versions. This is the
equivalent of setting both <samp>-show_program_version</samp> and
<samp>-show_library_versions</samp> options.
</p>
</dd>
<dt><samp>-show_pixel_formats</samp></dt>
<dd><p>Show information about all pixel formats supported by FFmpeg.
</p>
<p>Pixel format information for each format is printed within a section
with name &quot;PIXEL_FORMAT&quot;.
</p>
</dd>
<dt><samp>-bitexact</samp></dt>
<dd><p>Force bitexact output, useful to produce output which is not dependent
on the specific build.
</p>
</dd>
<dt><samp>-i <var>input_url</var></samp></dt>
<dd><p>Read <var>input_url</var>.
</p>
</dd>
</dl>

<a name="Writers"></a>
<h2 class="chapter">4 Writers<span class="pull-right"><a class="anchor hidden-xs" href="#Writers" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Writers" aria-hidden="true">TOC</a></span></h2>

<p>A writer defines the output format adopted by <code>ffprobe</code>, and will be
used for printing all the parts of the output.
</p>
<p>A writer may accept one or more arguments, which specify the options
to adopt. The options are specified as a list of <var>key</var>=<var>value</var>
pairs, separated by &quot;:&quot;.
</p>
<p>All writers support the following options:
</p>
<dl compact="compact">
<dt><samp>string_validation, sv</samp></dt>
<dd><p>Set string validation mode.
</p>
<p>The following values are accepted.
</p><dl compact="compact">
<dt>&lsquo;<samp>fail</samp>&rsquo;</dt>
<dd><p>The writer will fail immediately in case an invalid string (UTF-8)
sequence or code point is found in the input. This is especially
useful to validate input metadata.
</p>
</dd>
<dt>&lsquo;<samp>ignore</samp>&rsquo;</dt>
<dd><p>Any validation error will be ignored. This will result in possibly
broken output, especially with the json or xml writer.
</p>
</dd>
<dt>&lsquo;<samp>replace</samp>&rsquo;</dt>
<dd><p>The writer will substitute invalid UTF-8 sequences or code points with
the string specified with the <samp>string_validation_replacement</samp>.
</p></dd>
</dl>

<p>Default value is &lsquo;<samp>replace</samp>&rsquo;.
</p>
</dd>
<dt><samp>string_validation_replacement, svr</samp></dt>
<dd><p>Set replacement string to use in case <samp>string_validation</samp> is
set to &lsquo;<samp>replace</samp>&rsquo;.
</p>
<p>In case the option is not specified, the writer will assume the empty
string, that is it will remove the invalid sequences from the input
strings.
</p></dd>
</dl>

<p>A description of the currently available writers follows.
</p>
<a name="default"></a>
<h3 class="section">4.1 default<span class="pull-right"><a class="anchor hidden-xs" href="#default" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-default" aria-hidden="true">TOC</a></span></h3>
<p>Default format.
</p>
<p>Print each section in the form:
</p><div class="example">
<pre class="example">[SECTION]
key1=val1
...
keyN=valN
[/SECTION]
</pre></div>

<p>Metadata tags are printed as a line in the corresponding FORMAT, STREAM or
PROGRAM_STREAM section, and are prefixed by the string &quot;TAG:&quot;.
</p>
<p>A description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>nokey, nk</samp></dt>
<dd><p>If set to 1 specify not to print the key of each field. Default value
is 0.
</p>
</dd>
<dt><samp>noprint_wrappers, nw</samp></dt>
<dd><p>If set to 1 specify not to print the section header and footer.
Default value is 0.
</p></dd>
</dl>

<a name="compact_002c-csv"></a>
<h3 class="section">4.2 compact, csv<span class="pull-right"><a class="anchor hidden-xs" href="#compact_002c-csv" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-compact_002c-csv" aria-hidden="true">TOC</a></span></h3>
<p>Compact and CSV format.
</p>
<p>The <code>csv</code> writer is equivalent to <code>compact</code>, but supports
different defaults.
</p>
<p>Each section is printed on a single line.
If no option is specifid, the output has the form:
</p><div class="example">
<pre class="example">section|key1=val1| ... |keyN=valN
</pre></div>

<p>Metadata tags are printed in the corresponding &quot;format&quot; or &quot;stream&quot;
section. A metadata tag key, if printed, is prefixed by the string
&quot;tag:&quot;.
</p>
<p>The description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>item_sep, s</samp></dt>
<dd><p>Specify the character to use for separating fields in the output line.
It must be a single printable character, it is &quot;|&quot; by default (&quot;,&quot; for
the <code>csv</code> writer).
</p>
</dd>
<dt><samp>nokey, nk</samp></dt>
<dd><p>If set to 1 specify not to print the key of each field. Its default
value is 0 (1 for the <code>csv</code> writer).
</p>
</dd>
<dt><samp>escape, e</samp></dt>
<dd><p>Set the escape mode to use, default to &quot;c&quot; (&quot;csv&quot; for the <code>csv</code>
writer).
</p>
<p>It can assume one of the following values:
</p><dl compact="compact">
<dt><samp>c</samp></dt>
<dd><p>Perform C-like escaping. Strings containing a newline (&lsquo;<samp>\n</samp>&rsquo;), carriage
return (&lsquo;<samp>\r</samp>&rsquo;), a tab (&lsquo;<samp>\t</samp>&rsquo;), a form feed (&lsquo;<samp>\f</samp>&rsquo;), the escaping
character (&lsquo;<samp>\</samp>&rsquo;) or the item separator character <var>SEP</var> are escaped
using C-like fashioned escaping, so that a newline is converted to the
sequence &lsquo;<samp>\n</samp>&rsquo;, a carriage return to &lsquo;<samp>\r</samp>&rsquo;, &lsquo;<samp>\</samp>&rsquo; to &lsquo;<samp>\\</samp>&rsquo; and
the separator <var>SEP</var> is converted to &lsquo;<samp>\<var>SEP</var></samp>&rsquo;.
</p>
</dd>
<dt><samp>csv</samp></dt>
<dd><p>Perform CSV-like escaping, as described in RFC4180.  Strings
containing a newline (&lsquo;<samp>\n</samp>&rsquo;), a carriage return (&lsquo;<samp>\r</samp>&rsquo;), a double quote
(&lsquo;<samp>&quot;</samp>&rsquo;), or <var>SEP</var> are enclosed in double-quotes.
</p>
</dd>
<dt><samp>none</samp></dt>
<dd><p>Perform no escaping.
</p></dd>
</dl>

</dd>
<dt><samp>print_section, p</samp></dt>
<dd><p>Print the section name at the beginning of each line if the value is
<code>1</code>, disable it with value set to <code>0</code>. Default value is
<code>1</code>.
</p>
</dd>
</dl>

<a name="flat"></a>
<h3 class="section">4.3 flat<span class="pull-right"><a class="anchor hidden-xs" href="#flat" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-flat" aria-hidden="true">TOC</a></span></h3>
<p>Flat format.
</p>
<p>A free-form output where each line contains an explicit key=value, such as
&quot;streams.stream.3.tags.foo=bar&quot;. The output is shell escaped, so it can be
directly embedded in sh scripts as long as the separator character is an
alphanumeric character or an underscore (see <var>sep_char</var> option).
</p>
<p>The description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>sep_char, s</samp></dt>
<dd><p>Separator character used to separate the chapter, the section name, IDs and
potential tags in the printed field key.
</p>
<p>Default value is &lsquo;<samp>.</samp>&rsquo;.
</p>
</dd>
<dt><samp>hierarchical, h</samp></dt>
<dd><p>Specify if the section name specification should be hierarchical. If
set to 1, and if there is more than one section in the current
chapter, the section name will be prefixed by the name of the
chapter. A value of 0 will disable this behavior.
</p>
<p>Default value is 1.
</p></dd>
</dl>

<a name="ini"></a>
<h3 class="section">4.4 ini<span class="pull-right"><a class="anchor hidden-xs" href="#ini" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-ini" aria-hidden="true">TOC</a></span></h3>
<p>INI format output.
</p>
<p>Print output in an INI based format.
</p>
<p>The following conventions are adopted:
</p>
<ul>
<li> all key and values are UTF-8
</li><li> &lsquo;<samp>.</samp>&rsquo; is the subgroup separator
</li><li> newline, &lsquo;<samp>\t</samp>&rsquo;, &lsquo;<samp>\f</samp>&rsquo;, &lsquo;<samp>\b</samp>&rsquo; and the following characters are
escaped
</li><li> &lsquo;<samp>\</samp>&rsquo; is the escape character
</li><li> &lsquo;<samp>#</samp>&rsquo; is the comment indicator
</li><li> &lsquo;<samp>=</samp>&rsquo; is the key/value separator
</li><li> &lsquo;<samp>:</samp>&rsquo; is not used but usually parsed as key/value separator
</li></ul>

<p>This writer accepts options as a list of <var>key</var>=<var>value</var> pairs,
separated by &lsquo;<samp>:</samp>&rsquo;.
</p>
<p>The description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>hierarchical, h</samp></dt>
<dd><p>Specify if the section name specification should be hierarchical. If
set to 1, and if there is more than one section in the current
chapter, the section name will be prefixed by the name of the
chapter. A value of 0 will disable this behavior.
</p>
<p>Default value is 1.
</p></dd>
</dl>

<a name="json"></a>
<h3 class="section">4.5 json<span class="pull-right"><a class="anchor hidden-xs" href="#json" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-json" aria-hidden="true">TOC</a></span></h3>
<p>JSON based format.
</p>
<p>Each section is printed using JSON notation.
</p>
<p>The description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>compact, c</samp></dt>
<dd><p>If set to 1 enable compact output, that is each section will be
printed on a single line. Default value is 0.
</p></dd>
</dl>

<p>For more information about JSON, see <a href="http://www.json.org/">http://www.json.org/</a>.
</p>
<a name="xml"></a>
<h3 class="section">4.6 xml<span class="pull-right"><a class="anchor hidden-xs" href="#xml" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-xml" aria-hidden="true">TOC</a></span></h3>
<p>XML based format.
</p>
<p>The XML output is described in the XML schema description file
<samp>ffprobe.xsd</samp> installed in the FFmpeg datadir.
</p>
<p>An updated version of the schema can be retrieved at the url
<a href="http://www.ffmpeg.org/schema/ffprobe.xsd">http://www.ffmpeg.org/schema/ffprobe.xsd</a>, which redirects to the
latest schema committed into the FFmpeg development source code tree.
</p>
<p>Note that the output issued will be compliant to the
<samp>ffprobe.xsd</samp> schema only when no special global output options
(<samp>unit</samp>, <samp>prefix</samp>, <samp>byte_binary_prefix</samp>,
<samp>sexagesimal</samp> etc.) are specified.
</p>
<p>The description of the accepted options follows.
</p>
<dl compact="compact">
<dt><samp>fully_qualified, q</samp></dt>
<dd><p>If set to 1 specify if the output should be fully qualified. Default
value is 0.
This is required for generating an XML file which can be validated
through an XSD file.
</p>
</dd>
<dt><samp>xsd_compliant, x</samp></dt>
<dd><p>If set to 1 perform more checks for ensuring that the output is XSD
compliant. Default value is 0.
This option automatically sets <samp>fully_qualified</samp> to 1.
</p></dd>
</dl>

<p>For more information about the XML format, see
<a href="http://www.w3.org/XML/">http://www.w3.org/XML/</a>.
</p>
<a name="Timecode"></a>
<h2 class="chapter">5 Timecode<span class="pull-right"><a class="anchor hidden-xs" href="#Timecode" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Timecode" aria-hidden="true">TOC</a></span></h2>

<p><code>ffprobe</code> supports Timecode extraction:
</p>
<ul>
<li> MPEG1/2 timecode is extracted from the GOP, and is available in the video
stream details (<samp>-show_streams</samp>, see <var>timecode</var>).

</li><li> MOV timecode is extracted from tmcd track, so is available in the tmcd
stream metadata (<samp>-show_streams</samp>, see <var>TAG:timecode</var>).

</li><li> DV, GXF and AVI timecodes are available in format metadata
(<samp>-show_format</samp>, see <var>TAG:timecode</var>).

</li></ul>


<a name="See-Also"></a>
<h2 class="chapter">6 See Also<span class="pull-right"><a class="anchor hidden-xs" href="#See-Also" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-See-Also" aria-hidden="true">TOC</a></span></h2>

<p><a href="ffprobe-all.html">ffprobe-all</a>,
<a href="ffmpeg.html">ffmpeg</a>, <a href="ffplay.html">ffplay</a>, <a href="ffserver.html">ffserver</a>,
<a href="ffmpeg-utils.html">ffmpeg-utils</a>,
<a href="ffmpeg-scaler.html">ffmpeg-scaler</a>,
<a href="ffmpeg-resampler.html">ffmpeg-resampler</a>,
<a href="ffmpeg-codecs.html">ffmpeg-codecs</a>,
<a href="ffmpeg-bitstream-filters.html">ffmpeg-bitstream-filters</a>,
<a href="ffmpeg-formats.html">ffmpeg-formats</a>,
<a href="ffmpeg-devices.html">ffmpeg-devices</a>,
<a href="ffmpeg-protocols.html">ffmpeg-protocols</a>,
<a href="ffmpeg-filters.html">ffmpeg-filters</a>
</p>

<a name="Authors"></a>
<h2 class="chapter">7 Authors<span class="pull-right"><a class="anchor hidden-xs" href="#Authors" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Authors" aria-hidden="true">TOC</a></span></h2>

<p>The FFmpeg developers.
</p>
<p>For details about the authorship, see the Git history of the project
(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
<code>git log</code> in the FFmpeg source directory, or browsing the
online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org</a>.
</p>
<p>Maintainers for the specific components are listed in the file
<samp>MAINTAINERS</samp> in the source code tree.
</p>


      <p style="font-size: small;">
        This document was generated using <a href="http://www.gnu.org/software/texinfo/"><em>makeinfo</em></a>.
      </p>
    </div>
  </body>
</html>