[技术杂谈][转载]ffmpeg压缩视频几个参数解析

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[技术杂谈][转载]ffmpeg压缩视频几个参数解析相关的知识,希望对你有一定的参考价值。

Ffmpeg 视频压缩的几个关键参数

Ffmpeg的视频操作官网文档:FFmpeg Filters Documentation

视频压缩用到的参数主要为以下几个:

  • 文件路径:-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文件下载链接: 百度网盘 请输入提取码 提取码: jrkm

2.Xabe.FFmpeg

Xabe.FFmpeg是一个ffmpeg第三方封装,它提供了ffmpeg的下载、管理以及ffmpeg.exe的详细封装操作,使ffmpeg的操作更加简洁。

通过Nuget包引用后(只支持.net 4.6.1及以上),调用await FFmpeg.GetLatestVersion(FFmpegVersion.Full); 即可获取相应的版本。

 Xabe.FFmpeg 官网指导: https://ffmpeg.xabe.net/index.html,源码:GitHub - tomaszzmuda/Xabe.FFmpeg: .NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from dotnet core application.

 Xabe.FFmpeg的使用,可参考博客:C# 中使用 FFmpeg.NET

参考文章:

以上是关于[技术杂谈][转载]ffmpeg压缩视频几个参数解析的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg学习1:视频解码

FFMPEG音视频解码

[ubuntu][技术杂谈]ffmpeg将视频转成rtsp报错Could not write header for output file #0

ffmpeg基础知识

Android NDK开发之旅38--FFmpeg视频添加水印

C# 使用神器ffmpeg.exe 压缩视频,流畅清晰体积小