你将收获

这一季课程的主要目的是使各位学员掌握基本的音视频和播放器的主要技术。在学完本季课程之后会自行选择开发工具实现一个简单播放器,而不拘泥于本课程提到的音视频处理工具。

适用人群

视频研发开发人员

课程介绍

这是一个音视频技术的系列教程,每一季会向大家展示一个方面的音视频技术,着重简单实用。本季是实现一个播放器。在课程组织上并不是一上来就设计好一个软件架构,而是从具体的视频技术入手,一点一点的抽丝剥茧,在所需实现播放器的音视频技术准备充分之后,我们再设计和实现一个音视频播放器。开发环境主要以windows为主,在实现编码器之后,我们会把代码移植到linux环境下。

课程讨论

不好意思,是我代码抄错了,不好意思。 没有问题的,

第16节课中, av_gettime()得到的值太大了,致使scheduleDisplay中的第二个参数特别大,最后视频无法显示。 不知道老师的视频代码为什么运行正常呢,

讲得太慢了------

这门课程花几个小时就学完了,整体来说内容还是比较丰富的,也容易理解。如果是初学者观看的话,最好还是有一些音视频方面的基础知识才能方便学习,比如音频的采样率、采样位数、通道数等音频采样方面的概念,音频的编码格式等编码压缩方面的知识,视频则应该知道什么是帧率、分辨率、像素色彩空间格式、时间戳,编码码标准(比如什么是H.264,当然以后可能还会接触HEVC等),yuv数据如何提取等。还要基本了解FFMPEG且至少懂得一些常用接口的调用,还有就是SDL也要有所了解和熟悉一些常用接口的调用。当然,好的C语言基础也必要的,特别是数据结构那里,比例如何实现一个队列等。如果上述提到的基础知识都掌握的不错,看这门课程基本是毫无压力的。课程录制的视频质量还是挺不错的,老师话音清晰,很少出现噪音(特别讨厌有噪音的教学视频,因为上次购买其他老师的两个课程不是有噪音,就是讲师说话语音模糊,完全听不清对方在说什么),所以这个值得点赞。不过缺点还是有的,感觉老师做的这个播放器的代码几乎没有多少关注性能方面的问题,内存管理的优化等,毕竟频繁地复制大量数据和动态分配、释放内存还是比较消耗系统性能的,可能是为了照顾初学者