ffmpeg 裁剪视频

时间:2025-03-28 10:05:55

接下来就是从 videoinfo 文件的 json 字符串中把我们要的宽高以及时长提取出来

# 这一段执行之后,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
					echo 'width' + $videowidth
					break
				fi
			done < videoinfo

用下面的这种循环方法也可以得到视频的宽,但是这样的话,videowidth 的值只能在这个循环里有用,在循环外面这个值是获取不到的,而上面的那种写法叫重定向,就可以解决这个问题。

cat videoinfo | while  read line 
do
	#statements
	if [[ $line =~ 'width' ]]; then
		#statements
		videowidth=`echo $line | awk -F: '{print $2}' | awk -F, '{print $1}'`
		echo $line
	    echo 'width' + $videowidth
	    
		# echo "$videowidth"
		break

	fi
done

类似的视频的高和时长也是用同样的方法可以获取到。就不贴详细代码了。