Initial Commit
This is the status more or less as of moving this to this machine. I believe all these files have been modified (well maybe not all of them, as I think a few I didn't touch because they worked as is, or I didn't use them).
This commit is contained in:
parent
89da6c938c
commit
fc4ba356ab
|
@ -0,0 +1,3 @@
|
||||||
|
# Multi Record Tools
|
||||||
|
|
||||||
|
* multi-record.sh
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall ffmpeg
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
./record.sh -c "steinberg.json" &
|
||||||
|
./record.sh -c "webcam.json" &
|
||||||
|
./record.sh -c "capture.json" &
|
||||||
|
./video-record.sh -c "webcam-video.json" &
|
||||||
|
./video-record.sh -c "capture-video.json" &
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set the config file
|
||||||
|
recordconf="webcam.json"
|
||||||
|
#recordconf=$1
|
||||||
|
|
||||||
|
POSITIONAL=()
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-h|-\?|--help)
|
||||||
|
# show_help # Display a usage synopsis.
|
||||||
|
echo help
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
-c) # Takes an option argument; ensure it has been specified.
|
||||||
|
if [ "$2" ]; then
|
||||||
|
recordconf=$2
|
||||||
|
shift
|
||||||
|
# echo recordconfig $recordconf
|
||||||
|
else
|
||||||
|
die 'ERROR: "-c" requires a non-empty option argument.'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--configfile) # Takes an option argument; ensure it has been specified.
|
||||||
|
if [ "$2" ]; then
|
||||||
|
recordconf=$2
|
||||||
|
shift
|
||||||
|
# echo recordconfig $recordconf
|
||||||
|
else
|
||||||
|
die 'ERROR: "--inputfile" requires a non-empty option argument.'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-c=?*|--configfile=?*)
|
||||||
|
recordconf=${1#*=} # Delete everything up to "=" and assign the remainder.
|
||||||
|
# echo recordconfg $recordconf
|
||||||
|
;;
|
||||||
|
--configfile=) # Handle the case of an empty --file=
|
||||||
|
die 'ERROR: "--inputfile" requires a non-empty option argument.'
|
||||||
|
;;
|
||||||
|
-v|--verbose)
|
||||||
|
verbose=$((verbose + 1)) # Each -v adds 1 to verbosity.
|
||||||
|
;;
|
||||||
|
--) # End of all options.
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-?*)
|
||||||
|
printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2
|
||||||
|
;;
|
||||||
|
*) # Default case: No more options, so break out of the loop.
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# For debugging purposes
|
||||||
|
#echo $recordconf
|
||||||
|
#cat $recordconf
|
||||||
|
|
||||||
|
# This is debugging getting the values from the config
|
||||||
|
#jq '.input.video' $recordconf
|
||||||
|
#jq '.input.audio' $recordconf
|
||||||
|
#jq '.output.file' $recordconf
|
||||||
|
|
||||||
|
inputvideo=`jq '.input.video' $recordconf | tr -d \"`
|
||||||
|
inputaudio=`jq '.input.audio' $recordconf | tr -d \"`
|
||||||
|
|
||||||
|
outputdir=`date +%Y-%m-%d`/`date +%H-%M-%S`
|
||||||
|
outputfile=`jq '.output.file' $recordconf | tr -d \"`
|
||||||
|
theoutput=${outputdir}/${outputfile}
|
||||||
|
|
||||||
|
echo output $output
|
||||||
|
echo outputfile $outputfile
|
||||||
|
echo outputdir $outputdir
|
||||||
|
echo theoutput $theoutput
|
||||||
|
echo inputvideo $inputvideo
|
||||||
|
echo inputaudio $inputaudio
|
||||||
|
|
||||||
|
mkdir -p $outputdir
|
||||||
|
|
||||||
|
#echo ffmpeg -f v4l2 -framerate 24 -video_size 864x480 -c:v h264 -i ${inputvideo} -f pulse -i ${inputaudio} -c:a aac ${theoutput}
|
||||||
|
#ffmpeg -f v4l2 -framerate 24 -video_size 864x480 -i ${inputvideo} -f pulse -i ${inputaudio} -c:a aac ${theoutput}
|
||||||
|
echo ffmpeg -f pulse -i ${inputaudio} -c:a flac ${theoutput}
|
||||||
|
ffmpeg -f pulse -i ${inputaudio} -c:a flac ${theoutput} 2> /dev/null
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set the config file
|
||||||
|
recordconf="webcam-video.json"
|
||||||
|
#recordconf=$1
|
||||||
|
|
||||||
|
POSITIONAL=()
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-h|-\?|--help)
|
||||||
|
# show_help # Display a usage synopsis.
|
||||||
|
echo help
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
-c) # Takes an option argument; ensure it has been specified.
|
||||||
|
if [ "$2" ]; then
|
||||||
|
recordconf=$2
|
||||||
|
shift
|
||||||
|
# echo recordconfig $recordconf
|
||||||
|
else
|
||||||
|
die 'ERROR: "-c" requires a non-empty option argument.'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--configfile) # Takes an option argument; ensure it has been specified.
|
||||||
|
if [ "$2" ]; then
|
||||||
|
recordconf=$2
|
||||||
|
shift
|
||||||
|
# echo recordconfig $recordconf
|
||||||
|
else
|
||||||
|
die 'ERROR: "--inputfile" requires a non-empty option argument.'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-c=?*|--configfile=?*)
|
||||||
|
recordconf=${1#*=} # Delete everything up to "=" and assign the remainder.
|
||||||
|
# echo recordconfg $recordconf
|
||||||
|
;;
|
||||||
|
--configfile=) # Handle the case of an empty --file=
|
||||||
|
die 'ERROR: "--inputfile" requires a non-empty option argument.'
|
||||||
|
;;
|
||||||
|
-v|--verbose)
|
||||||
|
verbose=$((verbose + 1)) # Each -v adds 1 to verbosity.
|
||||||
|
;;
|
||||||
|
--) # End of all options.
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-?*)
|
||||||
|
printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2
|
||||||
|
;;
|
||||||
|
*) # Default case: No more options, so break out of the loop.
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# For debugging purposes
|
||||||
|
#echo $recordconf
|
||||||
|
#cat $recordconf
|
||||||
|
|
||||||
|
# This is debugging getting the values from the config
|
||||||
|
#jq '.input.video' $recordconf
|
||||||
|
#jq '.input.audio' $recordconf
|
||||||
|
#jq '.output.file' $recordconf
|
||||||
|
|
||||||
|
inputvideo=`jq '.input.video' $recordconf | tr -d \"`
|
||||||
|
inputaudio=`jq '.input.audio' $recordconf | tr -d \"`
|
||||||
|
|
||||||
|
outputdir=`date +%Y-%m-%d`/`date +%H-%M-%S`
|
||||||
|
outputfile=`jq '.output.file' $recordconf | tr -d \"`
|
||||||
|
theoutput=${outputdir}/${outputfile}
|
||||||
|
|
||||||
|
echo output $output
|
||||||
|
echo outputfile $outputfile
|
||||||
|
echo outputdir $outputdir
|
||||||
|
echo theoutput $theoutput
|
||||||
|
echo inputvideo $inputvideo
|
||||||
|
echo inputaudio $inputaudio
|
||||||
|
|
||||||
|
mkdir -p $outputdir
|
||||||
|
|
||||||
|
echo ffmpeg -f v4l2 -framerate 24 -video_size 864x480 -c:v h264 -i ${inputvideo} -f pulse -i ${inputaudio} -c:a aac ${theoutput}
|
||||||
|
ffmpeg -f v4l2 -framerate 24 -video_size 864x480 -fflags +genpts -use_wallclock_as_timestamps 1 -r 15 -thread_queue_size 32 -i ${inputvideo} -f pulse -thread_queue_size 32 -i ${inputaudio} -use_wallclock_as_timestamps 1 -r 15 -c:v h264 -c:a aac ${theoutput} 2> /dev/null
|
||||||
|
#echo ffmpeg -f pulse -i ${inputaudio} -c:a flac ${theoutput}
|
||||||
|
#ffmpeg -f pulse -i ${inputaudio} -c:a flac ${theoutput} 2> /dev/null
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/bash
|
||||||
|
ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i "${1}" -c:a copy -c:v hevc_nvenc "${2}"
|
Loading…
Reference in New Issue