FFmpeg常用命令合集
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
FFmpeg常用命令合集相关推荐
- Centos7常用命令合集
Centos7常用命令合集 管理centos服务器的时候常会对文件进行一些常规操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘录一些常用的文件操作命令: 文件操作: ls ...
- Linux手册大合集,收藏!Linux常用命令合集
收藏!Linux常用命令合集 1. 帮助命令 1.1 man 命令名称,man 的意思是 manual,即手册,对于大多数命令都可以使用这个命令来查看其使用的方法. 1.2 help 命令名称 或者 ...
- 收藏!Linux 常用命令合集
收藏!Linux常用命令合集 1. 帮助命令 1.1 man 命令名称,man 的意思是 manual,即手册,对于大多数命令都可以使用这个命令来查看其使用的方法. 1.2 help 命令名称 或者 ...
- bat fc命令_什么是批处理?Windows批处理(cmd/bat)常用命令合集
什么是批处理?批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat .目 ...
- git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!
作者:洋仔聊编程 出自:InfoQ 写作平台 原文:xie.infoq.cn/article/1ce91dc60431b1b8845729d41 工作中git是一项必不可少的技能,在项目的开发进程中起 ...
- Linux 常用命令合集
常用命令 艿艿:这一小节会非常非常非常长,当做温故知新吧. 另外,面试官也可能会问,你熟悉 Linux 么?你平时使用哪些 Linux 命令.酱紫的连环炮~ 当然,建议重点看下 「性能相关」 小节. ...
- 【linux】服务器运维必备之linux常用命令合集
目录 1 常用系统查看命令:磁盘/内存/CPU 2 常用操作命令 3 系统/硬件时间操作 4 文件编辑器 5 防火墙 6 网卡 7 root用户远程ssh登录 1 常用系统查看命令:磁 ...
- linux常用命令合集
转载自: https://www.cnblogs.com/caozy/p/9261224.html 学前理论 linux主要特征 :一切且文件(目录.硬盘等都是文件):硬件都在/dev 目录,如硬盘. ...
- 建议收藏chatGPT说的Ubuntu常用命令合集
写在前面 这个是当下最流行最时髦的AI神器chatGPT和我一起合作写的一篇通用技术文章,请读者笑纳! chatGPT说 咚咚咚,咚咚咚,嘿嘿:咚咚咚,咚咚咚,嘿嘿:AI等一会,我来发答案,看图!!! ...
最新文章
- mysql数据库核对_Mysql数据库操作总结
- vs调试c语言检查内存泄露,VisualStudio中检查内存泄露方法
- 波纹扩散_C4D_动画amp;RS波纹扩散效果J_014
- 纸白银:交易简便成本低
- php类知识 self $this都只能在当前类中使用
- qiniudn.com域名已完全恢复
- anylogic中编写java代码_anylogic 使用
- 从零开始学习编程_从这里开始学习编程
- 《明解c语言 入门篇》柴田望洋/著 205段代码
- 使用matlab时括号附近出现红色波浪线“使用的MATLAB语法可能无效”提示
- java ppt模板_java循环ppt模板
- 典型行业大数据应用和安全风险和解决方案
- 6U VPX 高性能数据存储板 (2 片XC7K325T)
- 【OpenGL ES】EGL+FBO离屏渲染
- 逆滲透水與蒸餾水最不能喝
- M1 MacBook使用IE浏览器解决兼容问题
- C#栈的实现(数制转换)
- grab显示连不上服务器,grab 暂时链接不到服务器
- Linux详细安装教程(Centos)
- vue3 操作修改数据