Android 音视频该如何学习?
来源:互联网 发布:网络电视哪个型号好 编辑:程序博客网 时间:2024/05/22 04:57
想要学习音视频编解码,如何一步两步的学。我也在摸索中,但是摸索也不是瞎摸索,需要有计划有步骤的。
我现在把我的步骤记录下来,并不断的修改。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1. 参考某QQ群主的建议,需要学习的知识如下:
// 基础部分
1:编解码
2:复用解复用
3:视频缩放
4:音频重采样
5:播放器同步原理
6:视频格式:h264格式
7:音频aac格式,PCM
8:封装格式:mpc,flv, ts
9:颜色空间:yuv格式,rgb格式
10:ffmpeg接口
11:sdl接口
// 网络部分
rtsp rtmp http hls,这些都要用纯C/C++的代码实现
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 2015/8/6更新
// 地址:http://bbs.csdn.net/topics/391116127?page=1#post-399931059
如果不做编解码,不做codec比较专业的方向发展,我建议向解决方案构建方向发展,至少知道目前各种音视频应用架构如何,其中涉及各个开源项目如ffmpeg,darwin,live555,vlc,mpc player,gstreamer,当然这项项目中,最重要的我认为是ffmpeg,其次,学习各种流媒体协议rtmp,hls,dash,rtp,rtsp,等,其中以hls比较多,如果视频监控可能rtp,rtsp比较多,再就是各大视频网站都用到的那些技术如nginx,视频服务器开发。其次,如果能熟悉几种常用的媒体封装格式比较好,像mp4,avi,mkv,音频至少知道aac的格式。当然每种格式需要时查文档也可以。还有需要了解H264的一些概念,NAL,SPS PPS,以及profile等。rtp封装H264.如果做直播系统,要非常熟悉mpeg2ts的相关概念,其中ts数据格式是必须知道的。PMT PAT这些概念也要知道。
还有一点。需要知道音视频同步原理,PTS ,DTS这些概念。 当然图形图像基础这些都需要了解,推荐看一下多媒体技术基础(第3版)(清华大学计算机系列教材) 林福宗著。了解color space.
最后,如果能理解编解码压缩原理,知道DTC变换,这些编解码原理也是非常有好处的。推荐知名博客 雷霄骅的博客,http://blog.csdn.net/leixiaohua1020?viewmode=list
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 2015/8/7 常见参考资料地址
1. http://dranger.com/ffmpeg/
老外的技术博客,教大家最基本的ffmpeg用法
2. http://blog.csdn.net/yang_xian521
这位帅哥参考了一些上面老外的博客,我是看到他的博客才找到老外的博客的
3. http://blog.csdn.net/leixiaohua1020
这位大牛写了很多ffmpeg文章,很不错,有些也是参考上面2个大牛的博客
- Android 音视频该如何学习?
- 该如何学习JAVA
- .Net 该如何学习?
- 我该如何学习
- 该如何学习JDBC???
- 音视频该怎么学?
- 音视频该怎么学?
- Android开发:该视频无法播放
- 工作之后该如何学习?
- Java初学者该如何学习
- 你该如何学习编程
- 大学生该如何学习计算机?
- 到底该如何学习数据结构?
- 程序员该如何学习新知识
- 到底该如何学习算法?
- 新人该如何学习网络营销?
- 程序员该如何学习新知识
- 到底该如何学习算法?
- storm环境搭建
- 从零开始
- Tachyon简介
- UVa 11464 Even Parity (部分枚举)
- UVa455
- Android 音视频该如何学习?
- python读取网络上的csv文
- Android webView 打开新窗口的模式
- starUML破解方法
- 时间日期(上)
- CAS SSO 4.0.x 返回更多用户信息
- Solr基础(三) Solr常用检索语法
- Xcode各版本官方下载及百度云盘下载, Mac和IOS及Xcode版本历史
- Android的消息机制