108 lines
2.8 KiB
Bash
Executable File
108 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#usage runGetPerformanceInfo ${PerformanceLogFile}
|
|
runGetPerformanceInfo_openh264()
|
|
{
|
|
|
|
if [ ! $# -eq 2 ]
|
|
then
|
|
echo "not enough parameters!"
|
|
echo "usage: ${0} [android/ios] ${PerformanceLogFile}"
|
|
return 1
|
|
fi
|
|
|
|
local PerformanceLogFile=$2
|
|
local FileName=""
|
|
local Width=""
|
|
local Height=""
|
|
local Frames=""
|
|
local FPS=""
|
|
local EncodeTime=""
|
|
if [ $1 = "android" ]
|
|
then seperatorNum=3
|
|
else
|
|
seperatorNum=2
|
|
fi
|
|
|
|
while read line
|
|
do
|
|
if [[ $line =~ "enc yuv file" ]]
|
|
then
|
|
FileName=`echo $line | awk 'BEGIN {FS="enc yuv file"} {print $2}'`
|
|
FileName=`echo $FileName | awk 'BEGIN {FS=":"} {print $2}'`
|
|
fi
|
|
if [[ $line =~ "Width" ]]
|
|
then
|
|
Width=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
fi
|
|
if [[ $line =~ "Height" ]]
|
|
then
|
|
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
fi
|
|
if [[ $line =~ "Frames" ]]
|
|
then
|
|
Frames=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
fi
|
|
if [[ $line =~ "FPS" ]]
|
|
then
|
|
FPS=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
FPS=`echo $FPS | awk 'BEGIN {FS="fps"} {print $1}'`
|
|
echo "${FileName},"${Width}x${Height}",${Frames},${FPS}"
|
|
fi
|
|
|
|
if [[ $line =~ "encode time" ]]
|
|
then
|
|
EncodeTime=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
fi
|
|
if [[ $line =~ "height" ]]
|
|
then
|
|
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
fi
|
|
if [[ $line =~ "H264 source file name" ]]
|
|
then
|
|
FileName=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
if [ $1 = "ios" ]
|
|
then
|
|
FileName=`echo $FileName | awk -F"DecoderPerfTestRes" '{print $2}'`
|
|
FileName=`echo $FileName | awk -F"/" '{print $2}'`
|
|
else
|
|
FileName=`echo $FileName | awk -F"/" '{print $4}'`
|
|
fi
|
|
fi
|
|
|
|
done <${PerformanceLogFile}
|
|
|
|
|
|
}
|
|
AUTO_TEST_RESULT_PATH="./TestResultCSV/"
|
|
|
|
|
|
parseLogToCSV()
|
|
{
|
|
if [ $# -ne 1 ]
|
|
then echo "Please input $0 [android/ios]"
|
|
fi
|
|
if [ $* = "android" ]
|
|
then
|
|
Result_log_path="./android/report/"
|
|
suffix=android
|
|
dos2unix ${Result_log_path}*.*
|
|
else
|
|
Result_log_path="./ios/report/"
|
|
suffix=ios
|
|
fi
|
|
Result_log=`ls ${Result_log_path}`
|
|
|
|
for log in ${Result_log}
|
|
do
|
|
PerformFile=`echo $log |awk -F"." '{print $1}'`
|
|
PerformFile=${PerformFile}_${suffix}.csv
|
|
#inital perfermance file
|
|
echo "$log,,,">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
echo "YUV,Resolution,Encodedframes,FPS">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
runGetPerformanceInfo_openh264 ${suffix} ${Result_log_path}${log}>>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
done
|
|
}
|
|
parseLogToCSV android
|
|
parseLogToCSV ios
|