利用FFmpeg转压视频的说明
当我们制作视频的时候,录制完成的视频往往很大,很容易超过50M,上传的时候会很慢。下面将相关技巧说明如下(转载,版权属于原作者所有)。
利用FFmpeg转压视频的说明
录制介绍视频时可以用尽可能高的分辨率和帧数进行录制,例如以1080P/60FPS进行原始视频素材录制,导入Pr、FCP之类的软件剪辑好后导出文件,假设为origin.mp4。
一、 安装FFmpeg
a) 如果是macOS平台,直接使用homebrew安装即可:brew install ffmpeg
b) 如果是linux平台,使用apt或者yum进行ffmpeg安装
c) 如果是windows平台,在官网下载windows builds:https://www.ffmpeg.org/download.html,macOS和linux也可以在官网下载ffmpeg的二进制包直接使用
二、 二次转压
a) Mac/Linux:在shell中输入命令:ffmpeg -i origin.mp4 -s 1280x720 -vcodec libx264 -preset fast -crf 20 -acodec libmp3lame out.mp4
b) Windows使用cmd或者powershell,cd到ffmpeg二进制文件目录,使用ffmpeg.exe -I out.mp4 xxxxxxx使用命令(笔者不用windows,所以不确定,如不能使用请自行百度)
c) 使用演示:
http://v.youku.com/v_show/id_XMzE2MDk1MjQ3Ng==.html?spm=a2h3j.8428770.3416059.1
i. 可选参数 -threads x,x为线程数,可以利用多核CPU
ii. origin.mp4为原始视频,out.mp4为输出视频,可自命名
iii. -s后为输出分辨率,可以根据情况自行选择1080P或者是720P输出,个人测试10分钟1080P/60FPS视频,压制后1080P输出大小30~40M,720P输出大小20~30M
iv. -preset 指定x264编码的一些配置
v. -crf 指定输出视频的质量,范围0-51,默认23,数字越小质量越高,一般情况不要低于16,以一个别人提供的例子做说明,压制一段18秒1080P单反视频,压制后大小和crf关系如下图所示:

利用FFmpeg转压视频的说明的更多相关文章
- 利用ffmpeg给小视频结尾增加logo水印
背景 1.app有类似微信拍摄小视频功能,时长上限8s,视频文件保存在第三方云存储,app直接上传,后端数据库只记录视频的存放地址. 2.最近一次功能迭代,增加了小视频下载功能,小视频有可能在别的社交 ...
- 利用Ffmpeg获得flv视频缩略图和视频时间的代码
问题描述:获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案 ...
- 利用FFmpeg生成视频缩略图 2.1.6
利用FFmpeg生成视频缩略图 1.下载FFmpeg文件包,解压包里的\bin\下的文件解压到 D:\ffmpeg\ 目录下. 下载地址 http://ffmpeg.zeranoe.com/build ...
- 利用FFmpeg生成视频的缩略视频 v8.3
目前生成视频缩略图的工具大多数是生成静态的图片,为了解决这样的局限性,这 次春节期间搞了个利用 FFMpeg 能生成缩略动态视频的批处理. 把 Make_NxM_videos.bat LED_font ...
- 利用FFmpeg玩转Android视频录制与压缩(二)<转>
转载出处:http://blog.csdn.net/mabeijianxi/article/details/72983362 预热 时光荏苒,光阴如梭,离上一次吹牛逼已经过去了两三个月,身边很多人的女 ...
- 【VS开发】【视频开发】利用ffmpeg+opencv实现画中画
需求:把两路视频合成一路,即一个画面同时显示两路视频,其中一路缩小成小视频叠在大视频上面,和电视机的画中画效果类似. 思路:用h264编码的视频举例,文件中存储的es流是h264,经过解码成yuv,y ...
- C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析
最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...
- (转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片
你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片. 什么是ffmpeg?What is ffmpeg? ffmpeg是一个非常有用的命令行程 ...
- 【转】学习FFmpeg API – 解码视频
ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...
随机推荐
- Java编程之Map中分拣思想。
题目:给定一个字符串,求出字符串中每一个单词在字符串中出现的次数 旨意:map的分拣思想. 每一个key的包装类,存放出现的次数 /** * 作为包装类,用来存放英文单词,和该英文单词出现的次数 * ...
- vue中去掉url地址栏中的#符号
要去掉vue中访问地址中的#符号可以在路由器中设置路由模式为history: export default new Router({ mode:'history', routes: [ { path: ...
- python学习(一)—简明python教程
2016-04-12 15:59:47 1. 介绍2. 安装Python3. 最初的步骤4. 基本概念5. 运算符与表达式6. 控制流7. 函数8. 模块9. 数据结构10. 解决问题——编写一个Py ...
- Hive之 数据存储
首先,Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据. 其次 ...
- 如何查看oracle表空间是否自动扩展
select file_name,autoextensible,increment_by from dba_data_files
- 1711 Number Sequence(kmp)
Number Sequence Time Limit : 10000/5000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) To ...
- Golang后台开发初体验
转自:http://blog.csdn.net/cszhouwei/article/details/37740277 补充反馈 slice 既然聊到slice,就不得不提它的近亲array,这里不太想 ...
- HttpContext.Current并非无处不在
阅读目录 开始 无处不在的HttpContext HttpContext.Current到底保存在哪里? HttpContext并非无处不在! 如何获取文件绝对路径? 异步调用中如何访问HttpCon ...
- css字体中英文对照表(转)
在css文件中,我们常看到有些字体名称变成了乱码,这是由于网页开发者将中文字体的名字直接写成了中文,而css文件本身没有声明字符编码方式,查看时就出现了乱码.为了避免这种乱码状况出现,可以将css文 ...
- maven核心概念及约定的目录结构