|
@@ -1,11 +1,13 @@
|
|
|
#!/bin/bash
|
|
|
|
|
|
-version="0.0.3"
|
|
|
+version="0.0.4"
|
|
|
picsFolder=''
|
|
|
audioFile=''
|
|
|
outputName=''
|
|
|
outputFolder=''
|
|
|
allowCacheStay=0
|
|
|
+allowOrigin=0
|
|
|
+frameRate='30'
|
|
|
tempFolder=/tmp/4dage-ffmpeg
|
|
|
time=$(date "+%Y%m%d-%H%M%S")
|
|
|
tempFilePrefix="4dage-source-${time}"
|
|
@@ -32,6 +34,8 @@ print_usage() {
|
|
|
echo "-a, --audio=audio file path audio file path"
|
|
|
echo "-n, --name=output file name output file name"
|
|
|
echo "-o, --output=DIR specify a directory to store output in"
|
|
|
+ echo "--allow-origin, allow maintain origin video output"
|
|
|
+ echo "-rate, aka: 24/25/30/50/60 specify output video framerate"
|
|
|
echo "-v, --version output verison"
|
|
|
echo " "
|
|
|
echo -e "\033[0;33m"
|
|
@@ -102,6 +106,15 @@ while test $# -gt 0; do
|
|
|
fi
|
|
|
shift
|
|
|
;;
|
|
|
+ -rate)
|
|
|
+ shift
|
|
|
+ export frameRate=$1
|
|
|
+ shift
|
|
|
+ ;;
|
|
|
+ --allow-origin)
|
|
|
+ export allowOrigin=1
|
|
|
+ shift
|
|
|
+ ;;
|
|
|
--audio*)
|
|
|
export audioFile=$(echo $1 | sed -e 's/^[^=]*=//g')
|
|
|
shift
|
|
@@ -164,15 +177,18 @@ covertVideoTask() {
|
|
|
allImages="$picsFolder/%d.jpg"
|
|
|
|
|
|
# -i $audioFile -filter_complex "[0:v]scale=1920:-1[vid];[vid]split=2[out1][out2]" \
|
|
|
-
|
|
|
FFREPORT=file="$outputFolder/$outputName.txt":level=48 ffmpeg -hide_banner -y -i $allImages \
|
|
|
- -preset superfast -threads 2 -r 30 -framerate 1 -q:v 2 -filter_complex "fps=fps=30" -pix_fmt yuv420p -c:a copy "$outputFolder/$outputName.origin.mp4"
|
|
|
+ -preset superfast -threads 2 -framerate 1 -q:v 2 -pix_fmt yuv420p -c:a copy -r $frameRate "$outputFolder/$outputName.origin.mp4"
|
|
|
FFREPORT=file="$outputFolder/$outputName.txt":level=48 ffmpeg -hide_banner -y -i "$outputFolder/$outputName.origin.mp4" \
|
|
|
-i $audioFile -filter_complex "[0:v]scale=1920:-1[vid];[vid]split=2[out1][out2]" \
|
|
|
-threads 2 -b 1.8M -minrate 1.8M -maxrate 1.8M -bufsize 2M \
|
|
|
-map '[out1]' -profile:v high -vcodec libx264 -ab 128k "$outputFolder/$outputName.mp4" \
|
|
|
-map '[out2]' -profile:v high -vcodec libx264 -ab 128k "$outputFolder/$outputName.flv"
|
|
|
- rm "$outputFolder/$outputName.origin.mp4"
|
|
|
+
|
|
|
+ if test $allowOrigin -eq 0; then
|
|
|
+ rm "$outputFolder/$outputName.origin.mp4"
|
|
|
+ fi
|
|
|
+
|
|
|
takeVideoCap
|
|
|
mkVerison
|
|
|
|
|
@@ -194,6 +210,7 @@ if [ ! -z $picsFolder ] && [ ! -z $audioFile ] && [ ! -z $outputName ] && [ ! -z
|
|
|
else
|
|
|
clearDist
|
|
|
fi
|
|
|
+ echo "frameRate:$frameRate"
|
|
|
covertVideoTask
|
|
|
concatAllLogFile
|
|
|
if command_exists "mediainfo"; then
|