视频帧数(图片)和音频提取及保存方法&图片合成视频方法

您所在的位置:网站首页 视频取帧快捷指令 视频帧数(图片)和音频提取及保存方法&图片合成视频方法

视频帧数(图片)和音频提取及保存方法&图片合成视频方法

2024-07-17 14:16:22| 来源: 网络整理| 查看: 265

视频帧数(图片)和音频提取及保存方法&图片合成视频方法—ffmpeg

环境:Ubuntu16.04、Python3.5、anaconda3 任务需要,要从视频里提取一定帧数的图片和音频,查了不少方法,也试了不少方法,很多都不可行,也又可能是配置的问题,没细究,下面把亲测可行的拿出来分享,配上关键操作的输出效果:

用的是一个Python的工具—ffmpeg,非常强大,不仅可以提取视频里一定帧数的图片,也可以提取特定帧数的图片,也可以转换视频的格式。

先说一下安装方法:

先说明,我是在anaconda里搭建的环境,所以有些依赖项可能需要根据自己的环境去配置 conda install imageio scikit-image 在terminal里进入Python python import imageio imageio.plugins.ffmpeg.download()

之后就会开始下载,下载完就ok了

说一下两个测试可行的方法:

method 1:

import pylab import imageio import skimage import numpy as np filename='/home/will/Videos/level_1.mp4' vid=imageio.get_reader(filename, 'ffmpeg') for num,im in enumerate(vid): #print im.mean() image = skimage.img_as_float(im).astype(np.float64) fig = pylab.figure() fig.suptitle('image #{}'.format(num), fontsize=20) pylab.imshow(im) pylab.show()

test1 上面测试的视频是之前录的RL的demo,根据自己视频的保存路径修改即可,注意是绝对路径

method 2 这个方法就简单了,直接使用ffmpeg工具,这里以一个叫testvideo.avi的视频做测试

ffmpeg -i testvideo.avi -vf select='eq(pict_type\,I)' -vsync 2 -f image2 frame-%03d.jpg -hide_banner

其实还可以设置很多参数的,但是我也一下子找不到太多,所以也希望有大神知道的,可以分享一下这部分,我把我知道的分享一下: -i :后面的视频的名字也是路径,这个参数一定要放在最前面 -f :图片的命名格式及保存格式,不加这个也行,直接把保存格式写上就好 -s :分辨率,如-s 160×90则将图片的分辨率统一设定成160×90 -vsync :阻止每个关键帧产生多余的拷贝,其实只有两个值可以输入,1或2 -vf :表示过滤图形的描述,选择过滤器select会选择帧进行输出:包括过滤器常量 eq(pict_type\,I):PICT_TYPE_I 表示是I帧,即关键帧,如果I帧,7秒视频输出201个图片,换成2,7秒视频输出101个图片。 -vframes :指抽取的帧数 -ss :指起始时间 -t :持续时间,单位是秒 -r :指抽取的帧率,即从视频每秒钟抽取图片的数量,1即每秒抽取一帧

放下效果图: 图片的保存路径默认当前所在的路径 227秒的视频,生成了201张图片

加个题外话,ffmpeg转换视频格式命令:

ffmpeg -i input.mp4 output.avi

用ffmpeg按每秒8帧进行解帧,命令如下:

ffmpeg -i ${path} -vf fps=fps=8/1 -q 0 $IMGFOLDER/%06d.jpg 视频截取

官方推荐把-ss放在-i前面,这样做剪辑出来的视频时间轴更精准,并且速度更快。 加上-accurate_seek是准确裁剪视频,不加这个剪出来的视频会有所误差。

ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy cut.mp4

-ss:指定开始 -i:导入的视频文件 -t:指定时长

比如-ss 10 -t 15 -i video.mp4,则剪辑出来的视频,是原视频从第10s开始持续15s的片段。 -codec copy:使用编码为copy复制源视频文件的编码格式

音频提取 ffmpeg -i apple.mp4 -f mp3 -vn apple.mp3

参数解释: -i 表示input,即输入文件 -f 表示format,即输出格式:mp3, wav等 -vn表示vedio not,即输出不包含视频

图片合成视频

利用ffmpeg就可以完成这项任务了,下面是具体指令,再附上每个指令的说明: -threads:线程,这里可以设2个,加快视频生成速度 -y:图片合成视频会有很多个覆盖操作,此处一律同意覆盖 -r:fps,这个是关键,设置多少帧/s,这里我自己设的是8,就是每八张图片合成1s的视频 -i:后接的第一个参数是输入的图片,我的图片都是以image%06d命名的,按自己图片的实际命名排序来设置,最后的是输出视频的格式。 ffmpeg -threads 2 -y -r 8 -i image%06d.jpg 1234.mp4

效果如图所示: picturesjpg2mp4



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭