FFmpeg之音视频相关概念

原创 2016年05月31日 14:12:38

音视频参数

码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别
http://blog.csdn.net/xiangjai/article/details/44238005

音视频流程

整体流程
–>解协议(网络流媒体需要,本地不需要):将音视频从网络协议(RTSP/RTMP/HLS)中取出
–>解封装:将音视频从封装格式(MP4/RMVB,这些格式其实就是按照一定的格式放到一起)中取出;例如:FLV解封后取出H.264视频流和ACC音频流
–>解码:将音视频从压缩标准(H.264/ACC等)中解码出来,得到原始非压缩音视频数据如视频(YUV420P/RGB等)音频(PCM)
–>音视频同步


这里写图片描述
常用封装(MKV/MP4)与编码(H.264/ACC)对应表
这里写图片描述

视音频压缩原理(从YUV大文件到H.264小文件)

视频HEVC > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2
无损压缩:利用数据冗余(即各像素直接存在着很强的关联性)来进行压缩
有损压缩:利用视觉冗余(人眼对亮度等的辨别阙值)来进行压缩
音频AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3
有损压缩
当声音小于一定值人耳听不到则去掉
当强音信号和弱音信号同时出现,人耳也听不到去掉

本人测试13M的mp4(5s长度)解码为YUV大小是600多M;

网络协议

  • RTSP:rtp、rtcp协议,底层是udp;易丢包适合采用专线(eg:IPTV)
  • RTMP:底层TCP;目前flash都可以支持
  • HLS:苹果产品,基于HTTP底层TCP;采用将视频分成多段(每段几秒),延迟比较长
  • WebRTC
  • P2P

架构

  • 发布端
    • 编解码器H264+ACC
    • 开源软件OBS、Flash Media Live Encoder
  • 播发端
    • PC:VLC、Flash网页
    • 手机h5:rtmp转hls
    • APP:ffmpe
      –> ffmpeg负责编解转码(OPENSL ES/OPENGL ES负责播放音/视频,它们是android底层提供的;此外也可以用SDL)

开源框架

  • SRS(Simple Rtmp Server):支持RTMP
  • CRTMP:支持RTSP/RTMP/HLS;流媒体服务器
  • nginx-rtmp
  • red5
  • FMS(adobe产品 Flash Media Server 收费)

本人的理解,视频原始的YUV等数据,经过压缩打包成H264格式数据,最后再将音视频等排序便是我们熟知的MP4等格式了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

基于Video4Linux 的USB 摄像头图像采集实现

做了一段时间的摄像头图像采集,有了一些心得。在论坛上开的2410摄像头 问题专贴(http://www.hhcn.com/cgi-bin/topic.cgi?forum=1&topic=247&sh...

基于USB摄像头视频数据采集和利用FFMPEG库函数进行视频数据压缩

Linux系统中提供的视频设备驱动程序V4L2编程可以提供我们操作视频设备,比如摄像头。同时我们可以用开源的ffmpeg库中的函数实现所采集的视频数据进行压缩编码,生成我们需要的视频格式。下面的代码,...
  • yakimin
  • yakimin
  • 2014年02月16日 13:20
  • 4159

从零开始学习音视频编程技术(八)FFMPEG Qt视频播放器之音视频同步

从零开始学习音视频编程技术(八) FFMPEG Qt视频播放器之音视频同步 分享到:QQ空间微信新浪微博腾讯微博人人网 时间:2016年09月12日 人气:1094 前面...

从零开始学习音视频编程技术(八) FFMPEG Qt视频播放器之音视频同步

原文地址:http://blog.yundiantech.com/?log=blog&id=11 前面分别讲解了: 用FFMPEG和Qt解码视频并显示到界面上。 用F...

Android Multimedia框架总结(十)Stagefright框架之音视频输出过程

前言:上篇文中最后介绍了数据解码放到Buffer过程,今天分析的是stagefright框架中音视频输出过程: 先看下今天的Agenda: - 一张图回顾数据处理过程 - 视频渲染器构建过程 - 音...

HTML之音视频

1:视频 标签定义视频,比如电影片段或其他视频流。   您的浏览器不支持 video 标签。 2:视频格式                video元素支持的创建视频格式和对于不同视频...

iOS开发之音视频边下边播缓存方案

阿勒,没想到第一篇文章我就标题党了... 不过,我还真没看到目前有哪个公开的实现方案有做的更好的,可能是我孤陋寡闻,如果你知道更好的方案,一定要留言告诉我,鞠躬.. 进入正题,这次的主要内容  ...
  • hmh007
  • hmh007
  • 2017年04月10日 10:53
  • 1302

iPhone开发之音视频的播放——MPMoviePlayerViewController和AVAutoPlayer的使用

新建工程,添加音视频框架  编辑控制器的.h文件如下: // // ViewController.h // 音视频预习 // // Created by apple on 15/9/4. // ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FFmpeg之音视频相关概念
举报原因:
原因补充:

(最多只允许输入30个字)