你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片。

什么是ffmpeg?What is ffmpeg?

ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分,其有很多功能,比如解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的由人和机器创建的媒体文件。

在这个框架中包含有各种工具,每一个用于完成特定的功能。例如,ffserver能够将多媒体文件转化为用于实时广播的流,ffprobe用于分析多媒体流,ffplay可以当作一个简易的媒体播放器,ffmpeg则能够转换多媒体文件格式。

如果你感兴趣,以下列出的是FFmpeg框架中包含的开发者库:

  • libavutil是一个包含简化编程功能的库,其中包括随机数生成器,数据结构,数学代码,核心多媒体工具等更多东西。
  • libavcodec是一个包含音频/视频解码器和编码器的库。
  • libavformat是一个包含了多媒体格式的分离器和混流器的库。
  • libavdevice是一个包含输入输出设备的库,用于捕捉和渲染很多来自常用的多媒体输入/输出软件框架的数据,包括Video4Linux,Video4Linux2,VfW和ALSA。
  • libavfilter是一个包含媒体过滤器的库。
  • libswscale是一个用于执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
  • libswresample是一个用于执行高度优化的音频重采样,重新矩阵和取样格式转换操作的库。

注意:ffmpeg和FFmpeg不是同一个东西。FFmpeg是框架,而ffmpeg是一个其中的一个功能。

开始行动

如果你想跟着教程做,你需要在你的linux机中安装ffmpeg命令行功能。Ubuntu用户可以在终端运行以下命令轻松安装ffmpeg功能。

sudo apt-get install ffmpeg

Fedora用户可以从源中直接安装ffmpeg。

yum install ffmpeg

或者你可以编译源代码。在你使用源代码编译并安装它之前,你需要从官网上下载源代码,使用以下命令。

wget http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2

用下面命令解压文档。

tar -xvjf ffmpeg-2.2.3.tar.bz2

文档解压完成后进入解压后的目录运行以下命令。

./configure
make

编译完成后运行下面的命令安装ffmpeg。

su -c 'make install'

全部的事情并没有完成,而你将要做的所有事就是在终端键入一些命令而且将能够从任何视频文件中抓取图片。

在做之后的步骤前,确保你在想要提取图片的视频文件的目录下。使用cd命令切换到正确的目录。教程中我使用的视频在我的桌面上,我用以下命令将目录切换到我的桌面。

cd /home/oltjano/Desktop

之后我使用以下命令从视频中提取图片。

ffmpeg -i "你是我的小呀小苹果儿.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg

-i选项用来获取输入文件,在这里是视频文件名你是我的小呀小苹果儿.mp4,-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。

之后有一个重要的选项是-q:v,应该留意这个选项并且我很喜欢用它,它用来设置提取到的图片质量。我总是设置值为2来从视频中获取高质量图片。

转载于:https://www.cnblogs.com/Tmc-Blog/p/5090230.html

(转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片相关推荐

  1. vlc(window)分离mp4文件中的音视频

    20210903----追加: <vlc-提取mp4解复用模块> ============================================================= ...

  2. 使用ffmpeg处理 视频文件中帧间时间戳异常、关键帧间隔异常

    2019独角兽企业重金招聘Python工程师标准>>> [原因分析] V网通的视频文件经过了编辑工具编辑 1.视频文件中帧间时间戳异常(理论两帧差在40毫秒左右,V网通的有11777 ...

  3. FFmpeg进阶: 转码输出视频文件中的音频

    很多时候为了方便收听视频文件中的音频信息,我们会将视频文件中的音频流转码输出成音频文件,方便在对应的平台上进行播放.这里就介绍一下如何通过FFmpeg将视频文件中的音频流转码成特定编码格式的音频文件. ...

  4. 使用ffmpeg从视频文件中提取音频文件、视频抽帧和切割视频

    目录 ffmpeg下载 使用ffmpeg从视频文件中提取音频文件 批量提取文件夹下多个视频文件的音频 使用ffmpeg从视频文件中提取视频帧 使用ffmpeg将按固定时长将视频切割成多个小片段 将分割 ...

  5. FFMPEG保存H264流到AVI文件中形成录像

    研究了使用FFMPEG保存H264流到AVI文件中形成录像的方法,下面是大致流程. 使用的FFMPEG版本   ffmpeg-2.6.9.然后我静态编译后使用的静态库,至于怎么静态编译看我之前的文章. ...

  6. [SimplePlayer] 1. 从视频文件中提取图像

    在开始之前,我们需要了解视频文件的格式.视频文件的格式众多,无法三言两语就能详细分析其结构,尽管如此,ffmpeg却很好地提取了各类视频文件的共同特性,并对其进行了抽象描述. 视频文件格式,统称为co ...

  7. java opencv 读取视频_java使用OpenCV从视频文件中获取帧

    本文实例为大家分享了java使用OpenCV从视频文件中获取帧的具体代码,供大家参考,具体内容如下 实现功能:使用Java获取mp4.mov.avi等视频文件中的图像帧,每秒获取一帧图像,并保存 环境 ...

  8. [SimplePlayer] 4. 从视频文件中提取音频

    提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...

  9. 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面...

    asp.net从视频文件中抓取一桢并生成图像文件的方法 http://www.bianceng.cn/webkf/aspx/201012/21428.htm WebUIValidation.js ht ...

最新文章

  1. flutter 真机无法调试 sdk报错_Flutter - 不一样的跨平台解决方案
  2. php跳出volist,thinkphpvolist
  3. Windows环境中在同一个Tomcat下发布不同端口号的不同web程序
  4. Python破解ZIP或RAR文件密码
  5. WebDriverAgent安装
  6. Android-JNI开发系列《三》-异常处理
  7. 实力采坑----记录一下windows下我的MySQL8.0.11安装过程
  8. 离散数学及其应用(英文版 第7版)及答案
  9. TensorFlow2.0 学习笔记(四):迁移学习(MobileNetV2)
  10. CH(NH2)2PbI3(FAPbI3) 甲脒碘基钙钛矿 1451592-07-6
  11. DX11编程之计算着色过滤器
  12. aso优化应用市场推广方案怎么写
  13. 收到微软律师函怎么办?当接到微软律师函的处理办法
  14. 手机上的python编辑器_菜鸟教程在线编辑器|菜鸟教程app手机版下载(html/java/python3)v1.0-乐游网安卓下载...
  15. 《软技能》读书笔记——自我营销篇
  16. GitHub 入门教程
  17. 5g通用模组是什么_5G通用模组使能行业数字化转型,中国电信在行动
  18. 如何在Ubuntu下为SI安装Fixedsys字体
  19. html和js画圣诞树图片,基于JS2Image实现圣诞树代码
  20. [Ubuntu] Ubuntu16.04+win10+联想Y7000+显卡+WIFI 装机成功

热门文章

  1. C++/STL Bitset (转)
  2. Python 并发编程之使用多线程和多处理器
  3. 编写自己的Shell解释器
  4. 《软件架构设计》读书笔记
  5. golang中的可见性
  6. mysql查询通过两个字段逆序
  7. 计算机网络:三层ISP结构
  8. 彻底解决IAR中Go to definition of不可用
  9. Linux dd 命令具体用法
  10. 常考数据结构与算法:在二叉树中找到两个节点的最近公共祖先