ffprobe: add csv writer
This commit is contained in:
parent
4e7b3ef3b3
commit
1f0d937f77
@ -121,7 +121,7 @@ easier to use. The changes are:
|
|||||||
- Discworld II BMV decoding support
|
- Discworld II BMV decoding support
|
||||||
- VBLE Decoder
|
- VBLE Decoder
|
||||||
- OS X Video Decoder Acceleration (VDA) support
|
- OS X Video Decoder Acceleration (VDA) support
|
||||||
- compact output in ffprobe
|
- compact and csv output in ffprobe
|
||||||
|
|
||||||
|
|
||||||
version 0.8:
|
version 0.8:
|
||||||
|
@ -199,6 +199,12 @@ Perform no escaping.
|
|||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
@section csv
|
||||||
|
CSV format.
|
||||||
|
|
||||||
|
This writer is equivalent to
|
||||||
|
@code{compact=item_sep=,:nokey=1:escape=csv}.
|
||||||
|
|
||||||
@section json
|
@section json
|
||||||
JSON based format.
|
JSON based format.
|
||||||
|
|
||||||
|
24
ffprobe.c
24
ffprobe.c
@ -688,6 +688,26 @@ static Writer compact_writer = {
|
|||||||
.flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
|
.flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* CSV output */
|
||||||
|
|
||||||
|
static av_cold int csv_init(WriterContext *wctx, const char *args, void *opaque)
|
||||||
|
{
|
||||||
|
return compact_init(wctx, "item_sep=,:nokey=1:escape=csv", opaque);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Writer csv_writer = {
|
||||||
|
.name = "csv",
|
||||||
|
.priv_size = sizeof(CompactContext),
|
||||||
|
.init = csv_init,
|
||||||
|
.uninit = compact_uninit,
|
||||||
|
.print_section_header = compact_print_section_header,
|
||||||
|
.print_section_footer = compact_print_section_footer,
|
||||||
|
.print_integer = compact_print_int,
|
||||||
|
.print_string = compact_print_str,
|
||||||
|
.show_tags = compact_show_tags,
|
||||||
|
.flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS,
|
||||||
|
};
|
||||||
|
|
||||||
/* JSON output */
|
/* JSON output */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -857,6 +877,7 @@ static void writer_register_all(void)
|
|||||||
|
|
||||||
writer_register(&default_writer);
|
writer_register(&default_writer);
|
||||||
writer_register(&compact_writer);
|
writer_register(&compact_writer);
|
||||||
|
writer_register(&csv_writer);
|
||||||
writer_register(&json_writer);
|
writer_register(&json_writer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1203,7 +1224,8 @@ static const OptionDef options[] = {
|
|||||||
"use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" },
|
"use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" },
|
||||||
{ "pretty", 0, {(void*)&opt_pretty},
|
{ "pretty", 0, {(void*)&opt_pretty},
|
||||||
"prettify the format of displayed values, make it more human readable" },
|
"prettify the format of displayed values, make it more human readable" },
|
||||||
{ "print_format", OPT_STRING | HAS_ARG, {(void*)&print_format}, "set the output printing format (available formats are: default, compact, json)", "format" },
|
{ "print_format", OPT_STRING | HAS_ARG, {(void*)&print_format},
|
||||||
|
"set the output printing format (available formats are: default, compact, csv, json)", "format" },
|
||||||
{ "show_format", OPT_BOOL, {(void*)&do_show_format} , "show format/container info" },
|
{ "show_format", OPT_BOOL, {(void*)&do_show_format} , "show format/container info" },
|
||||||
{ "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" },
|
{ "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" },
|
||||||
{ "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" },
|
{ "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user