美文网首页
音视频流媒体开发【三十四】FFmpeg+QT播放器3-播放器模块

音视频流媒体开发【三十四】FFmpeg+QT播放器3-播放器模块

作者: AlanGe | 来源:发表于2023-03-28 19:50 被阅读0次

音视频流媒体开发-目录

重点内容:

  1. 理解播放器的框架

  2. 理解播放器的状态转换(后续章节继续深⼊讲解,这⾥先理解个⼤概即可)

  3. 理解播放器的代码逻辑

1 模块分析

2 播放器状态转换

播放器状态我们参考成熟的ijkplayer的状态转换实现。

状态转换图

注意图中的线条:
实线箭头连接的状态变化通过 API 调⽤完成,
虚线箭头连接的状态变化是通过 播放器内部执⾏完特定任务或者发⽣错误 ⽽⾃动发⽣的状态变化。

状态释义

可播放状态

prepared、 started、 paused、 completed。
可播放状态中可以通过调⽤ start函数 转化为 started 状态,并且进⾏媒体播放。

稳定状态

idle、 initialized、 prepared、 paused、 completed、 stopped、 end、error。
稳定状态只可以通过 API 调⽤转换为其他的状态,不会⾃主发⽣状态变化。

⾮稳定状态

async_preparing、 started。
⾮稳定状态会在⼀定条件下⾃动转变为其他状态,也可以通过 API 调⽤进⾏状态跳转。

完整转换 API

idle
initialized
async_preparing
prepared
started
paused
completed
stoped
error
end

3.参考

https://blog.csdn.net/weixin_52622200/article/details/114880502

相关文章

  • 视频推流

    直播技术? 姿势:摄像头采集,音视频编解码,流媒体协议,音视频流推送到流媒体服务器,流媒体网络分发,用户播放器,音...

  • 【iOS】AVPlayer 播放音视频

    1、常见的音视频播放器 iOS开发中不可避免地会遇到音视频播放方面的需求。 常用的音频播放器有 AVAudioPl...

  • 【iOS】AVPlayer 播放音视频

    1、常见的音视频播放器 iOS开发中不可避免地会遇到音视频播放方面的需求。 常用的音频播放器有 AVAudioPl...

  • Android NDK开发之旅31--音视频基础知识与FFmpe

    Android NDK开发之旅 目录 音视频基础知识 视频播放器原理 一个最简单的视频播放器的过程(不包括视频加密...

  • NuPlayer

    RTSP流媒体使用的播放器框架是NuPlayer 1.选择播放器 MediaPlayerFactory用来决定使用...

  • 重构点

    播放器部分 播放器部分模块化,播放器作为一个独立的模块, 现阶段代码 方法命名 [self _setupCurre...

  • 简易播放器设计文档

    EntryTask: 使用FFMpeg编写一个简单音视频播放器 开发环境 开发语言:C++ IDE:QT Crea...

  • 多媒体播放器构建-VlcQT的使用(Mac版)

    前言:本文章将介绍如何在Mac上使用QT和VlcQT库构建流媒体播放器。通过本文讲解可一步步实现可用的流媒体播放器...

  • ijkplayer源码阅读01-环境搭建

    概述 ijkplayer 是Bilibili开发并开源的轻量级视频播放器,支持本地网络视频播放以及流媒体播放,支持...

  • ijkplayer源码阅读03-系统播放器

    概述 ijkplayer 是Bilibili开发并开源的轻量级视频播放器,支持本地网络视频播放以及流媒体播放,支持...

网友评论

      本文标题:音视频流媒体开发【三十四】FFmpeg+QT播放器3-播放器模块

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