线程及视频解码过程6-16

摘要:
线程1.为了更好地解码音频和视频,我们需要使用多个线程。一个线程对视频进行解码,一个线程解码音频。我们需要:1.调用线程库#include<thread>2.std:thread1();创建相应的线程。

线程

一、为了让音视频更好的解码,这里我们需要采用多线程,用一个线程解码视频,一个线程解码音频,我们需要:

1.调用线程库 #include <thread>

2.std:thread t1(); 创建相应线程。

3、为了让每个线程更好的区分资源属于哪一个线程,我们可以用类来实现线程,在对应得类中用成员来区分。

例如:

线程及视频解码过程6-16第1张

 线程及视频解码过程6-16第2张

 线程及视频解码过程6-16第3张

 通过新建一个MyTrhead.h 和MyTrhead.cpp文件创建MyThread类,然后在main函数中来继承父类并添加m_a成员,并实现run函数。这样我们就可以区分m_a成员是属于Thread1线程的资源。

二、视频解码过程

1、首先,每个音视频文件都对应一个结构体AvFormatContext,所以我们需要为他分配空间初始化,用avformat-alloc-context

2、分配完后,我们就可以用avformat-open-input()打开文件。

3、再查找流信息,用avformat-find-stream

4、然后就一帧一帧解码,用av-read-fream函数,将解码得到的AvPacket解码为AvStream

如下图:

线程及视频解码过程6-16第4张

免责声明:文章转载自《线程及视频解码过程6-16》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[ZZ] NumPy 处理数据Weex 标签控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WinForm 进程、线程

一、进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。 它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。 Process 类,用来操作进程。 命名空间:using System.Diagnostics; Process.Start("calc");   //打开计算器Process.Start("mspaint");   /...

java 注解结合 spring aop 实现日志traceId唯一标识

MDC 的必要性 日志框架 日志框架成熟的也比较多: slf4j log4j logback log4j2 我们没有必要重复造轮子,一般是建议和 slf4j 进行整合,便于后期替换为其他框架。 日志的使用 基本上所有的应用都需要打印日志,但并不是每一个开发都会输出日志。 主要有下面的问题: (1)日志太少,出问题时无法定位问题 (2)日志太多,查找问题很麻...

Android文件下载(实现断点续传)

本文将介绍在android平台下如何实现多线程下载,大家都知道,android平台使用java做为开发语言,所以java中支持的多线程下载方式在android平台下都支持,其中主要有两种方式可以实现多线程下载。 一种方式是使用很多个线程分别下载文件的不同部分,最后把所有下载完的文件合并成一个文件。另一种方式是使用java为我们提供的RandomAcces...

Linux性能监控、调优(CPU篇)

前言: 网上其实有很多关于这方面的文章,那为什么还会有此篇呢,有这么几个原因,是我翻译的动力,第一,概念和内容虽然老套,但都讲得很透彻,而且还很全面.第二,理论结合实际,其中案例分析都不错.第三,不花哨,采用的工具及命令都是最基本的,有助于实际操作.但本人才疏学浅,译文大多数都是立足于自己对原文的理解,大家也可以自己去OSCAN上找原文,如果有什么较大出入...

超全!iOS 面试题汇总

作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家。(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多...

iOS UI-线程(NSThread)及其安全隐患与通信

一、基本使用 1.多线程的优缺点 多线程的优点 能适当提高程序的执行效率 能适当提高资源利用率(CPU、内存利用率) 多线程的缺点 开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会占用大量的内存空间,降低程序的性能 线程越多,CPU在调度线程上的开销就越大 程序设计更加复杂:比如线程之间的通信、多线...