File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2626 containers :
2727 - image : PLACEHOLDER
2828 name : streamer
29+ command : [ "/usr/bin/streamer-simple.sh" ]
2930 resources :
3031 limits :
3132 memory : 180Mi
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -euo pipefail
3+
4+ POST_PROCESS_DIR=${POST_PROCESS_DIR:-/ tmp/ hooks.d}
5+
6+
7+ while true ; do
8+ if ! sqs_message=$( aws sqs receive-message --queue-url " $SQS_QUEUE " --max-number-of-messages 1) ; then
9+ echo " Failed to receive message from SQS, retrying..."
10+ sleep 1
11+ continue
12+ fi
13+
14+ if [[ -z " $sqs_message " ]]; then
15+ echo " No messages in SQS queue, sleeping..."
16+ sleep 1
17+ continue
18+ fi
19+
20+ record=$( echo " $sqs_message " | jq -r ' .Messages[0].Body' )
21+
22+ event_name=$( echo " $record " | jq -r ' .Records[0].eventName' )
23+ sqs_message_id=$( echo " $sqs_message " | jq -r ' .Messages[0].ReceiptHandle' )
24+ if [[ " $event_name " != ObjectCreated:* ]]; then
25+ echo " Ignoring event: $event_name with message id: $sqs_message_id "
26+ sleep 1
27+ continue
28+ fi
29+
30+ bucket=$( echo " $record " | jq -r ' .Records[0].s3.bucket.name' )
31+ key=$( echo " $record " | jq -r ' .Records[0].s3.object.key' )
32+ # video=$(aws s3 presign "s3://$bucket/$key" --expires-in 3600)
33+ tmpfile=$( mktemp /tmp/videoXXXX)
34+ aws s3 cp " s3://$bucket /$key " " $tmpfile "
35+ video=" $tmpfile "
36+
37+ echo " Streaming video: $video "
38+ ffmpeg -loglevel warning -re -i " $video " \
39+ -fflags +discardcorrupt -analyzeduration 10000000 -probesize 10000000 \
40+ -c:v copy -c:a aac \
41+ -f flv -ac 2 -flvflags no_duration_filesize " $OUTPUT_URL "
42+ rm -f " $tmpfile "
43+ echo " Finished streaming video"
44+ aws sqs delete-message --queue-url " $SQS_QUEUE " --receipt-handle " $sqs_message_id "
45+ if ! run-parts " $POST_PROCESS_DIR " -a " $key " ; then
46+ echo " Failed to run post-processing script"
47+ fi
48+ done
You can’t perform that action at this time.
0 commit comments