玩转音频、视频的利器:FFmpeg

作者:周超

导语

当下直播平台发展十分迅猛,依靠游戏内直播平台的发展带动游戏活跃提升收入,那么对于我们开发来说如何玩转视频呢?下面就来介绍一个音频、视频处理利器——FFmpeg。

FFmpeg 简介

FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。

FFmpeg 使用

  • 格式转换:将文件 test.flv 转换成 output.mp4
 # ffmpeg -i test.flv output.mp4

-i 表示输入文件

  • 视频和音频分离
# ffmpeg -i test.flv -vn music.mp3

-vn 表示忽略视频

# ffmpeg -i test.flv -an video.flv

-an 表示忽略音频

  • 压缩 mp3 文件:通过改变比特率,可以调整 mp3 文件的大小
# ffmpeg -i test.mp3 -ab 96 output.mp3

-ab 设置比特率,单位:bit/s

  • 从视频中截取图片:从视频第 8 秒处截图,图片尺寸大小:480x320,截图文件名:test.jpg
# ffmpeg -i test.flv -f image2 -ss 5 -t 0.01 -s 480x320 test.jpg

-f 强制选择格式

-ss 搜索到指定时间,支持格式:[-]hh:mm:ss[.xxx],时间单位:秒

-t 设置记录时间

-s 设置帧的大小

  • 获取视频时长
# ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
  • 视频切片
# ffmpeg -i test.flv -strict -2 -c:v libx264 -c:a aac -f hls output.m3u8

-strict 跟标准的严格性

  • 转换 ts 文件并生成 m3u8

将 mp4 文件转换成 ts 文件

# ffmpeg -i test.mp4 -c copy -bsf h264_mp4toannexb output.ts

将 ts 切片,并且生成 m3u8 文件

# ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list 'list.m3u8' -segment_time 10 'output0d.ts'

ts 文件:传输流文件,视频编码主要格式 h264/mpeg4,音频为 acc/mp3。

m3u8 文件:用文本方式对媒体文件进行描述,由一系列标签组成。

总结

以上是对 FFmpeg 功能的一些简单的介绍,它的功能远远不止这些,还十分强大,有兴趣的小伙伴可以后续一起研究探讨,充分利用好这一个强大的利器。

附录

FFmpeg 官网:http://ffmpeg.org/

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏草根博客站长有话说

使用 Google Publisher Toolbar 扩展管理站点 AdSense 广告

今天给大家讲讲 Chrome 浏览器明月必装的扩展之一,Google Publisher Toolbar(Google 发布商工具栏)。对于投放了 AdSens...

893
来自专栏ytkah

配合dedecms内容模型实现后台输入栏目id前端输出文章列表

  为了简化开发的工作量,也方便编辑快速操作,决定将后台进行重新设置。配合dedecms内容模型实现后台输入栏目id前端输出文章列表,这样制作科室专题页也变快了...

2675
来自专栏知晓程序

这个小程序,即使马化腾也要等 8 年 | 亲儿子

914
来自专栏我的小碗汤

【插件】解放鼠标,让浏览器更智能

首先感谢大家参与这周的送书活动。已经给小助手微信发送好友请求的,不要着急,这两天会通过验证,并拉大家进入抽奖群参与抽奖,大家肯定都可以参与的。

672
来自专栏开源项目

码云推荐 | QR 二维码生成器 FiwanQRCode

飞网二维码生成工具,面向开发人员,和经常接触使用各种二维码的人,这个工具能帮助开发二维码的人员生成各种格式二维码,包括 png,jpg,bpm,gif 等。 项...

2616
来自专栏web编程技术分享

【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第七节)

2999
来自专栏七夜安全博客

“跳一跳”游戏外挂原理详析(手动版)

1343
来自专栏落花落雨不落叶

自己写的一个天气查询应用

2668
来自专栏Coding01

我是如何利用 workflow + 印象笔记搜集文章素材的

这段时间开始试着写作,发现需要考虑的,要做的前期工作还是很多,其中最耗时的估计就是:搜集素材

865
来自专栏opengps

openGPS.cn - 浏览器定位技术探讨(HTML5定位)

浏览器定位,也就是HTML5定位,据我目前的理解,这俩其实是一个概念。都是随着html5技术的发展而开始进入大众视野。 ​原文连接发布在https://...

4196

扫码关注云+社区