FFmpeg/WebRTC/RTMP音视频流媒体技术

FFmpeg/WebRTC/RTMP音视频流媒体技术

1 音视频基础知识

1.1 FFMPEG环境搭建

  • Windows平台搭建FFMPEG
  • Linux平台搭建FFMPEG

1.2 音视频基础

  • 音频基础
  • 视频基础
  • 常用工具
    • Medialnfo
    • VLC播放器

2 FFMPEG命令

  • 视频录制
  • 多媒体文件的分解/复用
  • 裁剪与合并
  • 图片/视频互转
  • 直播相关
  • 各种滤镜

3 FFMPEG编程实战

3.1 音视频渲染

  • SDL环境搭建
  • SDL事件
  • SDL线程
  • YUV视频播放
  • PCM声音播放

3.2 FFmpeg API

  • FFmpeg框架
  • FFmpeg内存模型
  • FFmpeg常用结构体

3.3 音视频编码

  • AAC编解码原理
  • H264编解码原理
  • AAC解码
  • AAC编码
  • H264解码
  • H264编码
  • FFmpeg解码流程
  • FFmpeg编码流程

3.4 音视频封装格式

  • FLV封装格式
  • MP4封装格式
  • 多媒体解复用
  • 多媒体复用实战
  • 多媒体转封装格式实战

3.5 音视频过滤器实战

  • 音视频过滤器
  • 视频过滤器

3.6 播放器开发实战

  • 播放器框架分析
  • 模块划分
  • 音视频解码
  • 播放器控制
  • 音视频同步

3.7 ffplay播放器

  • 掌握ffplay.c的意义
  • ffplay框架分析
  • 音视频解码
  • 音视频控制
  • 音视频同步
  • 参数机制

3.8 ffmpeg录制转码

  • 掌握ffmpeg.c
  • ffmpeg框架
  • 音视频编码
  • 封装格式转换
  • 提取音频
  • 提取视频
  • logo叠加
  • 音视频文件拼接
  • filter机制

4 流媒体

4.1 rtmp流媒体

  • rtmp协议
  • wireshark抓包
  • rtmp拉流
  • rtmp推流

4.2 hls流媒体

  • hls协议
  • HTTP协议
  • TS格式
  • wireshark抓包
  • hls拉流
  • ffmpeg hls源码
  • hls多码率机制

4.3 http-flv流媒体

  • http-flv协议
  • wireshark抓包
  • http chunk机制
  • http-flv拉流
  • ffmpeg http-flv源码

4.4 RTMP/HLS/HTTP-FLV流媒体服务器

  • 整体框架
  • rtmp推流
  • rtmp拉流
  • hls拉流
  • http-flv拉流
  • FFmpeg转码
  • 首屏秒开技术
  • forward集群源码
  • edge集群源码
  • 负载均衡部署方式

4.5 RTSP流媒体

  • RTSP协议
  • RTP协议
  • RTCP协议
  • RTSP流媒体服务器搭建
  • RTSP推流
  • RTSP拉流
  • wireshark抓包
  • RTSP流媒体服务器

5 WEBRTC

5.1 WebRTC中级开发

  • WebRTC通话原理
  • WebRTC开发环境搭建
  • coturn最佳搭建
  • 如何采集音视频数据
  • —对—通话时序
  • 信令服务器设计
  • Web一对一通话
  • Web和Android通话
  • AppRTC

5.2 WebRTC高级开发

  • 自定义摄像头分辨率
  • 码率限制
  • 调整编码器顺序
  • Mesh模型多方通话
  • Janus框架
  • Janus Web客户端源码
  • Janus Android客户端源码
  • Janus Windows客户端源码
  • Janus信令设计
  • 基于Janus实现会议系统
  • WebRTC源码编译
  • 拥塞控制算法
  • FEC
  • jitter buffer

5.3 Janus服务器源码

  • 源码结构
  • 插件机制
  • 线程
  • 信令交互过程
  • videoroom
  • sdp
  • rtp
  • srtp
  • rtcp
  • stun
  • turn

更多音视频相关信息,请看https://github.com/0voice/audio_video_streaming

#互联网求职##音频工程师##图像视频研究员#
全部评论
好人一生平安
点赞 回复
分享
发布于 2021-08-06 18:16
好人一生平安,谢谢哈
点赞 回复
分享
发布于 2023-02-10 16:00 广东
联想
校招火热招聘中
官网直投

相关推荐

音视频面经合集:腾讯、快手、OPPO、美团。纯靠面试后的回想,应该会有不少的疏漏。合集(下):快手 美团快手音视频SDK开发(一二三面都是一小时+):一面:1.自我介绍2.360度视频;播放360视频是怎么做的;跟一般视频的编码区别;360视频生成;3.播放器项目:音视频同步实现;为什么要做同步;解码模块;包与帧的缓存设计;4.音视频问题:PTS与DTS的区别;视频帧格式;YUV RGB相关问题;H265相对于H264的改进;超高倍速怎么实现;5.智能指针;播放器项目中的线程安全设计 锁 条件变量;6.做题:反转链表;二叉树的最大宽度二面:1.所做的科研工作(这里聊了很久) 介绍一下项目 2.MP4 3.视频编码 变换的具体操作 变换是无损编码嘛4.面向对象特性 多态 模板 lambda函数 5.做题 第K个排列三面:1.自我介绍 2.音视频相关场景题: 用户端4k解码限制 怎么实现8K的效果; 360视频分区域ROI编码;网络受限怎么调整编码或者传输;360科研项目简单介绍;超分的实现方法;3.C++基础:C++特性;内联函数 内联与宏定义的区别;菱形继承;C++与C为什么不能一起编 extern ;智能指针sharedptr是线程安全的嘛 weakptr 4.线程同步方式 自旋锁 生产者消费者模式中的线程同步问题 5.HTTP相关;TCP的粘包 滑动窗口 6.播放器项目 音视频同步 SEEK的操作与目的 为什么缓冲区要清空 倍速 7.LRU缓存美团音视频开发(一二面都是一小时左右):一面:1.自我介绍2.TCP挥手;close_wait状态;服务端很多close_wait状态是什么原因;服务端很多time_wait状态是什么原因,风险,解决方案;3.智能指针;auto_ptr;多态;虚函数的实现;纯虚函数;4.进程和线程的区别;协程;线程独享的资源,为什么要这些资源;5.不用额外空间,完成两个值的交换;6.FLV;RTMP握手,后续的交互过程;7.做题:重排链表二面:1.挑一个项目介绍;2.拓展360视频的一些内容;3.STL sort函数,一个普适的sort函数实现;4.http相关;TCP close_wait状态相关;5.FLV SRS 6.做题:翻转K个一组链表
点赞 评论 收藏
转发
10 58 评论
分享
牛客网
牛客企业服务