当我们制作视频的时候,录制完成的视频往往很大,很容易超过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. Java编程之Map中分拣思想。

    题目:给定一个字符串,求出字符串中每一个单词在字符串中出现的次数 旨意:map的分拣思想. 每一个key的包装类,存放出现的次数 /** * 作为包装类,用来存放英文单词,和该英文单词出现的次数 * ...

  2. vue中去掉url地址栏中的#符号

    要去掉vue中访问地址中的#符号可以在路由器中设置路由模式为history: export default new Router({ mode:'history', routes: [ { path: ...

  3. python学习(一)—简明python教程

    2016-04-12 15:59:47 1. 介绍2. 安装Python3. 最初的步骤4. 基本概念5. 运算符与表达式6. 控制流7. 函数8. 模块9. 数据结构10. 解决问题——编写一个Py ...

  4. Hive之 数据存储

    首先,Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据. 其次 ...

  5. 如何查看oracle表空间是否自动扩展

    select file_name,autoextensible,increment_by from dba_data_files

  6. 1711 Number Sequence(kmp)

    Number Sequence Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) To ...

  7. Golang后台开发初体验

    转自:http://blog.csdn.net/cszhouwei/article/details/37740277 补充反馈 slice 既然聊到slice,就不得不提它的近亲array,这里不太想 ...

  8. HttpContext.Current并非无处不在

    阅读目录 开始 无处不在的HttpContext HttpContext.Current到底保存在哪里? HttpContext并非无处不在! 如何获取文件绝对路径? 异步调用中如何访问HttpCon ...

  9. css字体中英文对照表(转)

     在css文件中,我们常看到有些字体名称变成了乱码,这是由于网页开发者将中文字体的名字直接写成了中文,而css文件本身没有声明字符编码方式,查看时就出现了乱码.为了避免这种乱码状况出现,可以将css文 ...

  10. maven核心概念及约定的目录结构