热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

音视频WebRTC、X264、FFmpeg、ijkplayer、jsmpeg、Live555、Opus源码解读

前言随着新冠疫情的影响,这两年音视频的需求呈爆发式增长。在音视频领域中,WebRTC可以说是一个绕不开宝库,包括了音视频采集、编解码、传

前言

随着新冠疫情的影响,这两年音视频的需求呈爆发式增长。在音视频领域中,WebRTC可以说是一个绕不开宝库,包括了音视频采集、编解码、传输、渲染的全过程,当然除了WebRTC还有更多的源码值得探讨,如:X264,FFmpeg,ijkplayer ,jsmpeg,Live555,Opus等等。为方便阅读,这里有一份阿里P7大佬亲手整理的音视频精编源码解析分享给大家。

第一章 WebRTC Native 源码导读


  • 安卓相机采集实现分析
  • 安卓预览实现分析
  • 安卓视频硬编码实现分析
  • VideoCRE 与内存抖动优化
  • 安卓 P2P 连接过程和 DataChannel 使用
  • 视频数据 native 层之旅
  • 混音
  • P2P 连接过程完全解析
  • API 概览
  • RTP H.264 封包与解包
    在这里插入图片描述

第二章 X264源码解读


  • 概述
  • x264命令行工具
  • 编码器主干部分-2
  • x264_slice_write()
  • 滤波(Filter)部分
  • 宏块分析(Analysis)部分-帧内宏块(Intra)

第三章 FFmpeg


  • FFmpeg 编译和集成
  • FFmpeg + ANativeWindow 实现视频解码播放
  • FFmpeg + OpenSLES 实现音频解码播放
  • FFmpeg + OpenGLES 实现音频可视化播放
  • FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
  • FFmpeg 播放器实现音视频同步的三种方式
  • FFmpeg + OpenGLES 实现 3D 全景播放器
  • FFmpeg 播放器视频渲染优化
  • FFmpeg、x264以及fdk-aac 编译整合
  • FFmpeg 视频录制 - 视频添加滤镜和编码
  • FFmpeg + Android AudioRecorder 音频录制编码
  • Android FFmpeg 实现带滤镜的微信小视频录制功能

在这里插入图片描述

第四章 ijkplayer 源码分析系列


  • 整体结构总结
  • read_thread流程
  • 解码流程
  • 渲染流程

第五章 jsmpeg源码解析


  • 基础知识 字符处理 ArrayBuffer TypedArray
  • TS码流 PAT PMT
  • 源码buffer.js对Uint8Array的封装
  • 源码ts.js TS格式解析流程
  • 源码mpeg1.js MPEG1码流结构
  • 概要总结

在这里插入图片描述

第六章 Live555源码解析


  • GROUPSOCK
  • MEDIUM媒体基础类
  • MEDIASOURCE、MEDIASINK、MEDIASESSION、MEDIASUBSESSION
  • FRAMEDSOURCE、RTPSOURCE、RTPSINK
  • GENERICMEDIASERVER、RTSPSERVER、RTSPCLIENT
  • testRTSPClient
  • ServerMediaSession、ServerMediaSubsession、live555MediaServer

在这里插入图片描述

第七章 Opus源码解析


  • 简介
  • 编解码器使用
  • 手撸一个Opus编码程序
  • Opus解码程序实现
  • OggOpus封装器全解析
  • Opus编码基础之认识声音
  • Opus编码基础之压缩编码
    在这里插入图片描述

由于篇幅限制,这里只能展示部分内容,朋友们如果需要这份完整版的PDF资料合集,微信扫描下方CSDN官方二维码【免费获取】。

在这里插入图片描述


推荐阅读
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • C#设计模式之八装饰模式(Decorator Pattern)【结构型】
    一、引言今天我们要讲【结构型】设计模式的第三个模式,该模式是【装饰模式】,英文名称:DecoratorPattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理 ... [详细]
  • 说明:主要是基于ghostyu网友整理的《 armmini2440基于v4l2ffmpegx264的视频远程监控》。自己做了一遍,遇到不少问题,就整理记录下来。 1、平台硬件:ar ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
  • windows 下git出现警告:warning: LF will be replaced by CRLF in test1.txt. The file will have its original
    windows下git出现警告:warning:LFwillbereplacedbyCRLFintest1.txt.Thefilewillhaveitsorigina ... [详细]
  • Averysimpleproblem.ItrytorunaverysimpledemotocreatedanddisplayaWindowFramefromEc ... [详细]
author-avatar
双子青春狠别致
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有