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
阅读量: 606
发布于:
修改于:
发布于:
修改于: