Compare commits
No commits in common. "2d1813010387e8ca845920e0054f34e5419c3e14" and "fa300b030f1c059e3f4ed0d3600886f18d1ead6c" have entirely different histories.
2d18130103
...
fa300b030f
2 changed files with 14 additions and 29 deletions
|
@ -1,7 +1,10 @@
|
|||
# videostreamer
|
||||
|
||||
### setup apps
|
||||
`sudo apt install scrcpy ffmpeg curl`
|
||||
### setup ffmpeg
|
||||
`sudo apt install ffmpeg`
|
||||
|
||||
### setup scrcpy
|
||||
`sudo apt install scrcpy`
|
||||
|
||||
### setup v4l2 loopback
|
||||
`sudo apt install v4l2loopback-dkms v4l2loopback-utils`
|
||||
|
|
|
@ -5,33 +5,14 @@ source config
|
|||
SCAN_COUNT=0
|
||||
SCAN_ATTEMPTS=3
|
||||
FFMPEG_LOGLEVEL="repeat+level+info"
|
||||
REC_PATH="./rec/"
|
||||
|
||||
###
|
||||
|
||||
mkdir -v -p $REC_PATH
|
||||
mkdir -p ./rec/
|
||||
|
||||
cleanup() {
|
||||
# Terminate the adb services
|
||||
adb_pid=$(ps aux | grep 'adb' | grep ${android} | awk '{print $2}');
|
||||
echo "] Killing adb services with pid=${adb_pid}"
|
||||
kill -9 ${adb_pid}
|
||||
|
||||
# Scan for recorded files
|
||||
if [ $(find ${REC_PATH} -type f | wc -l) -eq 0 ] ; then
|
||||
echo ] No files to upload.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Upload the recorded files
|
||||
echo "] Uploading streaming session ffff..."
|
||||
find ${REC_PATH} -type f -name '*.mp4' -print0 | while IFS= read -r -d '' file; do
|
||||
vodname=$(basename "$file")
|
||||
vod="$REC_PATH/$vodname"
|
||||
echo "] Uploading VOD $vod to ${vod_output} ..."
|
||||
curl -i -X POST -H "Authorization: Bearer ${vod_token}" -F "file=@rec/${vod}" ${vod_output}
|
||||
done
|
||||
exit
|
||||
adb_pid=$(ps aux | grep 'adb' | grep ${android} | awk '{print $2}');
|
||||
echo "] Killing adb services with pid=${adb_pid}"
|
||||
kill -9 ${adb_pid}
|
||||
exit
|
||||
}
|
||||
|
||||
# Trap interrupts and exit instead of continuing the loop
|
||||
|
@ -75,6 +56,7 @@ until is_correct_port || [[ $SCAN_COUNT -eq $SCAN_ATTEMPTS ]]; do
|
|||
done
|
||||
[[ $SCAN_COUNT -eq $SCAN_ATTEMPTS ]] && echo "] could not set the tcpip port :(" && (exit 1)
|
||||
|
||||
|
||||
###
|
||||
|
||||
adb disconnect
|
||||
|
@ -85,11 +67,10 @@ scrcpy -n \
|
|||
--camera-id=2 --camera-size=1920x1080 --camera-fps=30 --orientation=90 \
|
||||
--v4l2-sink=/dev/video5 &
|
||||
|
||||
# Endless loop which streams and record at the same time new file on each reconnect.
|
||||
while :
|
||||
do
|
||||
sleep 5
|
||||
CURRENTDATE=`date +"%Y_%m_%d_%H_%M_%S"`
|
||||
CURRENTDATE=`date +"%Y_%m_%d_%T"`
|
||||
echo "] ffmpeg start at ${CURRENTDATE}"
|
||||
|
||||
#calf plugins
|
||||
|
@ -108,6 +89,7 @@ do
|
|||
-r:v 30 -g:v 120 -bf:v 3 -refs:v 16 \
|
||||
-f tee -map 0:0 -map 1:0 "[f=mpegts]${srt_output}|[f=mp4]rec/local_recording_${CURRENTDATE}.mp4"
|
||||
|
||||
echo "] Streaming finished. Sleeping 5 seconds and restarting stream. Ctrl+C to exit."
|
||||
#CURRENTDATE=`date +"%Y_%m_%d_%T"`
|
||||
echo "] ffmpeg end at ${CURRENTDATE}"
|
||||
done
|
||||
|
Loading…
Add table
Reference in a new issue