不考虑网络下载模块,从播放链路来说,一般包含最基本的五个模块,每个模块是一个单独的线程;以及四个帧数据队列;
如果有其他需求,可以在这个基本框架上再扩展,比如在解码后,渲染前加入一些滤镜处理模块等;
5个模块线程:
1. 解复用模块: 负责媒体文件的解复用,从文件读出视频帧和音频帧数据,分别放入两个队列;
2. 视频解码模块: 负责视频帧解码,从视频帧队列读入帧,并将解码后帧数据放入解码后视频帧队列;
3. 音频解码模块: 负责音频帧解码,从音频帧队列读入帧,并将解码后帧数据放入解码后视频帧队列;
4. 视频渲染模块: 从解码后视频帧队列读入数据,负责视频帧的渲染;
5. 音频渲染模块: 从解码后音频帧队列读入数据,负责音频帧的渲染;
4个队列:
1. 解码前视频帧队列A1;
2. 解码前音频帧队列A2;
3. 解码后视频帧队列B1;
4. 解码后音频帧队列B2;
稍后把框架图补上;
本文发布于:2024-02-02 08:38:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683433842629.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |