dxva2 d3d低延时直播记录

任务,实现低延迟视频直播功能(GPU硬解码);

听到这个任务又兴奋又担心,兴奋因为进入视频领域,担心是不知道怎么弄出来;

接着各种百度,各种查找;各种看雷神的博客;结果依旧未果;老大电话来(因为疫情老大还在老家)给我说了两句话,你把AAC,PCM整明白了,再把原理证明,这音视频编解码和播放你就能搞出来。 

于是,咱就开始解析AAC中的ADTS,然后转化PCM,然后解析PCM……………………

接着,    

 PCM属于模拟信号经过采样、量化、编码形成的原始数据(二进制),经过查看PCM文件,发现没有文件头信息只有具体的数据,这些数据(分成数据块)可以送入播放器的声道(分单双声道)进行播放。为了有利于网络传输PCM原始数据,所以需要对pcm进行编码。 AAC数据以ADTS包的形式在网络中传出(adts中包含解码的必要信息如声道、采频、编码位数、帧长等),目前用于网络数据传输使用AAC编码方式的居多,在收到AAC数据之后,要把还原为PCM数据,然后播放。

目前项目:低延时视频直播

开发环境:windows 10/vs2015

实现方式:RTMP/MMPEG/dsound/sdl/D3D

设计思路:使用MMPEG拉流并解析数据,然后播放音视频

实现思路简介:使用ffmeg拉流数据,判断音频;视频使用ffmpeg dxva2硬解码,D3D渲染;音频首先将视频包存入一个包队列,然后开启一个线程读取队列的数据,接着解码AAC为PCM并将PCM数据PUT

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值