46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
__usage="Usage: $(basename $0) FILE [ssh alias]
 | 
						|
Options:
 | 
						|
	[FILE],      Input video file
 | 
						|
	[ssh alias], The alias setup in ~/.ssh/config (default location)
 | 
						|
	             See: ssh_config(5)
 | 
						|
	-d,          Delete origional file
 | 
						|
Notes:
 | 
						|
The file will be copied to the remote computer and then the new file movied to the local computer.
 | 
						|
This can use lots of bandwidth. Plan accordingly.
 | 
						|
"
 | 
						|
 | 
						|
if [[ -z $1 ]];
 | 
						|
then
 | 
						|
	echo "$__usage"
 | 
						|
	echo "Pass the file to encode as the first argument."
 | 
						|
	exit
 | 
						|
fi
 | 
						|
 | 
						|
if [[ -z $2 ]];
 | 
						|
then
 | 
						|
	echo "$__usage"
 | 
						|
	echo "Pass the ssh alias of the remote device as the second argument."
 | 
						|
	exit
 | 
						|
fi
 | 
						|
 | 
						|
FILE=$1
 | 
						|
BASE=$(basename "$FILE")
 | 
						|
OTHER=$2
 | 
						|
EXTENSION=".new.mp4"
 | 
						|
TEMP="/tmp/" # don't put in a dir with spaces
 | 
						|
 | 
						|
# move file to other's temp drive
 | 
						|
scp "$FILE" $OTHER:$TEMP
 | 
						|
# use ffmpeg to encode on other computer
 | 
						|
ssh $OTHER "ffmpeg -y -i $TEMP\"$BASE\" -vcodec hevc -filter:v scale=-2:720 $TEMP\"$BASE\"$EXTENSION"
 | 
						|
# move file back
 | 
						|
scp $OTHER:$TEMP"$BASE"$EXTENSION "$FILE"$EXTENSION
 | 
						|
# delete temp file
 | 
						|
ssh $OTHER "rm $TEMP\"$FILE\"; rm $TEMP\"$FILE\"$EXTENSION"
 | 
						|
 | 
						|
if [[ $3 == "-d" ]];
 | 
						|
	rm $FILE
 | 
						|
then
 | 
						|
 |