ffmpeg相关资料

本文介绍学习音视频通信、及ffmpeg相关的知识点

Mac上手动编译ffmpeg

ffmpeg使用了make来维护代码,所以不能使用cmake gui这类可视化的工具来编译。

在Mac上编译的话比较简单,可以使用brew帮忙下载依赖的第三方工具。同unix系统及其派生系统一样,都是使用下面的指令进行编译和安装的:

./configure
make
make install

并且还可以指定安装位置。具体请参考ffmpeg官网的一篇文章 Generic Compilation Guide

在各个平台上碰到问题都可以参考网页: FFmpeg Compilation Guide
在我的电脑上,使用brew安装了ffmpeg之后,再编译从源码ffmpeg会提示需要安装: yasm和pkg-config,需要使用homebrew来安装。

如果想要研究ffmpeg最好是可以自己编译一下,这样有调试信息的库方便调试。在Mac上编译ffmpeg的时候,可以设置一下编译选项中的prefix,比如我设置的是:

./configure --prefix=/Users/hj/ffmpeg/build --enable-shared

这样在make install的时候就会将生成的文件拷贝进指定的prefix目录的相应子目录下:

➜  build git:(release/4.1) ✗ l
total 0
drwxr-xr-x   6 hj  staff   192B Jul  4 16:47 .
drwxr-xr-x  49 hj  staff   1.5K Jul  4 16:47 ..
drwxr-xr-x   5 hj  staff   160B Jul  4 16:47 bin
drwxr-xr-x   9 hj  staff   288B Jul  4 16:47 include
drwxr-xr-x  10 hj  staff   320B Jul  4 16:47 lib
drwxr-xr-x   4 hj  staff   128B Jul  4 16:47 share

在我的电脑上编译一次ffmpeg的时间大概是12分钟。

示例代码

视频

电子书

目前来说,找到的一些ffmpeg的电子书基本都是重点介绍命令行功能。毕竟ffmpeg的初始功能就是这个。

文档

网站

  • ffmpeg官网的 wiki 这是一个必须重视的网站
  • ffmpeg文档中提到的一个网站 MultimediaWiki 它致力于打造一个收集各种与多媒体有关的信息获取和编辑的地方
  • 即时通信网 里面有好多大牛
  • LiveVideoStack的的一些专题的 演讲回顾 我们沪江的唐小浙是LiveVideoStack的联席主席之一,大招在里面是讲师。
  • xiph 一个制定免费开源音视频编码实现的非盈利机构,制定了Theora 视频编码、Vorbis 音频编码、Ogg 容器格式。还提供了一些测试资源 Xiph.org Test Media
  • SDL 一个多媒体库,封装了计算机外设接口,可视化接口

博客

工具

视频流分析工具,其中有的是商业的,有的是免费的。

  • Elecard Stream Analyzer (commercial)
  • CodecVisa (commercial)
  • Intel Video Pro Analyzer (commercial)
  • AOMAnalyzer (free, AV1/VP9 video)

上面4个工具摘自 FFmpeg Encoding and Editing Course 第53页

  • mp4info 一个可视化的查看mp4文件信息的工具

相关标准化组织

  • ITU:International Telecommunications Union
  • VCEG: Video Coding Experts Group is a working group of the ITU Telecommunication Standardization Sector (ITU-T) concerned with video coding standards.
  • VQEG Video Quality Experts Group (VQEG) 有一个免费视频资源,可用来测试。
  • ISO: International Standards Organization
  • MPEG: Motion Picture Experts Group
  • 3GPP: 3rd Generation Partnership Project (3GPP). The Mobile Broadband Standard

相关专业以及参考资料

与音视频编解码相关的专业有通信专业,电子信息专业……

与之相关的课程有:信号与系统,数字信号处理,信息论。弱相关的有数电模电、通信原理……

参考殷汶杰在知乎上的回答,相关的职位有:

  • 编解码算法研究(要求博士及以上学位),职位较少,偏研究类型
  • 算法工程实现 属于工程领域。就是要熟悉ffmpeg,x264 x265这些开源项目,要求了解主流图像视频编解码&压缩原理
  • 音视频应用开发,属于工程领域。就是在不同的平台上实现业务逻辑,要求是熟悉平台(PC、移动、及不同的操作系统)相关技术、概念、框架。同一个音视频通信模型的概念在不同平台上有不一样的实现,比如DirectX家族、OpenGL、GDI,speexdsp、libfaac、opus、speex、ffmpeg,还有计算机网络相关知识,TCP/IP相关协议RTMP、RSTP、HLS、HDL等……在采集、传输、处理、渲染4个环节都有很多具体的平台实现。参考【音视频开发】开发小白如何成为音视频专家?

直播测试流

M3U8 流

  • CCTV 1 直播流 :http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8
  • CCTV 6 直播流 :http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8
  • CCTV 8 直播流 :http://ivi.bupt.edu.cn/hls/cctv8hd.m3u8

常见格式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。 解封装的作用,就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。 解码的作用,就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。 视音频同步的作用,就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。 接下来的几节我们将会列出主要的流媒体协议,封装格式,以及视音频编码标准。更详细的比较可以参考: 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比 有关本文中涉及到的协议数据、封装格式数据、视频编码数据、音频编码数据、视频像素数据、音频采样数据的分析可以参考下面系列文章:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值