ffmpeg学习历程----通过ffplay修改一个自己的播放器(1)

    现在流行多媒体框架这么多,常见的vlc,qtav,ijkplayer(在端使用的框架),还有flv.js,hls.js较多的前端H5框架解决方案,解决方案都比较成熟.

    题外话:貌似是因为flash这玩意儿真的是一坨X,效率慢不说bug也是奇多,每次不升级都会导致浏览器第三方安全问题(现在连页面要求使用flash都要浏览器弹框授权了.限制很严格),所以现在大部分公司都在转向H5的解决(B站使用的是自己的flv.js,爱奇艺好像也是用流媒体的模式,解决方案没研究,不过肯定不是hls).

    题外话之二:好像连adobe公司自己都放弃了flash(http://tech.163.com/17/0726/07/CQ8M4HT200097U7T.html),声明在2020年之后放弃这部分的支持.现在adobe业务重心已经转向2B(ToBusinuss,对公司业务)了,在浪费浩大精力在这上面感觉也没啥好处不是?

    回到正题,通过ffplay.c改造一个自己的播放器,有啥用??通过理解改造ffplay希望增加对多媒体解码渲染还有ffmpeg其他功能(比如滤镜.音视频基础的了解).也可以用类似方案实现一个简单的工程播放器.通过这种方式还有另外的好处就是,依赖少,自己处理或者加深解码&渲染流程的理解.可以方便的对ffmpeg进行定制之后重新编译,由于我们在官方网站下载到的ffmpeg简单来说可以算是一大堆编解码器的集合,但是我们实际工程中,经过客户端播放的视频,质量可能都是相对统一的比如YUV420+H264+AAC(或者mp3),这样方便简化处理过程.

    主要内容:

  1. 定制化编译ffmpeg;
  2. 修改ffplay.c简化支持,完成C99到C++11的切换,
  3. 自己工程嵌入改造过后的播放器。

第一步:确认编解码器类型。这个ffmpeg命令行可以做到,配合管道很容易查找对应编码器支持情况。 这里可以看到h264编码的支持有,解码,编码而且是视频编码。

ffmpeg学习历程----通过ffplay修改一个自己的播放器(1)_第1张图片
我们只需要一个可以解码h264的解码功能的播放器就ok了。也不需要其他那么多编码格式,可以通过看ffmpeg的编译选项来确定支持的编码格式。

//暂留

你可能感兴趣的:(ffmpeg,其他,ffmpeg定制,播放器,ffplay)