0.概述

最近工作中涉及到一些视频处理的技术,比如获取视频时长、获取视频关键帧、视频剪辑等。这里作一个汇总,后面会持续更新。


1.常用命令

1.0.查看视频信息

通过ffmpeg -i input.mp4可以获取input.mp4的全部信息的文本。如果需要获取独立细节,可以通过

1.获取视频时长

ffmpeg -i input.mp4 -hide_banner 2>&1 | findstr 'Duration'

其中-hide_banner选项是用来屏蔽 FFmpeg 标语和其它细节。另外,如果获取不到视频的时长信息,有可能是因为视频为直流数据,没有时间轴,可以通过-c copy命令选项处理。

2.查看FFmpeg支持的所有格式

ffmpeg -formats

1.1.转换格式

1.默认转换

ffmpeg -i input.flv output.mp4

其他格式同理。

2.转换时保持源视频质量

ffmpeg -i input.flv -qscale 0 output.mp4

1.2.从视频中提取音频

ffmpeg -i input.mp4 -vn output.mp3

1.3.调整视频分辨率

1.方式一

ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4

2.方式二

ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4

调整视频的分辨率会比较耗时。

1.4.压缩视频文件

ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4

1.5.从视频中提取图像

1.提取一帧

ffmpeg -ss 50 -i input.mp4 -y -f image2 -vframes 1 output.jpg

-ss后跟开始时间

2.提取所有关键帧到图片序列

ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.jpg

1.6.视频剪切

ffmpeg -ss 00:16:00 -t 00:01:00 -i input.mp4 -c:v copy -c:a copy output.mp4

这里关于视频和音频的导出需要使用-c:v copy和-c:a copy,不要使用-vcodec和-acodec。使用后者可能会导致视频在开头或是结尾的卡顿。

1.7.设置比特率

ffmpeg -i input.mp4 -b 1.5M output.mp4

设置比特率时,实验中使用-b 1.5M后,将38.6MB的原视频压缩到了13.8MB

1.8.限制 cpu

ffmpeg -i input.flv -y -threads 1 output.mp4

如果想要降低对cpu的使用,-threads的值可以往小了给。

1.9.裁剪视频

ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
  • -filter:v – 表示视频过滤器。
  • crop – 表示裁剪过滤器。
  • w – 我们想自源视频中裁剪的矩形的宽度。
  • h – 矩形的高度。
  • x – 我们想自源视频中裁剪的矩形的 x 坐标 。
  • y – 矩形的 y 坐标。

1.10.预览或测试视频或音频文件

ffplay input.mp4

类似地,音频文件也可以使用ffplay进行播放。

ffplay input.mp3

1.11.视频播放速度

1.加速播放

ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4

2.减速播放

ffmpeg -i input.mp4 -vf "setpts=4.0*PTS" output.mp4

2.Ref

  • https://linux.cn/article-10932-1.html
  • https://www.cnblogs.com/HongyunL/p/8120146.html

3.版权说明

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
本文作者:Q-WHai
发表日期: 2019年07月16日
本文链接:https://qwhai.blog.csdn.net/article/details/99719520
来源:CSDN
更多内容:分类 >> 视频处理


4.征集

如果你也需要使用ProcessOn这款在线绘图工具,可以使用如下邀请链接进行注册:
https://www.processon.com/i/56205c2ee4b0f6ed10838a6d


5.About me

  • Github
  • Blogcsdn
  • E-mail

FFmpeg常用命令合集相关推荐

  1. Centos7常用命令合集

    Centos7常用命令合集 管理centos服务器的时候常会对文件进行一些常规操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘录一些常用的文件操作命令: 文件操作: ls ...

  2. Linux手册大合集,收藏!Linux常用命令合集

    收藏!Linux常用命令合集 1. 帮助命令 1.1 man 命令名称,man 的意思是 manual,即手册,对于大多数命令都可以使用这个命令来查看其使用的方法. 1.2 help 命令名称 或者 ...

  3. 收藏!Linux 常用命令合集

    收藏!Linux常用命令合集 1. 帮助命令 1.1 man 命令名称,man 的意思是 manual,即手册,对于大多数命令都可以使用这个命令来查看其使用的方法. 1.2 help 命令名称 或者 ...

  4. bat fc命令_什么是批处理?Windows批处理(cmd/bat)常用命令合集

    什么是批处理?批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat .目 ...

  5. git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!

    作者:洋仔聊编程 出自:InfoQ 写作平台 原文:xie.infoq.cn/article/1ce91dc60431b1b8845729d41 工作中git是一项必不可少的技能,在项目的开发进程中起 ...

  6. Linux 常用命令合集

    常用命令 艿艿:这一小节会非常非常非常长,当做温故知新吧. 另外,面试官也可能会问,你熟悉 Linux 么?你平时使用哪些 Linux 命令.酱紫的连环炮~ 当然,建议重点看下 「性能相关」 小节. ...

  7. 【linux】服务器运维必备之linux常用命令合集

    目录 1  常用系统查看命令:磁盘/内存/CPU 2  常用操作命令 3  系统/硬件时间操作 4  文件编辑器 5  防火墙 6  网卡 7  root用户远程ssh登录 1  常用系统查看命令:磁 ...

  8. linux常用命令合集

    转载自: https://www.cnblogs.com/caozy/p/9261224.html 学前理论 linux主要特征 :一切且文件(目录.硬盘等都是文件):硬件都在/dev 目录,如硬盘. ...

  9. 建议收藏chatGPT说的Ubuntu常用命令合集

    写在前面 这个是当下最流行最时髦的AI神器chatGPT和我一起合作写的一篇通用技术文章,请读者笑纳! chatGPT说 咚咚咚,咚咚咚,嘿嘿:咚咚咚,咚咚咚,嘿嘿:AI等一会,我来发答案,看图!!! ...

最新文章

  1. mysql数据库核对_Mysql数据库操作总结
  2. vs调试c语言检查内存泄露,VisualStudio中检查内存泄露方法
  3. 波纹扩散_C4D_动画amp;RS波纹扩散效果J_014
  4. 纸白银:交易简便成本低
  5. php类知识 self $this都只能在当前类中使用
  6. qiniudn.com域名已完全恢复
  7. anylogic中编写java代码_anylogic 使用
  8. 从零开始学习编程_从这里开始学习编程
  9. 《明解c语言 入门篇》柴田望洋/著 205段代码
  10. 使用matlab时括号附近出现红色波浪线“使用的MATLAB语法可能无效”提示
  11. java ppt模板_java循环ppt模板
  12. 典型行业大数据应用和安全风险和解决方案
  13. 6U VPX 高性能数据存储板 (2 片XC7K325T)
  14. 【OpenGL ES】EGL+FBO离屏渲染
  15. 逆滲透水與蒸餾水最不能喝
  16. M1 MacBook使用IE浏览器解决兼容问题
  17. C#栈的实现(数制转换)
  18. grab显示连不上服务器,grab 暂时链接不到服务器
  19. Linux详细安装教程(Centos)
  20. vue3 操作修改数据

热门文章

  1. 《研磨设计模式》chap13 命令模式
  2. buu-crypto-yxx
  3. [Issue Fixed]-执行脚本时出现invalid option错误
  4. linux中的SGI(核间中断)IPI_RESCHEDULE详解
  5. OTA整包的制作流程(未完)
  6. base64加密原理及python、C语言代码实现
  7. [网鼎杯 2020 青龙组]bang
  8. C++ 反转单向链表
  9. 自制CSDN博客评论邮件提醒
  10. 51nod1008 N的阶乘 mod P(水题)