ffmpeg裁剪切割视频脚本
脚本处理视频文件 1. 输出的宽w高h和剪切的起始坐标xy, w:h:x:y, 宽高不能超过原始宽高。 2. 裁剪的开始偏移量ss和切割的时间 3. 是否开始的1s加静态封面或者加视频头,或者加视频尾 4. 音频的处理,去除音频,合并新的音频或者混音。 5. 加字幕 下面代码供参考,完善中。
path=$1
files=$(ls $path)
type=".mp4"
if [[ $filename =~ $type ]]
ffprobe -print_format json -show_streams $filename > videoinfo
# 这一段执行之后,videowidth 的值就是视频的宽
while read line
do
#statements
if [[ $line =~ 'width' ]]; then
#statements
# 这里用了 awk 的方法提取字符串的一部分
videowidth=`echo $line | awk -F: '{print $2}' | awk -F, '{print $1}'`
echo $line
break
fi
if [[ $line =~ 'height' ]]; then
#statements
# 这里用了 awk 的方法提取字符串的一部分
videoheight=`echo $line | awk -F: '{print $2}' | awk -F, '{print $1}'`
echo $line
break
fi
done < videoinfo
echo 'w:' + $videowidth
echo 'h:' + $videoheight
ffmpeg -i $filename -strict -2 -vf crop=$($w:$h:$x:$y) $filename+out1.mp4 while [ $endTime -le $duration ]; do #statements i=$[$i+1] endTime=$[$startTime+4] ffmpeg -i video/$filename+out1.mp4 -ss $startTime -to $endTime -acodec copy -vcodec copy video/$filename+out2.mp4 startTime=$[endTime] done fi
阅读量: 873
发布于:
修改于:
发布于:
修改于: