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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2019-04-25 C# 以函数Action/Func/Task作为方法参数