Консольная версия Elecard StreamEye

Возможности 392 views 1 liked 11 июля 2018 г.

Консольная версия Elecard StreamEye позволяет выполнять комплексный анализ быстро и легко, используя несколько командных строк.

Возможности консольной версии: 

  • Автоматизация и ускоренное выполнение повседневных задач;
  • Анализ большого количества видео файлов из списка;
  • Выполнение специфичных и сложных задач с помощью нескольких командных строк;
  • Сохранение результатов анализа в текстовом формате CSV для более удобного просмотра в Excel;
  • Возможность доступа к функциям и ресурсам StreamEye с помощью консоли.

Содержание

Как использовать StreamEye Command line tool

Пример конфигурационного файла Config.xml

Список команд

Примеры

 

Как использовать StreamEye Command line tool:

Для автоматического анализа нескольких файлов используются следующие синтаксичские правила. С их помощью настраиваются входные и выходные параметры конфигурационного файла.

Перейдите в командную строку, нажав Start->Run и введите 'cmd'. Для запуска приложения необходимо ввести соответствующую команду и далее продолжать работу с опциями командной строки. В целом, синтаксическая конструкция должна выглядеть следующим образом:

SEyeConsole.exe <config path> [/lc:<settings path>][/in:<file path>] [/out:<file prefix>] [/ref:<file path>] [sfx:<suffix>]

Примечания:

1. Параметры  с дефолтным значением не являются обязательными и могут быть опущены;

2. Правила наименования входных и выходных файлов:

• параметр /in:<file path> в командной строке перезаписывает значение тэга <input/> в конфигурационном файле;

• параметр /out:<file prefix> в командной строке перезаписывает значение тэга <output/> в конфигурационном файлe;

• если тэг <output/> отсутствует (или не задан), имена выходных файлов формируются на основе имен входных файлов с добавлением суффикса (если последний указан);

• если выходной файл не указан для тэга/секции, имя выходного файла для тэга/секции формируется на основе имени, указанного в тэге <output/>с добавлением суффикса, в зависимости от имени тэга/секции. Например, ".stream.csv", ".picture.csv" и т.д.

Назад к содержанию


 

Пример конфигурационного файла Config.xml:

<?xml version="1.0"?>
    <stream version="1">
    <input file="…"/>
    <output separator=";(default)/," delimiter=".(default)/," file="…"/>
    <reference type="yv12(default)" file="…"/>
    <range span="all(default)/start - stop" order="display(default)"/>
    <info>
        <stream distribution="on(default)/off" file="…"/>
        <picture distribution="on(default)/off" file="…"/>
        <prediction file="…"/>
        <data type="decoded(default)/predicted/unfiltered…" format="yv12(default)" file="…"/>
        <message level="all(default)/message/warning/error" file="…"/>
        <header level="struct(default)/parameter"  file="…">
            <condition parameter="name" comparison="full/substring(default)"> 
                <range value="min-max"/>
                <equal value="value"/>
                <less value="min"/>
                <more value="max"/>
                <not value="value"/>
            </condition>
        </header>
        <index distribution="on(default)/off" order="stream(default)/display" file="…"/>
        <metrics type="psnr(dfault)" source="decoded(default)\predicted\unfiltered" file="…"/>
        <difference type="compare\subtraction\temperature" source="decoded(default)\predicted\unfiltered" file=""/>
        <block file="..."/>
        <dpb description="on(default)/off" file="…"/>
    </info>
</stream>

Назад к содержанию


 

Список команд:

<input/>The tag is used to configure the input file
fileSets the input file path
<output/> The tag is used to configure the input file
separatorDefines the symbol/string to separate the output data
fileSets the output file path
<reference/>  The tag is used to configure the reference file
typeDefines the format of the raw data.(The YV12 is used by default now. More formats to be supported in the next updates)
fileSets the path to the reference file
<range/>The tag is used to define the range of analyzed frames
spanDefines the range of frames (all(default)/start - stop), 'start' - number of the first analyzed frame, 'stop' - number of the last analyzed frame
orderSpecifies the order of frames. Display is set by default.
<info/> The tag is used to define the type/-s of information for output.
<stream/> The tag is used to output general information about the analyzed stream
distributionContains information on data distribution by type of coding units (on(default)/off)
fileSets the path for the output stream information
<picture/> The tag is used to output picture information
distributionContains information on data distribution by type of coding units  (on(default)/off)
fileSets the path for the output picture information
<prediction/>The tag is used to output information on prediction types
fileSets the path for the output prediction information
<data/> The tag is used to save output decoder information on any decoding step
typeSpecifies the type of data for saving (decoded(default) / predicted / unfiltered / residual / raw data / difference)
formatDefines the format for saving data (IYUV(default))
fileSets the output file path where the data will be saved
<message/> The tag is used to output messages that appear during analysis
levelDefines the level of the saved messages (all(default)/message/warning/error)
fileSets the output file path where the messages will be saved
<index/>The tag is used to output information on frames (offset, frame type, frame size, average quantizer, etc.)
distributionContains information on data distribution by type of coding units (on(default)/off)
fileSets the output file path where the messages will be saved
<metrics/> The tag is used to output information on quality metrics
typeSpecifies the metric type: PSNR (default)
sourceDefines the type of the source for metrics calculation (decoded(default) / predicted / unfiltered / residual)
fileSets the output file path where information on metrics will be saved
<difference/>The tag is used to output information on difference metrics
typeDefines the type of difference (compare/subtraction/temperature). This is the required parameter for this tag. Its default value should be set. If the value is not set, this tag will be skipped.
sourceSpecifies the source type for difference calculation (decoded(default)/predicted/unfiltered/residual)
fileSets the output file path where information on difference will be saved
<header/> The tag is used to define the output headers information
levelDefines the type of header output information (struct(default) / parameter), 'struct' - full information on the header will be saved, 'parameter' - only information  on the specified parameter(s) from the headers will be saved
fileSets the path to the output file with the headers information.
<condition/> The tag is used to specify the required header parameters. If this section does not exist, all headers will be dumped
parameterSpecifies the header parameter name
comparisonSpecifies the type of comparison check for the parameter name  (full/substring (default))
<range/> The tag is used to specify the range of parameter values to be searched
valueDefines the range of searching parameter values in the format “min-max&rdquo".
<equal/> The tag is used to set the search parameter value equal to the specified value
valueSets the parameter value for comparison
<less/>The tag is used to set the search parameter value less than the specified value
valueSets the parameter value for comparison
<more/> The tag is used to set the search parameter value exceeding the specified value
valueSets the parameter value for comparison
<not/>The tag is used to set the search parameter value NOT equal to the specified value
valueSets the parameter value for comparison
<block/>The tag is used to define information about each encoding block
<dpb/>The tag is used to save information about decoded picture buffer for each frame; description on/off is used to display or not the additional information about the frame

Назад к содержанию


 

Примеры

Примеры ниже показывают выполнение некоторых типичных задач из командной строки:

  1. Сохранение общей информации о потоке и о каждом кадре;
  2. Поиск нужного параметра из основных заголовков потока на примере IDR_W_RADL;
  3. Поиск по всем слайсам и вывод слайсов со значением slice_type, равным "2";
  4. Сохранение в формате YUV предсказанной картинки;
  5. Сохранение информации о закодированных блоках по каждому кадру потока;
  6. Вывод основной информации о потоке с подсчетом метрики PSNR для выбранного участка.

 

1. Сохранение общей информации о потоке и о каждом кадре

config.xml:

<?xml version="1.0"?> 
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\out\"/> 
      <info> 
            <stream/> 
            <picture/> 
      </info> 
      </stream>

Выходные файлы:

test_12_0_sei.stream.csv:

name;value; 
stream type;HEVC/H.265;
profile;Main;
compatibility;Main; Main 10;
level / tier;Undefined / Main;
chroma format;4:2:0;
resolution;832 x 480;
frame rate;50.00;
bitrate;1 024 000 000;

 ...
test_12_0_sei.stream.csv:

Picture #0; 
name; value;
resolution; 416 x 240;
size (bytes);  
cu; 21 476;
prediction;520;
transform; 19 264;
qp; 
min / max;23 / 23;
pixels; 
count;99 840;
intra;99 840 (100.00%);
distribution (bits); 
total; 174 352 (100.00%);
split_cu_flag;297 (0.17%);
cu_skip_flag;0 (0.00%);
prediction;  
intra_prediction; 16 653 (9.55%);
... 
Picture #1: 
name;value;
resolution;416 x 240;
size (bytes);  
cu; 978;
prediction; 352;
transform; 511;
...   

Назад к списку примеров


 

2. Поиск нужного параметра из основных заголовков потока на примере IDR_W_RADL

config.xml:

<?xml version="1.0"?>
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\out\"/> 
      <info> 
            <header level="parameter"> 
                  <condition parameter="IDR_W_RADL" comparison="substring"/>
            </header>  
      </info> 
</stream> 

Выходной файл: 

test_12_0_sei.header.csv:

offset;name;value;
0x000000AA;slice_segment_layer() { IDR_W_RADL };  
0x00025F47;slice_segment_layer() { IDR_W_RADL }; 

Back to list of examples


 

3. Поиск по всем слайсам и вывод слайсов со значением slice_type, равным "2"

config.xml: 

<?xml version="1.0"?> 
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\test_12_0_sei"/> 
      <info> 
            <header> 
                  <condition parameter="slice_type">  
                        <equal value="2"/> 
                  </condition> 
            </header> 
      </info> 
</stream>

Выходной файл:

test_12_0_sei.header.csv: 

offset;name;value;
0x0000009C;slice_segment_layer() { IDR_W_RADL }; 
 first_slice_segment_in_pic_flag;1;
 no_output_of_prior_pics_flag;0;
 slice_pic_parameter_set_id;0;
 slice_type;2;
 slice_sao_luma_flag;1;
 slice_sao_chroma_flag;1;
 slice_qp_delta;6;
 slice_loop_filter_across_slices_enabled_flag;1;
0x0000D21A; slice_segment_layer() { CRA_NUT };  
 first_slice_segment_in_pic_flag;1;
 no_output_of_prior_pics_flag;0;
 slice_pic_parameter_set_id;0;
 slice_type;2;
 slice_pic_order_cnt_lsb; 32;
 short_term_ref_pic_set_sps_flag;0;
 short_term_ref_pic_set(12);  
 if(stRpsIdx != 0);  
...    

Назад к списку примеров




4. Сохранение в формате YUV предсказанной картинки

config.xml: 

<?xml version="1.0"?> 
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\out\"/> 
      <info> 
            <data type="predicted"/> 
      </info> 
</stream>

Выходной файл:

test_12_0_sei.data.416x240.yuv

Назад к списку примеров



5. Сохранение информации о закодированных блоках по каждому кадру потока

config.xml: 

<?xml version="1.0"?> 
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\out\"/> 
      <info> 
            <block/> 
      </info> 
</stream>

Выходной файл:

test_12_0_sei.block10.csv  

name; value;
lcu location;0x0;
lcu slice\tile idx;0\0;
lcu size total\prediction\transform;17\17\0;
cu type\location\dimension\depth;PART_2Nx2N\0x0\64x64\0;
cu size total\prediction\transform;17\17\0;
tu dimensions\qp;64x64\35;
pu inter dimension\merge_flag\mvp_l0_flag\mvp_l1_flag;64x64\0\0\0;
pu inter type\dimension;2 (Pred_BI)\64x64;
pu L0 mv\mvd;-1, 0, 1 / -1, 0;
pu L1 mv\mvd;-1, 1, 0 / -1, 1;
pu mv candidates;*[0]\mvL0(0,0)\[1]\mvL0(0,0)\*0]\mvL1(0,0)\1]\mvL1(0,0);
lcu location; 64x0;
lcu slice\tile idx;0\0;
... 

Назад к списку примеров



6. Вывод основной информации о потоке с подсчетом метрики PSNR для выбранного участка

config.xml: 

<?xml version="1.0"?> 
<stream version="1"> 
      <input file="C:\Media\hevc\test_12_0_sei.h265"/> 
      <output file="C:\Media\hevc\out\"/>
      <reference file="C:\Media\raw\BasketballDrill_832x480_50.yuv"/> 
      <range span="0-10"/> 
      <info> 
            <metrics type="psnr"/>
            <index distribution="off" order="display"/>
      </info> 
</stream>

Выходной файл:

test_12_0_sei.index.csv: 

stream;display;offset;poc;type;time;quant;psnr y;
0;0;0x00000000;0;I;00:00:00:000;32;36.065069;
1;8;0x000042B3;8;B;00:00:00:160;33;36.065069;
2;4;0x00005790;4;B;00:00:00:160;34;36.065069;
...       
10;12; 0x00008343;12;B;00:00:00:240;34;34.808986;

Назад к списку примеров

Назад к содержанию

Ресурсы

В тексте

Продукт:StreamEyeStreamEye Studio
Категория вопроса:Возможности

Отзыв от клиента