FFMPEG脚本产生1秒的视频

2024-05-15 08:01:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用找到的脚本here


#########################
## START CONFIGURATION ##
#########################

# path to video playlist.txt
playlist="playlist.txt";

# output frame size
outsize="1920x1080";

# frames per second
fps="60";

# video bitrate
bv="20M";

# audio bitrate
ba="256k";

# video codec
cv="h264";

# audio codec
ca="libfdk_aac";

# output container format
fmt="flv";

# base frequency (Hz)
bfreq="20";

# end frequency (Hz)
efreq="1420";

#######################
## END CONFIGURATION ##
#######################

randfile="$(cat "$playlist" | rl | head -1)";
duration="$(mediainfo --Inform="Video;%Duration/String3%" $randfile)";
viz="volume=2,showcqt=s=1920x144:text=0:r=$fps:axis=0:basefreq=$bfreq:endfreq=$efreq:count=15:sono_g=4:bar_g=4:bar_v=35:sono_h=144:sono_v=bar_v*a_weighting(f):tc=0.1,rotate=1200*sin(200*PI/200*t):ow=24:oh=24:c=none,scale=$outsize,setsar=1/1[viz];[1:v]scale=$outsize,setsar=1/1[vid1];[viz][vid1]blend=all_mode=heat:shortest=1:repeatlast=0,hue="H="2*PI*t/420""";
enc="-s $outsize -c:a $ca -b:a $ba -c:v $cv -preset ultrafast -b:v $bv -profile:v high -level 4.2 -g "$(bc <<< $fps*2)" -bf 2 -x264opts keyint="$(bc <<< $fps*2)":min-keyint="$(bc <<< $fps*2)":8x8dct=1 -pix_fmt yuv420p -r $fps";
ffmpeg -hide_banner -i "$1" -r $fps -i "$randfile" -filter_complex $viz $enc -t $duration -shortest -f $fmt "$2";

当运行时,但我只得到一个1秒的视频输出,没有退出消息的过程刚刚结束

我正在运行的命令是./ffviz.sh http://50.7.77.114:8277 output.mp4

1秒的剪辑包含正确的mp4和音频,所以我相信这个过程是工作的,但我不能让它运行超过1秒


Tags: txtoutputvideobarplaylistconfigurationfpsbc