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

接单干活的平台广州seo优化排名推广

接单干活的平台,广州seo优化排名推广,做网站第三方,玩具网站建设规划书一. aac对数据规格要求 二、代码实现 1.初始化 2.填入数据 3.取数据 三.图解 一. aac对放入的采样数要求 我们知道aac每次接受的字节数是固定的,在之前的文章里有介绍libfdk_aac音频采样数和编码字节数注意 它支持的采样数和编码字节数分别是: fdk_aac …

一. aac对数据规格要求
二、代码实现
1.初始化
2.填入数据
3.取数据
三.图解

一. aac对放入的采样数要求

我们知道aac每次接受的字节数是固定的,在之前的文章里有介绍libfdk_aac音频采样数和编码字节数注意
它支持的采样数和编码字节数分别是:

fdk_aac 支持的音频采样率:7350 8000 11025 12000 16000 22050 24000 32000 44100
48000 64000 88200 96000 fdk_aac 样本类型:只支持AV_SAMPLE_FMT_S16输入.
ffmpeg本身自带的aac并不支持AV_SAMPLE_FMT_S16的,需要重采样为AV_SAMPLE_FMT_FLTP

av_opt_set(encodec_ctx_a->priv_data, “profile”, “lc”, 0);

2048 HE-AAC v1/v2 1024: Default configuration.//AAC-LC 1024
512: Default length in LD/ELD configuration.
480: Length in LD/ELD configuration.
256: Length for ELD reduced delay mode (x2).
240:Length for ELD reduced delay mode (x2).
128: Length for ELD reduced delay mode (x4).
120: Length for ELD reduced delay mode (x4). */

当我们得到的采样数是不规则的,比如decklink的采集卡每次的到的采样数帧率有关,为48000/fps。那么25fps,就是1920,60fps,是800。
那么我们就需要一个缓存,来每次读取1024个采样。
这里使用ffmpeg的重采样的缓存机制

二、代码实现

1.初始化

void swr()
{if(asc != NULL) swr_free(&asc);asc = swr_alloc_set_opts(asc,AV_CH_LAYOUT_STEREO, AV_SAMPLE_FMT_S16, 48000,AV_CH_LAYOUT_STEREO, AV_SAMPLE_FMT_S16, 48000, 0, 0);if (!asc){printf("swr_alloc_set_opts failed!\n");return ;}int ret_asc = swr_init(asc);if (ret_asc != 0){printf("swr_init failed!\n");char err[1024] = {0};av_strerror(ret_asc, err, sizeof(err) - 1);return ;}
}

2.填入数据

int fifo_size_1 = 0;int len = swr_convert(asc, 0, 0,(const uint8_t **)pcm_BMG->data, pcm_BMG->nb_samples); 

3.取数据

  while(1){int CIRCLE = 0;fifo_size_1 = swr_get_out_samples(asc, 0);if (fifo_size_1 >= 1024){int len = swr_convert(asc, p_pcm_enc->data, p_pcm_enc->nb_samples,0, 0);if(CIRCLE != 0) p_pcm_enc->pts = p_pcm_enc->pts  + CIRCLE * 1024 * (1000000 / 48000);//第一帧的ptselse p_pcm_enc->pts = pcm_BMG->pts - (fifo_size_1 - p_pcm_enc->nb_samples) * (1000000 / 48000);//long long swr_pts = swr_next_pts(asc, pcm_BMG->pts); 这个函数计算出的pts有误,亦或是我没有用对,望斧正CIRCLE++;}else {break;}re = avcodec_send_frame(encodec_ctx_a, p_pcm_enc);if(send_pkt_a.size != 0 && b_alloc == true) av_packet_unref(&send_pkt_a);while (re >= 0){re = avcodec_receive_packet(encodec_ctx_a, &send_pkt_a);}}

三.图解

x:缓存中的采样数
y:这次放入的采样数
p0:取出的1024包的pts
py:这次放入缓存包的pts
则:
p0 = py - (x-y)(1/48000)

http://www.hengruixuexiao.com/news/55010.html

相关文章:

  • 为什么百度搜索不到我的网站公关公司提供的服务有哪些
  • 嘉盛建设集团官方网站搜狐三季度营收多少
  • 网站如何做api接口武汉网络关键词排名
  • 无锡电子商城网站建设seo平台
  • 网站建设怎么选公司小程序推广接单平台
  • app系统软件定制安卓优化大师hd
  • 大型网站建设教程百度一下你就知道
  • h5可以用什么网站做网络营销推广是做什么的
  • 用.net做的网站企拓客app骗局
  • 网站建设图片qq群杭州推广平台有哪些
  • 学做简单网站磁力库
  • 新疆建设兵团卫计委网站网站seo案例
  • 用心做的网站网店推广网站
  • 岭南地区网站建设百度手机网页版
  • 什么叫网站建设指数基金定投怎么买
  • 删除wordpress主题底部seo关键词排名软件
  • 建设单位网站设计怎么找关键词
  • 网站设计知识优化手机性能的软件
  • 做个人网站要注意什么沈阳seo网站推广
  • 国外注册机网站时事新闻最新消息
  • 企业营销型网站建设规划深圳网站seo地址
  • 群晖Wordpress80端口青岛seo公司
  • 网站的功能和作用湖人最新排名最新排名
  • 自适应网站如何做mip网络的推广
  • wordpress响应式网站重庆网站优化
  • 标准型网站建设委托合同新媒体营销推广方案
  • 网站建设江苏苏州百度快速排名优化
  • 自己想做个网站怎么做杭州seo培训
  • 百度做的网站 后台管理怎么进入seo快速优化排名
  • 品牌高端网站制作企业seo知识总结