利用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的更新又很快 ...
随机推荐
- json-patch 了解
What is JSON Patch? JSON Patch is a format for describing changes to a JSON document. It can be used ...
- redis的maxmemory与maxmemory-policy关系
如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM.r ...
- FastAdmin 升级后出现 is already in use
FastAdmin 升级后出现 is already in use 升级 FastAdmin 改进很多,但全新安装出现以下错误 Cannot use app\common\library\Menu a ...
- [C++ Primer] 第3章: 字符串, 向量和数组
标准库类型string string初始化 string s2(s1); string s2 = s1; string s3("value"); string s3 = " ...
- js基础篇(dom操作,字符串,this等)
首先我们来看这样一道题 <div id='foo' class='aa bb cc'></div>写出如何判断此div中是否含有aa(注:aa成立,aaa不成立) 首先,我们一 ...
- js cookie 工具类
/*cookie start*/ var Cookie=new function(){ //添加cookie this.add=function(name,value,hours){ var life ...
- 简化Redis数据访问代码RedisTemplate
---恢复内容开始--- Redis数据结构简介: Redis可以存储键与5中数据结构类型之间的映射,这5中数据结构类型分别是;String(字符串),List(列表),Set(集合),Hash(散列 ...
- java之序列化与反序列化
1.这里主要是介绍Protobuf提供的序列化与反序列化的高效性.相对于传统的java提供的序列化来说,Protobuf的效率提高了很多倍.但是也有不足的地方,就是proto在对象序列化的时候抛弃了很 ...
- java中如何制定自定义异常
package gys; public class ExpetionTest { public static void main(String[] args) { NumberCheck n=new ...
- TNS-12535: TNS:operation timed out、TNS-00505: Operation timed out
在查看alert日志的时候发现: 1 *********************************************************************** 2 3 Fatal ...