音视频流媒体服务器(学习日记)

学习路线

1、必备基础知识

1.1、开发语言

        推荐使用C/C++,因为有很多底层的库是使用C/C++去编写的,当然,也可以使用go语言。

1.2、网络编程基础知识

        这个对于每一个从事后端开发的程序员是必须要去学会的。至少要知道i/o多路复用(select、poll和epoll),还有一些同步事件处理模式(reactor和proactor)。要知道TCP/UDP,HTTP这些协议是什么。

1.3、音频基础知识

        采样率,声道,音频帧,pcm,音频编码格式:aac,g711,opus,mp3等。音频的封装格式:mp3,wav,wma,midi,aac,cda,mov等。对于这些,要知道概念。

1.4、视频基础知识

        了解像素,图片,图片格式,rgb,yuv,视频编码格式:h264,h265等,视频封装格式:mp4,mov,3gp,mkv,avi,flv,ps,ts等。同样也需要知道一些概念。

2、音视频开发方向的专属网络编程

2.1、AI+安防

        主要用到的网络协议:gb28181,sip,rtsp,rtp,rtcp;部分功能需要用到的网络协议:rtmp,http-flv,hls。

2.2、直播+点播

        主要用到:rtmp,http-flv,hls,cdn2,部分功能需要用到:WebRTC。

2.3、WebRTC

        信令服务器;NAT 网络地址转换协议;STUN/TURN中继服务器;P2P通信。

3、推荐学习路线(基础入门)

3.1、ffmpeg

        首先可以学一学ffmpeg命令行相关的知识,这样有利于从表面上了解一些音视频相关的的技术点。

3.2、网络编程的基础知识

        这一步基本上对于科班出身的同学来说都学过,参考1.2,学到至少要能基于socket写一个最简单的TcpServer和TcpClient。并能够发送和接收字节流数据。

3.3、RTSP

        无论是选择上述三个音视频开发方向的任意一个,都需要从基础原理开始学习,推荐从RTSP协议开始流媒体开发的学习,因为RTSP协议是所有流媒体协议中最具有代表性的。而且在学习RTSP的过程中,也可以再一步一步的补充1.3音频和1.4视频的基础知识。

3.4、小项目

        RTSP协议学完后,再学习一个基于socket多路复用技术,开发一个简单的RTSP流媒体服务器RTMP直播服务器的相关项目。这个时候基本上完全就搞懂了流媒体服务器是怎么一回事,之后无论是学习AI安防方向,还是直播方向,都会比较容易选择且目标清晰了,再找一找开源的项目看一看学一学。

3.5、提升学习

        学一学WebRTC,不过这玩意学的浅的话很难找工作。

4、给自己的忠告

        不管干什么都会很难,希望我自己能够坚持下去,能够小有所成。如果您能够看到我的这篇文章,期待您的建议,也希望能为以后的同学留下一些有参考价值的东西。不要相信任何培训机构!!!他们都是一群骗子。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值