#!/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]"fiif [ $* = "android" ]then Result_log_path="./android/report/" suffix=android dos2unix ${Result_log_path}*.*elseResult_log_path="./ios/report/"suffix=iosfiResult_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 androidparseLogToCSV ios
#!/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