ffmpeg视频转码和获取视频第一帧和获取视频任意一帧shell脚本

ffmpeg视频转码和获取视频第一帧shell脚本

#!/bin/sh
echo  "ffmpegmp4"

ffmpegmp4(){

if [ -f "$1" -a -s "$1" ];then
	if [ "${1##*.}" = "mp4" -o "${1##*.}" = "flv" -o "${1##*.}" = "MP4" -o "${1##*.}" = "FLV" ];then
		original=$1
		echo "$original"
		
		target=${original%.*}.${original##*.}  
    tmp=${original%.*}`date +%N`.mp4   # 文件的临时名字
    picpath=${original%.*}_pic.jpg
    ffmpeg -i $original -threads:1 4 -ab 56 -ar 22050 -qscale 8 -codec:v libx264 -c:a copy -movflags faststart -r  15  -s 480*320  -y  $tmp  
    ffmpeg -ss 0 -i $original -y -f image2 -t 0.001 -s 238*140  $picpath
    mv $tmp $target
		
	fi
	
fi   

}

ffmpegmp4 $1
echo  ">>>>>>>>>>>>>>>ffmpegmp4 over<<<<<<<<<<<<<<<"
 










ffmpeg视频转码和获取视频任意一帧shell脚本

获取任意一帧的时间格式为HH:MM:ss或者填秒数

例如下面这条指令00:00:01为视频的第一秒

ffmpeg -i $original -y -f  image2  -ss 00:00:01 -vframes 1  $picpath

或者(下面这条指令中-ss 后面的30代表截取第30秒的图片)

ffmpeg -i $original -y -f  image2  -ss 30 -vframes 1  $picpath

#!/bin/sh
echo  "ffmpegmp4"

ffmpegmp4(){

if [ -f "$1" -a -s "$1" ];then
	if [ "${1##*.}" = "mp4" -o "${1##*.}" = "flv" -o "${1##*.}" = "MP4" -o "${1##*.}" = "FLV" ];then
		original=$1
		echo "$original"
		echo ">>target<<"
		 
	target=${original%.*}.${original##*.}  
	echo "$target"
    tmp=${original%.*}`date +%N`.mp4   # 文件的临时名字
    echo ">>picpath<<"
    picpath=${original%.*}_pic.jpg
    echo ">>picpath<<"
    ffmpeg -i $original -y -f  image2  -ss 00:00:01 -vframes 1  $picpath
    mv $tmp $target
		
	fi
	
fi   

}

ffmpegmp4 $1
echo  ">>>>>>>>>>>>>>>ffmpegmp4 over<<<<<<<<<<<<<<<"



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翅膀君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值