使用ffmpeg从视频中截取图像帧(最简单实用的视频抽帧,一句命令) |
您所在的位置:网站首页 › 帧数的图片 › 使用ffmpeg从视频中截取图像帧(最简单实用的视频抽帧,一句命令) |
Table of Contents 1.最佳方式 2.普通的命令:(画质差) 3. 视频旋转: 4. 批量视频抽帧: 参考:ffmpeg视频抽帧 1.最佳方式第二种方法抽帧图片画质很差,这里提供更好的命令,提高分辨率: ffmpeg -i /data/video_1.mp4 -f image2 -vf fps=fps=1/60 -qscale:v 2 /data/mp4-%05d.jpeg使用ffmpeg从视频中截取图像帧 2.普通的命令:(画质差) ffmpeg -i inputfile.avi -r 1 -f image2 image-%05d.jpeg-r 指定抽取的帧率,即从视频中每秒钟抽取图片的数量。1代表每秒抽取一帧,5就表示一秒抽5张。 -f 指定保存图片使用的格式,可忽略。 image2: 图像解析模式 image-%05d.jpeg,指定文件的输出名字,可以加个路径。 2. ffmpeg -i inputfile.avi -r 1 -s 4cif -f image2 image-%05d.jpeg 4cif 代表帧的尺寸为705x576.其他可用尺寸如下。 3. ffmpeg -i inputfile.avi -r 1 -t 4 -f image2 image-%05d.jpeg -t 代表持续时间,单位为秒。 4. ffmpeg -i inputfile.avi -r 1 -ss 01:30:14 -f image2 image-%05d.jpeg -ss 指定起始时间 5.ffmpeg -i inputfile.avi -r 1 -ss 01:30:14 -vframes 120 4cif -f image2 image-%05d.jpeg -vframes 指定抽取的帧数 3. 视频旋转: ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4 4. 批量视频抽帧: #!/usr/bin/env bash videos_root=/data/videos save_root=/data/video_imgs/Image_fps50/ for video in $videos_root/*; do echo $video save_dir=$save_root$(basename $video .avi) if [ ! -d $save_dir ];then mkdir $save_dir fi ffmpeg -i $video -f image2 -vf fps=fps=50 -qscale:v 2 $save_dir/mp4-%05d.jpeg done
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |