ffmpeg 常用知识点收集
ffmpeg 常用知识点收集
一、基础简介
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。
FFmpeg官网:https://www.ffmpeg.org/
Github地址:https://github.com/FFmpeg/FFmpeg
FFmpeg
视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;ffserver
基于HTTP
、RTSP
用于实时广播的多媒体服务器.也支持时间平移;ffplay
用SDL
和FFmpeg
库开发的一个简单的媒体播放器;libavcodec
一个包含了所有FFmpeg
音视频编解码器的库。为了保证最优性能和高可复用性,大多数编解码器从头开发的;libavformat
一个包含了所有的普通音视格式的解析器和产生器的库。
帧率:帧率(Frame rate)也叫帧频率,帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至少需要15帧。
码率:比特率(Bit rate)(也叫码率,数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的字节数,码率和视频质量成正比,在视频文件中中比特率用bps来表达。
【帧率】
1、用 -r 参数设置帧率
ffmpeg –i input –r fps output
2、用fps filter设置帧率
ffmpeg -i 1.mp4-vf fps=fps=25 11.mp4
例如设置帧率为29.97fps,下面三种方式具有相同的结果:
ffmpeg -i input.avi -r 29.97 output.mp4
ffmpeg -i input.avi -r 30000/1001 output.mp4
ffmpeg -i input.avi -r netsc output.mp4
【码率】设置参数-b
ffmpeg -i 1.mp4 -b 1.5M 2.mp4
音频:-b:a
视频: - b:v
设置视频码率为1500kbps
ffmpeg -i input.avi -b:v 1500k output.mp4
控制输出文件大小
-fs (file size首字母缩写)
ffmpeg -i input.avi -fs 1024K output.mp4
计算输出文件大小:( 视频码率 + 音频码率 ) * 时长 / 8 = 文件大小(K)
二、视频压缩
命令行参数-crf
优先保证画面质量(转码时间可能较长)的情况下,使用-crf参数压缩,取值范围为0~51,其中0为无损模式,数值越大,画质越差,输出文件越小。
参考值:18~28,18被认为是视觉无损的,输出视频质量和输入视频相当。
ffmpeg -i 源文件.mov -c:v libx264 -preset veryslow -crf 18 -c:a copy 目标文件.mp4
意思是:将D盘的源文件src.mov,以 veryslow 的速度重新编码成H.264格式并保存为mp4文件。-preset指定的编码速度越慢,获得的压缩效率就越高。
查看 -preset 取值范围:
ffmpeg -i 源文件.mov -c:v libx264 -preset -tune 目标文件.mp4
-c:a copy 是将音频数据从源文件中以原有编码格式直接拷入目标文件。
-c:v 参数取值查看
ffmpeg -encoders
ffmpeg 常用知识点收集的更多相关文章
- FFmpeg 常用命令收集
FFmpeg 常用命令 合并视频 ffmpeg -i "KTDS-820A_FHD.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts i ...
- HTML常用知识点代码演示
1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...
- js基础知识点收集
js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); ...
- ffmpeg常用基本命令(转)
[FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...
- WEB前端常用网站收集
WEB前端常用网站收集整理 w3school.w3schools 前端里.脚本之家.素材家园 17素材.frontopen NEC更好的CSS方案.一些常用的JS实例 Bootstrap 官网 h ...
- DB2_SQL_常用知识点&实践
DB2_SQL_常用知识点&实践 一.删除表中的数据(delete或truncate) 1 truncate table T_USER immediate; 说明:Truncate是一个能够快 ...
- c# ffmpeg常用参数
c# ffmpeg常用参数 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 ...
- FFmpeg常用基本命令
FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...
- JS 常用功能收集
JS 常用效果收集 1. 回到顶部>> 爱词霸
随机推荐
- Java基础00-形参和返回值22
1. 形参和返回值 1.1 类名作为形参和返回值 1.2 抽象类名作为形参和返回值 代码示例: 方法的形参是抽象类名 抽象动物类:定义了一个抽象的eat方法 动物的操作类:创建一个useAnimal方 ...
- 手写Spring框架,是时候撸个AOP与Bean生命周期融合了!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 嘎小子,这片代码水太深你把握不住! 在电视剧<楚汉传奇>中有这么一段刘邦 ...
- 转载:使用jquery刷新当前页面以及其他js知识积累
转载:https://www.cnblogs.com/heguihui/p/10505949.html 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.loc ...
- 7.27考试总结(NOIP模拟25)[random·string·queue]
死亡的尽头,没有神 T1 random 解题思路 这波是找规律完胜了.. lby dalao根据样例找出了正确的式子:\(\dfrac{n^2-1}{9}\) 然而,我这个菜鸡却推出了这样一个错误的式 ...
- Apache Flink上传路径遍历(CVE-2020-17518)
影响版本 Flink1.5.1-1.11.2 复现 POST /jars/upload HTTP/1.1 Host: localhost:8081 Accept-Encoding: gzip, def ...
- 声明提前(hoist)
程序执行前,都会先找到var声明的变量和function声明的函数. 一.var声明的变量 程序 结果 console.log(a); var a=10; console.log(a); //unde ...
- Session与Cookie的原理以及使用小案例>从零开始学JAVA系列
目录 Session与Cookie的原理以及使用小案例 Cookie和Session所解决的问题 Session与Cookie的原理 Cookie的原理 Cookie的失效时机 小提示 Session ...
- 洛谷P1880题解
题目 第一类区间DP模板题. 所谓第一类区间DP,是指合并型区间DP,状态转移方程一般形如 \(f_{i,j}=\max{f_{i,k}+f_{k+1,j}+cost_{i,j}}\) ,时间复杂度一 ...
- alpakka-kafka(6)-kafka应用案例,用户接口
了解了kafka原理之后,对kafka的的应用场景有了一些想法.在下面的一系列讨论中把最近一个项目中关于kafka的应用介绍一下. 先介绍一下使用kafka的起因:任何进销存系统,销售开单部分都应该算 ...
- 在游戏中播放cg视频遇到的问题
遇到问题 我们线上手游要给港澳台用户增加cg视频,在我之前文章中已经讲到了我们是怎么在unity中播放cg的--><使用AVPro Video在Unity中播放开场视频(CG)笔记> ...