@@ -16,6 +16,7 @@ UPLOAD_PIPE_FILE_NAME=${SE_UPLOAD_PIPE_FILE_NAME:-"uploadpipe"}
1616SE_SERVER_PROTOCOL=${SE_SERVER_PROTOCOL:- " http" }
1717poll_interval=${SE_VIDEO_POLL_INTERVAL:- 1}
1818max_attempts=${SE_VIDEO_WAIT_ATTEMPTS:- 50}
19+ ts_format=${SE_LOG_TIMESTAMP_FORMAT:- " +'%Y-%m-%d %H:%M:%S,%3N'" }
1920process_name=" video.recorder"
2021
2122if [ " ${SE_VIDEO_RECORD_STANDALONE} " = " true" ]; then
3233BASIC_AUTH=" $( echo -en " ${SE_ROUTER_USERNAME} :${SE_ROUTER_PASSWORD} " | base64 -w0) "
3334
3435if [ -d " ${VIDEO_FOLDER} " ]; then
35- echo " $( date +%FT%T%Z ) [${process_name} ] - Video folder exists: ${VIDEO_FOLDER} "
36+ echo " $( date -u ${ts_format} ) [${process_name} ] - Video folder exists: ${VIDEO_FOLDER} "
3637else
37- echo " $( date +%FT%T%Z ) [${process_name} ] - Video folder does not exist: ${VIDEO_FOLDER} . Due to permission, folder name could not be changed via environment variable. Exiting..."
38+ echo " $( date -u ${ts_format} ) [${process_name} ] - Video folder does not exist: ${VIDEO_FOLDER} . Due to permission, folder name could not be changed via environment variable. Exiting..."
3839 exit 1
3940fi
4041
@@ -56,20 +57,20 @@ function create_named_pipe() {
5657 rm -f " ${UPLOAD_PIPE_FILE} "
5758 fi
5859 mkfifo " ${UPLOAD_PIPE_FILE} "
59- echo " $( date +%FT%T%Z ) [${process_name} ] - Created named pipe ${UPLOAD_PIPE_FILE} "
60+ echo " $( date -u ${ts_format} ) [${process_name} ] - Created named pipe ${UPLOAD_PIPE_FILE} "
6061 fi
6162 fi
6263}
6364
6465function wait_for_display() {
6566 DISPLAY=${DISPLAY_CONTAINER_NAME} :${DISPLAY_NUM} .0
6667 export DISPLAY=${DISPLAY}
67- echo " $( date +%FT%T%Z ) [${process_name} ] - Waiting for the display ${DISPLAY} is open"
68+ echo " $( date -u ${ts_format} ) [${process_name} ] - Waiting for the display ${DISPLAY} is open"
6869 until xset b off > /dev/null 2>&1 ; do
6970 sleep ${poll_interval}
7071 done
7172 VIDEO_SIZE=$( xdpyinfo | grep ' dimensions:' | awk ' {print $2}' )
72- echo " $( date +%FT%T%Z ) [${process_name} ] - Display ${DISPLAY} is open with dimensions ${VIDEO_SIZE} "
73+ echo " $( date -u ${ts_format} ) [${process_name} ] - Display ${DISPLAY} is open with dimensions ${VIDEO_SIZE} "
7374}
7475
7576function check_if_api_respond() {
@@ -81,7 +82,7 @@ function check_if_api_respond() {
8182}
8283
8384function wait_for_api_respond() {
84- echo " $( date +%FT%T%Z ) [${process_name} ] - Waiting for Node endpoint responds"
85+ echo " $( date -u ${ts_format} ) [${process_name} ] - Waiting for Node endpoint responds"
8586 until check_if_api_respond; do
8687 sleep ${poll_interval}
8788 done
@@ -94,31 +95,31 @@ function wait_util_uploader_shutdown() {
9495 if [[ " ${VIDEO_UPLOAD_ENABLED} " = " true" ]] && [[ -n " ${UPLOAD_DESTINATION_PREFIX} " ]] && [[ " ${VIDEO_INTERNAL_UPLOAD} " != " true" ]]; then
9596 while [[ -f ${FORCE_EXIT_FILE} ]] && [[ ${wait} -lt ${max_wait} ]]; do
9697 echo " exit" >> ${UPLOAD_PIPE_FILE} &
97- echo " $( date +%FT%T%Z ) [${process_name} ] - Waiting for force exit file to be consumed by external upload container"
98+ echo " $( date -u ${ts_format} ) [${process_name} ] - Waiting for force exit file to be consumed by external upload container"
9899 sleep 1
99100 wait=$(( wait + 1 ))
100101 done
101102 fi
102103 if [[ " ${VIDEO_UPLOAD_ENABLED} " = " true" ]] && [[ -n " ${UPLOAD_DESTINATION_PREFIX} " ]] && [[ " ${VIDEO_INTERNAL_UPLOAD} " = " true" ]]; then
103104 while [[ $( pgrep rclone | wc -l) -gt 0 ]]; do
104105 echo " exit" >> ${UPLOAD_PIPE_FILE} &
105- echo " $( date +%FT%T%Z ) [${process_name} ] - Recorder is waiting for RCLONE to finish"
106+ echo " $( date -u ${ts_format} ) [${process_name} ] - Recorder is waiting for RCLONE to finish"
106107 sleep 1
107108 done
108109 fi
109110}
110111
111112function send_exit_signal_to_uploader() {
112113 if [[ " ${VIDEO_UPLOAD_ENABLED} " = " true" ]] && [[ -n " ${UPLOAD_DESTINATION_PREFIX} " ]]; then
113- echo " $( date +%FT%T%Z ) [${process_name} ] - Sending a signal to force exit the uploader"
114+ echo " $( date -u ${ts_format} ) [${process_name} ] - Sending a signal to force exit the uploader"
114115 echo " exit" >> ${UPLOAD_PIPE_FILE} &
115116 echo " exit" > ${FORCE_EXIT_FILE}
116117 fi
117118}
118119
119120function exit_on_max_session_reach() {
120121 if [[ $max_recorded_count -gt 0 ]] && [[ $recorded_count -ge $max_recorded_count ]]; then
121- echo " $( date +%FT%T%Z ) [${process_name} ] - Node will be drained since max sessions reached count number ($max_recorded_count )"
122+ echo " $( date -u ${ts_format} ) [${process_name} ] - Node will be drained since max sessions reached count number ($max_recorded_count )"
122123 exit
123124 fi
124125}
@@ -139,14 +140,14 @@ function stop_ffmpeg() {
139140
140141function stop_recording() {
141142 stop_ffmpeg
142- echo " $( date +%FT%T%Z ) [${process_name} ] - Video recording stopped"
143+ echo " $( date -u ${ts_format} ) [${process_name} ] - Video recording stopped"
143144 recorded_count=$(( recorded_count + 1 ))
144145 if [[ " ${VIDEO_UPLOAD_ENABLED} " = " true" ]] && [[ -n " ${UPLOAD_DESTINATION_PREFIX} " ]]; then
145146 upload_destination=${UPLOAD_DESTINATION_PREFIX} /${video_file_name}
146- echo " $( date +%FT%T%Z ) [${process_name} ] - Add to pipe a signal Uploading video to $upload_destination "
147+ echo " $( date -u ${ts_format} ) [${process_name} ] - Add to pipe a signal Uploading video to $upload_destination "
147148 echo " $video_file ${UPLOAD_DESTINATION_PREFIX} " >> ${UPLOAD_PIPE_FILE} &
148149 elif [[ " ${VIDEO_UPLOAD_ENABLED} " = " true" ]] && [[ -z " ${UPLOAD_DESTINATION_PREFIX} " ]]; then
149- echo " $( date +%FT%T%Z ) [${process_name} ] - Upload destination not known since UPLOAD_DESTINATION_PREFIX is not set. Continue without uploading."
150+ echo " $( date -u ${ts_format} ) [${process_name} ] - Upload destination not known since UPLOAD_DESTINATION_PREFIX is not set. Continue without uploading."
150151 fi
151152 recording_started=" false"
152153}
@@ -171,12 +172,12 @@ function log_node_response() {
171172}
172173
173174function graceful_exit() {
174- echo " $( date +%FT%T%Z ) [${process_name} ] - Trapped SIGTERM/SIGINT/x so shutting down recorder"
175+ echo " $( date -u ${ts_format} ) [${process_name} ] - Trapped SIGTERM/SIGINT/x so shutting down recorder"
175176 stop_if_recording_inprogress
176177 send_exit_signal_to_uploader
177178 wait_util_uploader_shutdown
178179 kill -SIGTERM " $( cat ${SE_SUPERVISORD_PID_FILE} ) " 2> /dev/null
179- echo " $( date +%FT%T%Z ) [${process_name} ] - Ready to shutdown the recorder"
180+ echo " $( date -u ${ts_format} ) [${process_name} ] - Ready to shutdown the recorder"
180181 exit 0
181182}
182183
@@ -204,36 +205,36 @@ else
204205 while curl --noproxy " *" -H " Authorization: Basic ${BASIC_AUTH} " -sk --request GET ${NODE_STATUS_ENDPOINT} > /tmp/status.json; do
205206 session_id=$( jq -r " ${JQ_SESSION_ID_QUERY} " /tmp/status.json)
206207 if [[ " $session_id " != " null" && " $session_id " != " " && " $session_id " != " reserved" && " $recording_started " = " false" ]]; then
207- echo " $( date +%FT%T%Z ) [${process_name} ] - Session: $session_id is created"
208+ echo " $( date -u ${ts_format} ) [${process_name} ] - Session: $session_id is created"
208209 return_list=($( bash ${VIDEO_CONFIG_DIRECTORY} /video_graphQLQuery.sh " $session_id " ) )
209210 caps_se_video_record=" ${return_list[0]} "
210211 video_file_name=" ${return_list[1]} .mp4"
211212 endpoint_url=" ${return_list[2]} "
212213 /opt/bin/validate_endpoint.sh " ${endpoint_url} " " true"
213- echo " $( date +%FT%T%Z ) [${process_name} ] - Start recording: $caps_se_video_record , video file name: $video_file_name "
214+ echo " $( date -u ${ts_format} ) [${process_name} ] - Start recording: $caps_se_video_record , video file name: $video_file_name "
214215 log_node_response
215216 fi
216217 if [[ " $session_id " != " null" && " $session_id " != " " && " $session_id " != " reserved" && " $recording_started " = " false" && " $caps_se_video_record " = " true" ]]; then
217218 video_file=" ${VIDEO_FOLDER} /$video_file_name "
218- echo " $( date +%FT%T%Z ) [${process_name} ] - Starting to record video"
219+ echo " $( date -u ${ts_format} ) [${process_name} ] - Starting to record video"
219220 ffmpeg -hide_banner -loglevel warning -flags low_delay -threads 2 -fflags nobuffer+genpts -strict experimental -y -f x11grab \
220221 -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY} -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p " $video_file " &
221222 recording_started=" true"
222- echo " $( date +%FT%T%Z ) [${process_name} ] - Video recording started"
223+ echo " $( date -u ${ts_format} ) [${process_name} ] - Video recording started"
223224 sleep ${poll_interval}
224225 elif [[ " $session_id " != " $prev_session_id " && " $recording_started " = " true" ]]; then
225226 stop_recording
226227 if [[ $max_recorded_count -gt 0 ]] && [[ $recorded_count -ge $max_recorded_count ]]; then
227- echo " $( date +%FT%T%Z ) [${process_name} ] - Node will be drained since max sessions reached count number ($max_recorded_count )"
228+ echo " $( date -u ${ts_format} ) [${process_name} ] - Node will be drained since max sessions reached count number ($max_recorded_count )"
228229 exit
229230 fi
230231 elif [[ $recording_started = " true" ]]; then
231- echo " $( date +%FT%T%Z ) [${process_name} ] - Video recording in progress"
232+ echo " $( date -u ${ts_format} ) [${process_name} ] - Video recording in progress"
232233 sleep ${poll_interval}
233234 else
234235 sleep ${poll_interval}
235236 fi
236237 prev_session_id=$session_id
237238 done
238- echo " $( date +%FT%T%Z ) [${process_name} ] - Node API is not responding now, exiting..."
239+ echo " $( date -u ${ts_format} ) [${process_name} ] - Node API is not responding now, exiting..."
239240fi
0 commit comments