当我们制作视频的时候,录制完成的视频往往很大,很容易超过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转压视频的说明的更多相关文章

  1. 利用ffmpeg给小视频结尾增加logo水印

    背景 1.app有类似微信拍摄小视频功能,时长上限8s,视频文件保存在第三方云存储,app直接上传,后端数据库只记录视频的存放地址. 2.最近一次功能迭代,增加了小视频下载功能,小视频有可能在别的社交 ...

  2. 利用Ffmpeg获得flv视频缩略图和视频时间的代码

    问题描述:获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案 ...

  3. 利用FFmpeg生成视频缩略图 2.1.6

    利用FFmpeg生成视频缩略图 1.下载FFmpeg文件包,解压包里的\bin\下的文件解压到 D:\ffmpeg\ 目录下. 下载地址 http://ffmpeg.zeranoe.com/build ...

  4. 利用FFmpeg生成视频的缩略视频 v8.3

    目前生成视频缩略图的工具大多数是生成静态的图片,为了解决这样的局限性,这 次春节期间搞了个利用 FFMpeg 能生成缩略动态视频的批处理. 把 Make_NxM_videos.bat LED_font ...

  5. 利用FFmpeg玩转Android视频录制与压缩(二)<转>

    转载出处:http://blog.csdn.net/mabeijianxi/article/details/72983362 预热 时光荏苒,光阴如梭,离上一次吹牛逼已经过去了两三个月,身边很多人的女 ...

  6. 【VS开发】【视频开发】利用ffmpeg+opencv实现画中画

    需求:把两路视频合成一路,即一个画面同时显示两路视频,其中一路缩小成小视频叠在大视频上面,和电视机的画中画效果类似. 思路:用h264编码的视频举例,文件中存储的es流是h264,经过解码成yuv,y ...

  7. C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析

    最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...

  8. (转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片

    你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片. 什么是ffmpeg?What is ffmpeg? ffmpeg是一个非常有用的命令行程 ...

  9. 【转】学习FFmpeg API – 解码视频

    ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...

随机推荐

  1. json-patch 了解

    What is JSON Patch? JSON Patch is a format for describing changes to a JSON document. It can be used ...

  2. redis的maxmemory与maxmemory-policy关系

    如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM.r ...

  3. FastAdmin 升级后出现 is already in use

    FastAdmin 升级后出现 is already in use 升级 FastAdmin 改进很多,但全新安装出现以下错误 Cannot use app\common\library\Menu a ...

  4. [C++ Primer] 第3章: 字符串, 向量和数组

    标准库类型string string初始化 string s2(s1); string s2 = s1; string s3("value"); string s3 = " ...

  5. js基础篇(dom操作,字符串,this等)

    首先我们来看这样一道题 <div id='foo' class='aa bb cc'></div>写出如何判断此div中是否含有aa(注:aa成立,aaa不成立) 首先,我们一 ...

  6. js cookie 工具类

    /*cookie start*/ var Cookie=new function(){ //添加cookie this.add=function(name,value,hours){ var life ...

  7. 简化Redis数据访问代码RedisTemplate

    ---恢复内容开始--- Redis数据结构简介: Redis可以存储键与5中数据结构类型之间的映射,这5中数据结构类型分别是;String(字符串),List(列表),Set(集合),Hash(散列 ...

  8. java之序列化与反序列化

    1.这里主要是介绍Protobuf提供的序列化与反序列化的高效性.相对于传统的java提供的序列化来说,Protobuf的效率提高了很多倍.但是也有不足的地方,就是proto在对象序列化的时候抛弃了很 ...

  9. java中如何制定自定义异常

    package gys; public class ExpetionTest { public static void main(String[] args) { NumberCheck n=new ...

  10. TNS-12535: TNS:operation timed out、TNS-00505: Operation timed out

    在查看alert日志的时候发现: 1 *********************************************************************** 2 3 Fatal ...