对于音视频进行操作,ffmpeg是不可多得的好工具,除了可以对音视频进行转码、抽取、合并等操作外,还可以对音视频切片、抽帧等细粒度的操作。可以在这里下载到最新的ffmpeg工具.

1.查看视频基本信息

针对视频,我们首先可以利用ffmpeg查看它的基本信息。

首先在下载解压后的bin文件夹中找到ffmpeg.exe;

随后利用下面的指令查看视频的基本信息:

ffmpeg -i example.mp4
>>>
>Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'example.mp4':Metadata:major_brand     : mp42minor_version   : 0compatible_brands: isommp42creation_time   : 2019-06-26T02:49:50.000000Z
Duration: 00:00:48.90, start: 0.000000, bitrate: 2064 kb/sStream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1933 kb/s, 10 fps, 10 tbr, 10240 tbn, 20 tbc (default)
Metadata:creation_time   : 2019-06-26T02:49:50.000000Zhandler_name    : ISO Media file produced by Google Inc. Created on: 06/25/2019.Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:creation_time   : 2019-06-26T02:49:50.000000Zhandler_name    : ISO Media file produced by Google Inc. Created on: 06/25/2019.
At least one output file must be specified

上面数据中一共分为一部分输入与三部分输出。
输入部分input显示了输入文件名及其相关的格式信息。
输出第一部分包含了元数据Metadata,其中含有视频时长、创建时间、编码编码信息(例如:major_brand:MP42);
输出的第二和第三部分包含了流信息,可以看到这个视频中有两条流,一条视频流一条音频流。

2.从视频中提取音频

ffmpeg.exe -i example.mp4 -vn -y -acodec copy example_audio.aac
其中-vn将跳过视频流;
-y表示覆盖输出文件;
-acodec表示设置音频编解码
copy表示直接赋值对应的流到输入结果

3.从视频中截取片段

ffmpeg.exe -i example.mp4 -ss 00:00:30 -t 00:00:45 example_part.mp4
其中-ss为开始时间位置,-t为结束时间来截取中间的视频,此时-t也可以用-to代替;
ffmpeg.exe -i example.mp4 -ss 00:00:30 -t 10 example_part.mp4
此时-t为时间长度,截取10s长度的视频作为输出。

4.从视频中逐帧抽取图像

ffmpeg.exe -i example.mp4 -vsync 0 -qscale:v 2 pics/%06d.png
其中-vsync为视频同步方法,其中0为逐帧通过
-qscale:v 2意味着使用固定质量尺度
将视频中的图片抽取了出来:


ref: web:https://www.ffmpeg.org/ffmpeg.html
wiki:https://trac.ffmpeg.org/
http://www.fourcc.org/mp42/
https://zhuanlan.zhihu.com/p/87954667
https://www.oschina.net/code/snippet_105637_22309
https://blog.csdn.net/fakine/article/details/79204501
https://blog.csdn.net/ice_ly000/article/details/88430991



pic from pixels.com

【ffmpeg】基本使用方法总结相关推荐

  1. ffmpeg移植Android方法以及常见问题汇总

    ffmpeg移植Android方法以及常见问题汇总: 1.在ffmpeg官网下载源码包,比如ffmpeg-2.3.在ffmpeg目录下增加Android.mk 和av.mk config.sh三个文件 ...

  2. linux下ffmpeg的使用方法

    格式转换 (将file.avi 转换成output.flv) #ffmpeg -i file.avi output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio. ...

  3. ffmpeg中音频解码方法(附代码)+ffmpeg音频解码播放速度快的问题(随手笔记,以供查阅)

    最近在做一款取名为变速不变调播放器的时候,解码音频遇到了些问题(ffmpeg音频解码播放速度快的问题),网络上的方法对绝大多数的音视频文件有效,但是对于某些音频会有问题,比如某些ADPCM编码的WAV ...

  4. python 安装 ffmpeg包--简便方法

    版权声明:WJ原创文章    https://blog.csdn.net/WJ_MeiMei/article/details/84863023 已有环境: python3.5  .numpyMKL . ...

  5. windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载

    经过一晚上加一上午的奋斗,终于成功编译出了最新版的FFMPEG,下面是我编译的心得,因为是最新的,应该会对大家有用,编译的FFMPEG的版本是0.11.2,2012-09-19新发布的版本 平台:WI ...

  6. ffmpeg基本使用方法

    以下操作务必在cmd中完成!!! 转换cmd工作路径 cd /d D:\Rubbish #D:\Rubbish为要转换的文件所存放的路径,/d是为了将工作空间转到D盘 合并测试代码 ffmpeg -i ...

  7. ffmpeg 解码rtp方法

    命令: ffplay.exe -protocol_whitelist "file,udp,rtp" -i w.sdp w.sdp内容: m=video 1234 RTP/AVP 9 ...

  8. VideoTool之FFmpeg:FFmpeg的简介、安装、使用方法之详细攻略

    VideoTool之FFmpeg:FFmpeg的简介.安装.使用方法之详细攻略 目录 FFmpeg的简介 FFmpeg的安装 1.Windows下安装 第一步,下载软件 第二步,解压文件 第三步,将文 ...

  9. 2019编译ffepeg vs_2020/5-Win10下ffmpeg最简编译方法

    前期准备:Windows10+WSL,WSL我在Windows商店下载的Ubuntu18 VisualStudio2019,其他版本应该也可以试试 ffmpeg新版源码,我的是4.0 对,就这么少.很 ...

  10. Android编译调用FFmpeg API,自己写方法,编译so库

    作者:谭东 时间:2017年9月19日 环境:Windows 8.1专业版 NDK版本:android-ndk-r14b FFmpeg版本:FFmpeg 3.0.2 "Einstein&qu ...

最新文章

  1. 【怎样写代码】确保对象的唯一性 -- 单例模式(一):问题案例
  2. python包pip安装_python包管理之Pip安装及使用
  3. 05_传智播客iOS视频教程_类对象的使用
  4. 资本寒冬,这十大创业公司值得尊重(上)
  5. gbdt如何处理多分类问题(multiclass,cart)
  6. Map和hashmap
  7. [转]ASP.Net篇之Session与Cookie
  8. python pexpect输出_关于多线程:如何使用pexpect获取python中子进程的自发输出
  9. pap认证过程_PPP协议当中LCP协商过程详解和PAP认证原理介绍
  10. 百万数据php7取出循环_用php处理百万级以上的数据
  11. Eclipse字符集环境配置
  12. shell取mysql字段_shell 脚本中获取mysql多个字段的值
  13. Hadoop完全分布式 小bug -no.1 为啥我的集群只显示一个datanode!
  14. 查看iOS App的bundleId
  15. Raisecom 交换机防止ARP欺骗攻击及防止多个DHCP服务器方法
  16. RabbitMQ安装+配置远程访问+集群(windows)
  17. 免安装版tomcat 开机自启动设置
  18. Java集合框架详解
  19. keras使用VGG19网络模型实现风格迁移
  20. 【企业网盘】公有云和私有云的9大差异 | 燕麦企业云盘(OATOS企业网盘)

热门文章

  1. C++导入导出动态库
  2. 配置文件keepalived.conf详解
  3. ExtJS4.2 menu鼠标移开隐藏
  4. python将输入值转化为元组_Python实现将元组中的元素作为参数传入函数的操作
  5. 合肥注册公司(各区注册地点说明)
  6. 进云仿美团外卖平台 v1.39源码
  7. SEO网站优化团队官网模板
  8. oracle条件语句 如果,Oracle条件语句
  9. mysqlfront连接MySQL错误,使用MySQL-Front连接mysql的时候发生的错误解决方法
  10. Fixed Widget侧边固定跟随小工具插件