热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

视频解码提取成帧并保存

方法一:使用ffmpeg实现推荐保姆级视频教程:https:www.bilibili.comvideoBV1Ft411s7Xa?p4在下面地址下载安装

方法一:使用ffmpeg实现


  • 推荐保姆级视频教程:
  • https://www.bilibili.com/video/BV1Ft411s7Xa?p=4
    在下面地址下载安装ffmpeg软件。
    https://www.ffmpeg.org/download.html#build-windows
    将下载好的文件夹中bin目录添加到系统环境变量path中。
    在这里插入图片描述

在存放视频音频的文件夹目录框中输入cmd进入命令框。
使用ffmpeg,ffprobe,ffplay即可
比较实用的一些功能都有,直接在视频中看就行。
在这里插入图片描述


提取视频为帧并保存

按间隔帧来提取视频中的帧

ffmpeg -i 10021502.mp4 -vf "select=between(n\,84\,208)*not(mod(n\,4))" -vsync 0 ./pkl/image_%05d.jpg

主体是一个select 的过滤语句:

其中:between(n,*) 是指 从第几帧到第几帧之间进行提取…
not(mode(n, K))是指每隔几帧输出一帧。
在这里插入图片描述
-f image2表示输入或输出文件的格式是image2格式, -f是format(格式)的意思。
在这里插入图片描述
法一:亲测可行
在这里插入图片描述

# coding:utf-8
import matplotlib.pyplot as plt
import imageio
#注释的代码执行一次就好,以后都会默认下载完成
#imageio.plugins.ffmpeg.download()
import skimage
import numpy as np#视频的路径
filename = 'video/01.mp4'
#可以选择解码工具
vid = imageio.get_reader(filename, 'ffmpeg')
for num,im in enumerate(vid):image = skimage.img_as_float(im).astype(np.float64)fig = plt.figure()fig.suptitle('image{}'.format(num), fontsize=20)plt.imshow(im)
plt.show()

法2:在python中使用ffmpeg提取帧并保存
亲测有效,如图
在这里插入图片描述

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
from PIL import Image # 如果没有该库,请 pip install PIL
import numpy # 如果没有该库,请 pip install numpyframe = 5 # 每秒10帧, 即一秒十张
def get_image(video_path, image_path):try:# print('C:/Program Files/ffmpeg/bin/ffmpeg -i {0} -r {1} -f image2 {2}\%03d.png'.format(video_path, frame, image_path))os.system('ffmpeg -i {0} -r {1} -f image2 {2}/frame_%03d.png'.format(video_path, frame, image_path))except:print('ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
if __name__=='__main__':get_image('video/01.mp4','video/results')# os.system('ipconfig')#测试

推荐阅读
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 笔记day2 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • maven阿里云镜像一路繁花似锦绣前程
    重点:找到maven引用的settings.xml配置文件,将以下代码复制至<mirrors><mirrors&a ... [详细]
author-avatar
phperint
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有