自己写视频播放器(4) 思路整理

作者: SHUTUP | 来源:发表于2015-05-22 10:28 被阅读1136次

    前言

    其实一直想写一个自己的播放器玩玩,我就是对很多事物充满好奇!

    过程记录

    2014.7 正式将写一个播放器提上议程。
    2014.8 入职了公司,暂时计划搁置。
    2015.5 计划重新启动。
    2015.5.22 发现了一个比较优秀的参考资料。(见思路整理,第五点)
    ~至今 业余时间一直在查资料

    收获

    1. android 平台本身的音视频平台性能较弱。有实际的需求推动。
    2. ffmpeg是很成熟的音视频编解码库。
    3. sdl2原生支持了android平台,是一个强大的跨平台多媒体开发库,它将不同平台的音视频等硬件进行了隔离,抽象出了基本统一的接口。
    4. android平台支持JNI开发。

    思路概述

    先不考虑网络视频源。

    1. 使用ffmpeg可以拿到视频文件的视频数据和音频数据。
    2. 使用sdl2可以在android平台播放视频和音频。
    3. 我们需要把ffmpeg提供的合适的音频和视频交给sdl2进行展示和播放。
      .合适的视频数据意味着需要转换(改变分辨率大小,格式等)
      .合适的音频数据意味着需要重新采样等。
    4. 播放器基本控制功能的实现
      .播放
      .暂停
      .跳转
    5. ffplay是官方提供的一个多媒体播放器样例,基本上涵盖了一个简单播放器需要的全部功能,如果
      可以吃透,稍加整理,是可以作为对ffmpeg和sdl的wrapper库供android jni 调用的。
      发现一个优秀的参考资源不敢私藏:http://blog.csdn.net/dawdo222/article/details/8692834

    参考文档

    经过一番查找,发现下面几个地址,值得浏览
    http://dranger.com/ffmpeg/
    这应该是目前网络上大多数教程的参考源。(由于时间关系,提供的代码不一定都能很好的工作)
    https://github.com/chelyaev/ffmpeg-tutorial/blob/master/tutorial04.c
    这个仓库的作者,针对上面的教程对提供的源码进行了修正和更新。可以参考。
    http://dande618.github.io/blog/2013/10/29/FFMepg/
    这个博客的代码对音频进行了较好的处理(虽然不大懂,但确实可以工作)
    http://www.cnblogs.com/tanlon/p/3966130.html
    这个博客的作者对很多音视频相关的内容进行了多个平台的实践,值得参考

    注意事项

    网络上代码很多,有些很相似但效果却不一样。这时最好自己手打一遍代码,理理思路。同时借用文档比较工具也是可以的。

    相关文章

      网友评论

      本文标题:自己写视频播放器(4) 思路整理

      本文链接:https://www.haomeiwen.com/subject/qanlqttx.html