Ffmpeg 视频压缩的几个关键参数
Ffmpeg的视频操作官网文档:https://ffmpeg.org/ffmpeg-filters.html#Video-Filters
视频压缩用到的参数主要为以下几个:
- 文件路径:-i 输入文件的路径
- 码率:-b:v 输出文件的码率
- 分辨率:-s 输出文件的分辨率;
- 帧率:-r 输出文件的帧率值
码率
码率,即波特率。值越小,转换后的视频越小
码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。
码率与体积成正比:码率越大,体积越大;码率越小,体积越小。由于文件体积与取样率是成正比的,所以几乎所有的编码格式都想用最低的码率达到最少的失真,“码率”就是失真度,码率越高越清晰,反之则画面粗糙而且马赛克多。
建议码率不要小于500。一般500k左右,人眼看不到明显的闪烁。
案例:ffmpeg.exe -i test.MP4 -b 600k output.mp4
分辨率
指的是视频的分辨率,常见的分辨率有4096*2304,1920*1080,720*576等。
具体的值,可以根据源视频的分辨率做个等比的缩小。
案例:ffmpeg.exe -i test.MP4 -s 1920*1080 output.mp4
帧率
帧率(即视频更新率),就是每秒编码进视频文件的帧数目,是用于测量显示帧数的量度。
测量单位为“每秒显示帧数”(Frame Per Second,FPS,帧率)或“赫兹”,单位用FPS用来描述视频每秒播放多少帧,而单位用赫兹用来描述显示器的画面每秒更新多少次。
常见的帖率有25、30,高清电视有50、60帧。
一般帧率越高,视频画面越流畅。但是人类的眼睛需要每秒至少15帧才能将图像连贯在一起~
案例:ffmpeg.exe -i test.MP4 -r 25 output.mp4
FFmpeg使用
一般的压缩命令可以用:ffmpeg.exe -i test.MP4 -b:v 500k -r 25 -s 1920x1080 output.mp4。分辨率可以根据源视频的尺寸等比进行设置~
1. 下载ffmpeg.exe
ffmpeg.exe文件下载链接: https://pan.baidu.com/s/1DmeIHlDsCTq1SdSm_ejbmQ 提取码: jrkm
2.Xabe.FFmpeg
Xabe.FFmpeg是一个ffmpeg第三方封装,它提供了ffmpeg的下载、管理以及ffmpeg.exe的详细封装操作,使ffmpeg的操作更加简洁。
通过Nuget包引用后(只支持.net 4.6.1及以上),调用await FFmpeg.GetLatestVersion(FFmpegVersion.Full); 即可获取相应的版本。
Xabe.FFmpeg的使用,可参考博客:C# 中使用 FFmpeg.NET
参考文章:
- ffmpeg -比特率,帧率和文件大小 https://blog.csdn.net/xujaiwei/article/details/73457123
- 视频压缩工具ffmpeg的使用 https://www.jianshu.com/p/4f660bd805f3
Ffmpeg 视频压缩的几个关键参数的更多相关文章
- Javascript中关键参数this浅析
自从接触javascript以来,对this参数的理解一直是模棱两可.虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪. 但对于this参数,确实会让人产生很多误解.那么this参数到底 ...
- JVM内存模型和关键参数设置
一. JVM内存模型: Jvm内存模型是学好Java很重要的一部分,该部分学习能让我们在系统运维的时候,或者优化服务器的时候能够有方法,懂原理. 二. Jvm关键参数: 1. 堆大小设置参数: -Xm ...
- MySQL数据库性能优化的关键参数(转)
我们在进行数据库管理和开发中经常会遇到性能问题,这就涉及到MySQL的性能优化.通过在网络上查找资料和笔者自己的尝试,我认为以下系统参数是比较关键的: 关键参数一:back_log 要求 MySQL ...
- A Byte of Python 笔记(5)函数:定义、形参、局部变量、默认参数、关键参数
第7章 函数 函数是重要的程序段.它们允许你给一块语句一个名称,然后你可以在程序的任何地方使用这个名称任意多次地运行这个语句块.这被称为 调用 函数. 定义函数 函数通过 def 关键字定义.def ...
- mysql的"双1设置"-数据安全的关键参数(案例分享)
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- MySQL数据库详解之"双1设置"的数据安全的关键参数案例分享
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- angular-cli.json配置参数解释,以及依稀常用命令的通用关键参数解释
一. angular-cli.json常见配置 { "project": { "name": "ng-admin", //项目名称 &quo ...
- 【摘录】JAVA内存管理-有关垃圾收集的关键参数
第八章 有关垃圾收集的关键参数 一些命令行参数可以用来选择垃圾收集器,指定堆或代的大小,修改垃圾收集行为,获取垃圾收集统计数据.本章给出一些最常用的参数.有关各种各样参数更多完整的列表和详细信息可以参 ...
- zabbix Server 4.0监控Flume关键参数
zabbix Server 4.0监控Flume关键参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Flume本身提供了http, ganglia的监控服务.当然我们也可以使用 ...
- python 关键参数和默认值
def hello_key(greeting='hello', name='world'): print('%s, %s' % (greeting, name)) hello_key() hello_ ...
随机推荐
- nRF52832起来之后测试是上电还是休眠唤醒的方法
void fu_state_machine_init(void) { /* NRF_POWER_RESETREAS_SREQ_MASK JLINK DOWNLOAD / POWER ON can ca ...
- pkuseg
git-url: https://github.com/lancopku/PKUSeg-python pkuseg:一个多领域中文分词工具包 pkuseg简单易用,支持细分领域分词,有效提升了分词准确 ...
- VBA中的集合
Sub testSet() Dim c As New Collection c.Add ("A") c.Add (2) c.Add ("A") For i = ...
- python pip安装三方库失败
Collecting pip WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None ...
- Web部署
1.项目配置的理解 IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行.最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse ...
- 转帖:GitBook 从懵逼到入门
是什么? 在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统. 我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适 ...
- git clone的时候出现 fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was reset, errno 10054解决方法
git clone的时候出现fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was rese ...
- 【读书笔记】排列研究-模式避免-续篇Pattern Avoidance
目录 多项式递归Polynomial Recursions P-recursive和c-recursive定义 例子:卡特兰数序列是P-recursive(或者说D-finite) 两个说明\(S_n ...
- 字符串算法--$\mathcal{KMP,Trie}$树
\(\mathcal{KMP算法}\) 实际上,完全没必要从\(S\)的每一个字符开始,暴力穷举每一种情况,\(Knuth.Morris\)和\(Pratt\)对该算法进行了改进,称为KMP算法. 而 ...
- ffmpeg protocol concat 进行ts流合并视频的时间戳计算及其音画同步方式一点浅析
ffmpeg protocol concat 进行ts流合并视频的时间戳计算及音画同步方式一点浅析 目录 ffmpeg protocol concat 进行ts流合并视频的时间戳计算及音画同步方式一点 ...