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

zzcms网站开发做ppt模板网站

zzcms网站开发,做ppt模板网站,上海网站建设公司推荐,网站运营专员具体每天怎么做1.视频编码原理 2.FFMpeg编码接口和AVPacket结构体详解 2.1ffmpeg编码接口 -编码器上下文 2.2AVPacket结构体 2.3AVFrame结构体 3.视频播放最简单demo 3.1FFMpeg编码器获取和上下文打开 3.2视频帧创建和测试 1.视频编码原理 1.1 流程:像素格式转换-&…

1.视频编码原理
2.FFMpeg编码接口和AVPacket结构体详解

   2.1ffmpeg编码接口 -编码器+上下文
   2.2AVPacket结构体
   2.3AVFrame结构体

3.视频播放最简单demo
   3.1FFMpeg编码器获取和上下文打开
   3.2视频帧创建和测试


 1.视频编码原理


   1.1 流程:像素格式转换->编码->封装
   1.2为什么要编码:像素格式数据过大
         采集高速数据,内存:128G内存
         硬盘来不及存储:SSD :1s,3G ;PCIE接口 1s,500MB
   1.3原始帧AVFrame->压缩帧AVPacket
        AVFrame数据大:1s 1G的数据,性能性问题,不能复制。
        AVPacket数据小:1080p:1s 1MB  结构清晰
   1.4帧内压缩、帧间压缩
       图片压缩:bmp->jpg 压缩 找相似点,大小变化不大
       视频压缩:视频:保存差异
       帧内压缩:只跟关键帧相关
   1.5有损压缩、无损压缩
       有损压缩:类似数据丢掉 解压后无法与原文件相同。
       无损压缩:zip,rar,7z

2.FFMpeg编码接口和AVPacket结构体详解
  

2.1ffmpeg编码接口 -编码器+上下文


 
         

 2.2AVPacket结构体

 2.3AVFrame结构体

 

3.视频播放最简单demo
   

int main113()
{//  auto codec; 编码器//  auto c;     上下文//  auto frame; 对象+缓冲 编码前//  auto pkt;   对象+缓冲 编码后// 编码器+上下文//1.查找+分配空间auto codec = avcodec_find_encoder(AV_CODEC_ID_H264);  //对象返回的是指针if (!codec) { return -1; }auto c = avcodec_alloc_context3(codec);//2.上下文 参数设置 视频宽、高、帧时间、元数据像素格式、编码线程数c->width = 400;c->height = 300;c->time_base = { 1,25 };c->pix_fmt = AV_PIX_FMT_YUV420P;c->thread_count = 16;//3.编码器 参数设置 b帧为0,c->max_b_frames = 0;int opt_re = av_opt_set(c->priv_data,"preset","ultrafast",0);//最快速度opt_re = av_opt_set(c->priv_data,"tune","zerolatency",0);    //零延时//4.打开上下文 返回值==0 OKint re = avcodec_open2(c, codec, NULL);                      // 返回值 “打开”!=0表示正确 if (re != 0) { return -1; }//5.AVFrame -赋值-编码(压缩数据AVPAckage)-写入文件//5.1AVFrame   创建对象+缓冲(),//5.11AVFrame设置参数 宽、高、像素格式auto frame=av_frame_alloc();frame->width = 400;frame->height = 300;frame->format = c->pix_fmt;int re = av_frame_get_buffer(frame,0);                     // 返回值  创建“缓冲区”!=0表示错误if (re != 0) { return -1; }//5.12 AVPacket 创建对象auto pkt = av_packet_alloc();//5.13string filename;filename = "400_300_25_preset.h265";ofstream ofs;ofs.open(filename, ios::binary);                          //返回值  ofs ofs.open  !表示错误if (!ofs){cerr << "open " << filename<<" failed!" << endl;return -1;}//ofs.write((char*)pkt->data, pkt->size);//ofs.close();/*编码re=avcodec_send_frame(c,frame);while (re >= 0){re=avcodec_receive_packet(c,pkt);if (re < 0) { break; }ofs.write((char*)pkt->data, pkt->size);av_packet_unref(pkt);}*/for (int i = 0; i < 250; i++){for (int y = 0; y < frame->height;y++)//Y{for (int x = 0; x < frame->width; x++){frame->data[0][y * frame->linesize[0] + x] = x + y + i * 3;}}for (int y = 0; y < frame->height / 2; y++)//UV{for (int x = 0; x < frame->width / 2; x++){frame->data[1][y*frame->linesize[1]+x]= 128+x + y + i * 3;frame->data[2][y*frame->linesize[2]+x]=64+ x + y + i * 3;}}frame->pts = i;re=avcodec_send_frame(c, frame);                     //返回值    !=0 表示错误if (re != 0){ break;}while (re >= 0){re=avcodec_receive_packet(c, pkt);               //返回值if (re < 0) { break; }av_packet_unref(pkt);}}ofs.close();//5.释放对象 AVFrame AVPAckage 编码器上下文av_packet_free(&pkt);av_frame_free(&frame);avcodec_free_context(&c);return 0;}



 

http://www.dtcms.com/a/476177.html

相关文章:

  • 河北手机版建站系统价格广州市网络广告推广
  • 毕业设计做网站的步骤地推十大推广app平台
  • 海西电子商务网站建设易烊千玺个人网站
  • 网站建设与栏目设置张家港江阴网站制作
  • 如何制作网站首页广州哪个区最好
  • 深圳做微商网站设计长沙网站开发智能
  • 做网站虚拟主机规格wordpress字体更改
  • 网站app软件下载安装网站的搜索功能
  • 网站建设项目环境影响评价目录策划书word模板范文
  • 自己做的网站很卡建设网站哪里来的资源
  • 建设企业网站平台手机商城怎么做
  • 淄博网站制作网络服务阿里云服务器搭建wordpress
  • 旅游网站建设方案简介gpu服务器租用价格
  • 微信公众号怎么做链接网站光谷网站制作
  • 网站的关键词怎么选择南昌优化排名推广
  • 企业网站的建设专业服务做网站费用走什么科目
  • 自己怎么注册公司网站流程昆明网站做的好的公司
  • 大数据软件和网站开发那个就业好温州市住房和城乡建设厅网站首页
  • 网站开发的投标案例seo网站优化服务商
  • 南宁关键词网站排名注册网站云空间
  • 如题,HTML如何将两张图片_一张放在网站顶部做背景,另一张放在尾部做背景?免费手游代理平台
  • 网站托管公司凡科网登录电脑端
  • 购买模板建站宣传推广方案怎么写
  • SSM聚合项目部署
  • 做网站攻击cpa个人网站怎么做
  • 做视频网站公司要怎么做的网站访问跳出率
  • 网站上传的流程微信公众号网站制作
  • 做招聘网站毕业设计有没有教做零食的网站
  • 建设部网站已经公布黑名单做个网站一年要多少钱
  • 设计网站费用淘宝电脑版官网首页登录入口