ffmpeg实时h264 打包ts流_音视频学习从零到整-视频H264编码

一.学习背景

5G网络作为第5代的移动通信网络,它的网络峰值传播速度可1以达到10Gbps/s.这比4G的的传输速度快数百倍.举个例子,整部超高画质电影下载可在1秒钟之内下载完成.

当然,随着5G技术的诞生,用在智能终端分享3D电影,游戏或者超高画质节目的时代已经毫无悬念的向我们走来.

想必大家也逐步了解,国内外的互联网公司也已经布局音视频,3D技术方面的开发者招聘和相关产品研发.目前落地推广最普遍的就是直播类项目和小视频类的项目.当然未来的方向肯定不止如此.

1 什么是编码?

编码就是按照一定的格式记录采样和量化后的数据.

直播项目流程

在直播项目中,一般常见有8个步骤.

  • 音视频采集
  • 视频滤镜
  • 音视频编码
  • 推流
  • 流媒体服务器处理
  • 拉流
  • 音视频解码
  • 音视频播放

这个在开发者面试一些有意向或者目前业务中包含直播需求的公司,最为常见的面试题.不管在我们过往的工作经验是否有直播或音视频相关经验.这个一块都是你必须能了解.希望大家可以简单的了解.

相关框架的学习与使用场景

e4440627211b878d3d6a899265e3e43e.png
  • 采集视频,音频使用iOS原生框架 AVFoundation.framework
  • 视频滤镜处理使用iOS原生框架 CoreImage.framework
  • 使用第三方框架 GPUImage.framework

CoreImage 与 GPUImage 框架比较:

在实际项目开发中,开发者更加倾向使用于GPUImage框架.

首先它在使用性能上与iOS提供的原生框架,并没有差别;其次它的使用便利性高于iOS原生框架,最后也是最重要的GPUImage框架是开源的.而大家如果想要学习GPUImage框架,建议学习OpenGL ES,其实GPUImage的封装和思维都是基于OpenGL ES.

视频音频编码压缩

  • 硬编码
  • 视频: VideoToolBox框架
  • 音频: AudioToolBox 框架

软编码

  • 视频: 使用FFmpeg,X264算法把视频原数据YUV/RGB编码成H264
  • 音频: 使用fdk_aac 将音频数据PCM转换成AAC

推流

  • 推流: 将采集的音频.视频数据通过流媒体协议发送到流媒体服务器
  • 推流技术
  • 流媒体协议: RTMPRTSPHLSFLV
  • 视频封装格式: TSFLV
  • 音频封装格式: Mp3AAC

流媒体服务器

  • 数据分发
  • 截屏
  • 实时转码
  • 内容检测

拉流

  • 拉流: 从流媒体服务器中获取音频视频数据
  • 流媒体协议: RTMPRTSPHLSFLV

音视频解码

  • 硬解码
  • 视频: VideoToolBox框架
  • 音频: AudioToolBox 框架

软解码

  • 视频: 使用FFmpeg,X264算法解码
  • 音频: 使用fdk_aac 解码

播放

  • ijkplayer 播放框架
  • kxmovie 播放框架
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mpeg2-ts(MPEG-2 Transport Stream)是一种用于数字广播和视频传输的协议。它的目标是将音频、视频和其他数据以数据包的形式进行传输和存储。 mpeg2-ts的在线解析涉及将以mpeg2-ts格式编码的媒体文件进行解析和分析,以便播放或进行其他操作。解析过程包括以下几个步骤: 1. 读取文件头信息:首先读取文件的头部信息,其中包括文件的标识符、版本号、编码信息等。通过分析头部信息,可以确定文件的类型和结构。 2. 解析PAT表(Program Association Table):PAT表记录了各个节目的信息和各个PID(Packet ID)的映射关系。通过解析PAT表,可以获取到TS中的所有节目的PID。 3. 解析PMT表(Program Map Table):PMT表描述了各个节目中包含的音频、视频和其他数据的PID,并提供了的详细信息。通过解析PMT表,可以获取到各个节目中各个的PID以及编码格式等相关信息。 4. 解析数据包:根据PID的信息,解析相应的数据包,提取出音频、视频和其他数据。对于音视频数据,还需要进行解码和解封装操作,以便进行播放或进一步处理。 5. 分析和处理数据:分析音视频和其他数据的格式、编码方式以及其他相关信息,以便进行后续处理,如解码、转码、封装等。 通过对mpeg2-ts文件进行在线解析,可以实现对媒体文件的播放、编辑、转码等功能。同时,也可以提取音视频数据进行分析和处理,以满足不同的应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值