当前位置: 首页 > news >正文

免备案手机网站专门做考研的网站

免备案手机网站,专门做考研的网站,线上推广渠道主要有哪些,新浪sae可以做网站么介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

介绍

在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器

如果您不理解本文,可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视频播放器解析(二十一)

解析

我们播放器所有的类已经解析完了,我们来看一下 main 函数如何使用函数,实现音视频的播放。

#include <iostream>
#include "log.h"
#include "demuxthread.h"
#include "avframequeue.h"
#include "decodethread.h"
#include "audiooutput.h"
#include "videooutput.h"
using namespace std;#undef main
int main(int argc, char *argv[])
{int ret = 0;cout << "Hello World!" << endl;LogInit();// queueAVPacketQueue audio_packet_queue;AVPacketQueue video_packet_queue;AVFrameQueue audio_frame_queue;AVFrameQueue video_frame_queue;AVSync avsync;avsync.InitClock();//1 .解复用DemuxThread *demux_thread = new DemuxThread(&audio_packet_queue, &video_packet_queue);ret = demux_thread->Init(argv[1]);if(ret < 0) {LogError("demux_thread.Init failed");return -1;}ret = demux_thread->Start();if(ret < 0) {LogError("demux_thread.Start() failed");return -1;}// 解码线程初始化DecodeThread *audio_decode_thread = new DecodeThread(&audio_packet_queue, &audio_frame_queue);ret = audio_decode_thread->Init(demux_thread->AudioCodecParameters());if(ret < 0) {LogError("audio_decode_thread->Init() failed");return -1;}ret = audio_decode_thread->Start();if(ret < 0) {LogError("audio_decode_thread->Start() failed");return -1;}DecodeThread *video_decode_thread = new DecodeThread(&video_packet_queue, &video_frame_queue);ret = video_decode_thread->Init(demux_thread->VideoCodecParameters());if(ret < 0) {LogError("video_decode_thread->Init() failed");return -1;}ret = video_decode_thread->Start();if(ret < 0) {LogError("video_decode_thread->Start() failed");return -1;}// 初始化audio输出AudioParams audio_params = {0};memset(&audio_params, 0, sizeof(AudioParams));audio_params.channels = demux_thread->AudioCodecParameters()->channels;audio_params.channel_layout = demux_thread->AudioCodecParameters()->channel_layout;audio_params.fmt = (enum AVSampleFormat) demux_thread->AudioCodecParameters()->format;audio_params.freq = demux_thread->AudioCodecParameters()->sample_rate;audio_params.frame_size =demux_thread->AudioCodecParameters()->frame_size;AudioOutput *audio_output = new AudioOutput(&avsync, demux_thread->AudioStreamTimebase(), audio_params, &audio_frame_queue);ret = audio_output->Init();if(ret < 0) {LogError("audio_output->Init() failed");return -1;}VideoOutput *video_output = new VideoOutput(&avsync, demux_thread->VideoStreamTimebase(),&video_frame_queue, demux_thread->VideoCodecParameters()->width,demux_thread->VideoCodecParameters()->height);ret = video_output->Init();if(ret < 0) {LogError("video_output->Init() failed");return -1;}video_output->MainLoop();// 休眠120秒
//    std::this_thread::sleep_for(std::chrono::milliseconds(120*1000));LogInfo("demux_thread->Stop");demux_thread->Stop();LogInfo("delete demux_thread");delete demux_thread;LogInfo("audio_decode_thread->Stop()");audio_decode_thread->Stop();LogInfo("delete audio_decode_thread");delete audio_decode_thread;LogInfo("video_decode_thread->Stop()");video_decode_thread->Stop();LogInfo("delete video_decode_thread");delete video_decode_thread;LogInfo("main finish");return 0;
}

基本流程就是解复用——》解码——》输出音频 / 输出视频

好了,未来如果有需要的再深入解析这个 main,现在这个项目先告一段落。

http://www.yayakq.cn/news/282921/

相关文章:

  • 广州建网站白云区手机app制作官网
  • 宁波建设网站的公司如何做电商网站首页
  • 河池做网站wordpress安装插件出现api
  • 提供网站制作价格推广平台的句子
  • 网站建设设计大作业我所了解的网页制作软件
  • 做网站要收订金吗哈尔滨建设工程批前公示
  • 关于企业网站建设的请示iis 二级网站 发布
  • 赌求网站开发wordpress谷歌字体更换
  • 网站集约化建设规划网站所有权变更
  • 扬中零壹网站建设比尤果网做的好的网站
  • 网站怎么制作成二维码wordpress自媒体博客模板
  • 怎么看网站是谁家做的wordpress 防攻击插件
  • 设计网站合集的网站集团网站设计专业团队
  • 龙岗建设企业网站wordpress 发布文章主动推送百度
  • linode wordpress建站wordpress官方正式版
  • 百度手机管家宁波核心关键词seo收费
  • 珠海营销营网站建设网页设计排版布局
  • 黑龙江期刊网站制作酒泉建设局造价官网站
  • 七里河微信网站建设广州代运营公司有哪些
  • 网站建设策划书5000字聊城网站案例
  • 网站建设推广报价单微信公众平台注册要钱吗
  • wordpress网站怎么设置关键词js 网站怎么做中英文
  • 网站建设都用那些软件盐城企业网站制作
  • 百度网站建设多少钱建设网站地图
  • psd素材免费下载网站怎样自创广告网站
  • 婚恋网站策划专业餐饮网站建设
  • 萍乡网站设计公司技术社区网站开发
  • 徐汇网站推广网络服务器是什么
  • 一个网站多个域名备案让他人建设网站需要提供的材料
  • 建一个网站问谁推广注册app拿佣金