专栏首页生信技能树视频高清低损压缩命令行实现方案推荐

视频高清低损压缩命令行实现方案推荐

通常我们的MAC录制视频后文件都非常大,15min的视频可以达到2G大小,哪怕是三五分钟视频也有好几遍M !!!

所以需要转换,压缩,但是不能降低太多的分辨率。 这里我的御用视频编辑师推荐了一款非常轻量级的命令行工具FFmpeg可以做到,下面是FFmpeg的简短介绍: FFmpeg 是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward”。

还专门有人分享了学习它的笔记:https://github.com/feixiao/ffmpeg 我这里因为只用到了一个格式转换及视频压缩的功能,就只抛砖引玉提一下。

安装

在mac下面安装ffmpeg 只需要两行代码即可:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ffmpeg

其实就是借用了brew来安装ffmpeg。

使用

示例代码是:

ffmpeg -i old.mov -vcodec libx264 -preset fast -crf 20 -y -vf "scale=1920:-1" -acodec libmp3lame -ab 128k new.mp4

参数解释如下:

‘-i filename (input)’  输入文件名
‘-y (global)’  覆盖输出文件而不询问
‘-vf filtergraph (output)’ 创建 filtergraph 指定的过滤图,并使用它来过滤流。
‘-vcodec codec (output)’ 设置视频 codec。
‘-acodec codec (input/output)’ 设置音频codec。 

值得注意的是这里的 acodec 可能设置的并不好,因为它出来的视频在很多视频播放器出现声音无法识别。

所以我学习了这个示例代码后,写的真实代码是:

ffmpeg -i  linux-01-命令行操作的魅力.mov \
-vcodec libx264 -preset fast -crf 20 -y \
-vf "scale=1920:-1" -acodec libmp3lame -ab 128k  \
linux-01-命令行操作的魅力.mp4

效果如下:

 2.1G May  1 15:35 linux-01-命令行操作的魅力.mov
 124M May  1 21:04 linux-01-命令行操作的魅力.mp4

批处理

既然使用命令行程序,当然是批量处理哦。

ls *mov|while read id;do (ffmpeg -i  "$id" -vcodec libx264 -preset fast -crf 20 -y -vf "scale=1920:-1" -acodec libmp3lame -ab 128k   "${id%%.*}.mp4"  );done 

最后结果如下:

1.2G Apr 29 14:37 linux-00-课程序言.mov
62M May  1 22:44 linux-00-课程序言.mp4
2.1G May  1 15:35 linux-01-命令行操作的魅力.mov
124M May  1 21:04 linux-01-命令行操作的魅力.mp4
1.3G May  1 15:56 linux-02-云服务器.mov
110M May  1 23:17 linux-02-云服务器.mp4
1.3G May  1 16:22 linux-03-文件目录操作-上.mov
102M May  1 23:30 linux-03-文件目录操作-上.mp4
1.1G May  1 16:51 linux-03-文件目录操作-下.mov
89M May  1 23:42 linux-03-文件目录操作-下.mp4
1.0G May  1 17:16 linux-04-绝对路径和相对路径.mov
80M May  1 23:53 linux-04-绝对路径和相对路径.mp4
990M May  1 21:39 linux-05-通配符和变量扩展.mov
84M May  2 00:00 linux-05-通配符和变量扩展.mp4
943M May  1 22:04 linux-06-文本处理-上.mov
84M May  2 00:08 linux-06-文本处理-上.mp4
848M May  1 22:35 linux-06-文本处理-下.mov
113M May  2 00:26 linux-06-文本处理-下.mp4

本文分享自微信公众号 - 生信技能树(biotrainee),作者:生信技能树

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何系统入门linux?

    生信分析人员如何系统入门linux? linux系统在生物信息学数据处理中的重要性就不用我多说了,鉴于一直有学生问我一些很显而易见的问题,对应系统性的学习并理解...

    生信技能树
  • 从WGS测序得到的VCF文件里面提取位于外显子区域的【直播】我的基因组84

    首先要下载并且得到人类基因组的外显子坐标记录文件 这里我用的参考基因组版本仍然是hg19,所以去CCDS数据库里面下载对应版本,并且格式化成BED文件。 wge...

    生信技能树
  • 单个肿瘤病人的外显子数据分析策略

    但是实际上肿瘤外显子队列是很烧钱的,通常来说,一个肿瘤病人需要测50X的血液加上200X的肿瘤,基本上3000块钱是跑不了的,100人的队列就是三十好几万了。而...

    生信技能树
  • Oracle计算时间差函数

    1、months_between(date1,date2)  返回两个日期之间的月份的差值 (1)、如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一...

    郑小超.
  • 春招大战腾讯阿里京东面试经验贴-产品小白的进阶之路

    牛客网
  • 为什么说_br__标签需要闭合

    用户7657330
  • 热乎乎的计算机视觉岗实习面经请您查收~~

    面试官人比较友好,自己项目细节一定要熟悉,简历上的东西最好清楚掌握,数据结构和常用算法一定要掌握,这是我的第一个面试经历,不管接下来的面试能否通过,都还是值得纪...

    石晓文
  • 独家 | 一文读懂人工神经网络

    作者:Sidath Asiri 翻译:Nicola 校对:卢苗苗 原文标题:MeetArticial Neural Networks 本文通过使用浅显易懂的语...

    数据派THU
  • 数据结构与算法 -3 :复原IP地址

    首先IP从基本大类分共有五种(分别是A、B、C、D、E类网址),观察这五种网址发现有一个共同点:任何一种IP可以分为四段,每段的十进制数值均小于255,所有数字...

    石璞东
  • 分区操作后索引的状态

    导读:DDL操作是否会导致索引失效的原则上是看是否引起数据发生变化,如果分区的数据发生了改变,则索引需要失效才能保证结果的准确性,如果数据没有发生变化,则索引的...

    数据和云

扫码关注云+社区

领取腾讯云代金券