做网站需要人员/小网站搜什么关键词好

做网站需要人员,小网站搜什么关键词好,wordpress blog 回复,中国建设银行北京招聘信息网站在qt开发环境下接收网络数据,调用ffmpeg解码播放视频,出现闪屏现象,具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏;闪屏时会报Could not fin…

在qt开发环境下接收网络数据,调用ffmpeg解码播放视频,出现闪屏现象,具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏;闪屏时会报Could not find ref with POC xx错误(由于是无线通信该错误无法避免)要求能达到mpv的播放效果就行,具体实现方式不限。 

根本解决方法:通过测试不同版本的pplay功能,哪个版本容错能力强就用哪个版本。

当只使用 I 帧进行编码时,编码时间较短,但生成的视频流较长;而加入 P B 帧后,会使编码时间变长,但生成的视频流长度只有纯 I 帧编码的 25%。因此,P B 帧的加入本质上是用时间换空间的思路(跟算法设计思路刚好反过来)。

将无线传输过来的UDP协议视频,将UDP去掉包头及包尾将数据组合成一帧编码数据后保存成h265裸流文件。用ffmpeg4.2.2的命令ffplay播放有花屏现象并伴随报错误Could not  find ref with POC xx。但是利用mpv播放虽然也有报错Could not  find ref with POC xx但是不花屏。将一帧H265编码数据组成一帧后送入函数 avcodec_send_packet(进行解码)和avcodec_receive_frame(从解码的图像中获取YUV图像)这些函数的返回值也是对的。

为此解决此问题用到的方法进行梳理如下:

方法1、加入数据缓冲器---有少部分改善

        由原来的收到一帧就进行处理修改为根据UDP协议序号帧收满数据后,再直接送入解码器进行解码(开辟有缓冲器)。

方法2、硬件解码---效果不明显

硬件解码数据不能为RGB24,

方法3、OPenGL显示图像数据--效果不明显

通过加入库文件进行显示

方法4、 MPV与FFMPEG播放处理不通--确定问题解决思路

发现MPV虽然是基于FFMPEG库上开发的但是对FFMPEG进行了优化,其播放效果优于FFMPEG

方法5、更新FFMPEG库---效果明显

Step 1 下载并编译FFMPEG库

1)下载ffmpeg源代码

说明:

ffmpeg下载地址 http://ffmpeg.org/releases/

点击Last modified(最后修改内容可看到最新版本--其实是快照版本)

  • Snapshot版本‌:这是一种开发中的版本,表示该版本尚未正式发布,可能会频繁发生变化。它主要用于开发阶段,特别是多个团队或模块之间协同开发时,确保依赖的模块始终是最新的。‌12
  • Release版本‌:这是一种正式发布的版本,表示该版本已经经过测试和验证,不会再有频繁的变化。它通常用于生产环境,确保依赖的版本是稳定和可靠的。

2) ffmpeg编译安装
首先,将下载好的ffmpeg压缩包解压。输入解压bz2压缩文件的命令

sudo tar -xjf ffmpeg-snapshot.tar.bz2

然后进入解压后的文件夹,打开终端,设置安装配置,配置文件是configure,在编译和安装之前,需要配置一下,不然无法执行编译指令.

配置configure的指令为:(注意将--enable-libx264去掉,否则配置报错)

sudo ./configure --enable-gpl --enable-libx264 --prefix=/media/cssc/708/ZHKZ/YTHWQ/FFMPEG_BUILD/ffmpeg-build --enable-shared

其中,gpl和libx264是额外的库,可根据情况选择,默认都是disable。
--prefix:指定安装路径,如果不指定,头文件会默认安装在/usr/local/include,库会默认在/usr/local/lib
--enable-shared:选择编译动态库,如果不加上这一句,编译出来的只有静态库(.a),加上之后才有动态库(.so)

配置完以后,执行编译和安装命令:

make -j8 && sudo make install
其中,make -j8:多线程编译的意思,加快编译速度,当然也要看电脑最大线程数。make install:安装各种头文件和库,要加上sudo,不然建不了文件夹。

编译以及安装完之后,在ffmpeg-build文件夹下会多出四个文件夹,bin、include、lib、share;

如果没有指定安装路径,bin文件夹下的两个文件会默认至/usr/local/bin/
include文件夹下的内容会默认在/usr/local/include/下
lib文件夹下的内容会默认在/usr/local/lib/下
share文件夹下的内容默认在/usr/local/share/下

除此之外,还需要注意一点,每次编译之前都需要配置configure,上次的配置在此次编译无效

3)添加环境变量

打开ffmpeg(安装后的)下的bin,执行./ffmpeg -version会出现报错信息:这是因为ffmpeg库没有链接到系统库里边,建立链接有两种办法,第一种在环境变量中添加ffmpeg库路径,第二种是在/etc/ld.so.conf.d文件夹下建立ffmpeg.conf,推荐使用第一种,更简单快捷一些,第二种权当记录在此。

第一种方法:

将ffmpeg添加到环境变量,首先执行 

sudo gedit /etc/profile

在文件末尾添加ffmpeg主程序路径和库路径:(也可命令行执行只对当前cmd用户有效)

export PATH=$PATH:/media/cssc/708/ZHKZ/YTHWQ/FFMPEG_BUILD/ffmpeg-build/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/media/cssc/708/ZHKZ/YTHWQ/FFMPEG_BUILD/ffmpeg-build/lib

保存后,再执行   

source /etc/profile

再次执行ffmpeg -version就可以正常显示ffmpeg版本信息了,也不用进入ffmpeg-build/bin下了。不仅可以看到版本信息,还能看到编译ffmpeg时的configure配置信息,以及库的版本。

补充说明:除了用新版本可以解决视频解码播放花屏问题,同时也尝试基于FFMPEG4.2.2版本的MPV库进行播放,因为MPV库对FFMPEG库进行了优化。

方法6、采用MPV库---效果明显

linux下GPU硬件解码接口,常用的有vdpau和vaapi。mpv是基于mplayer开发的一个播放器。此外,mpv还提供了函数库libmpv,通过使用libmpv可以编写一个简单的播放器。

mpv是一款一优秀的播放器。由于需要将其内嵌到代码中,所以需要将其编译成动态库的形式使用。编译流程如下:

1)mpv源码URL

             URL1:  https://github.com/mpv-player/mpv     

             URL2: https://github.com/mpv-player/mpv-build  

URL1是mpv的源码,而URL2是将源码和其所需要的库做了一个整合脚本。此文档使用URL2进行编译安装。

2)mpv编译安装流程记录:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Martin的全国基础底图实现

概述 前面有文章基于Martin实现MapboxGL自定义底图分享了Martin的使用,本文使用网络收集的数据实现了全国基础数据的收集和基础底图。 实现后效果 实现 1. 数据准备 实例中包含如下数据: 边界线和九段线数据省边界面数据省会城市点数据市边界面数据…

链表_两两交换链表中的节点

链表_两两交换链表中的节点 一、leetcode-24二、题解1.引库2.代码 一、leetcode-24 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能…

DAY08 List接口、Collections接口、Set接口

学习目标 能够说出List集合特点1.有序2.允许存储重复的元素3.有带索引的方法(练习 add,remove,set,get) 能够使用集合工具类Collections类:static void sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序。static <T> void sort(List<T> lis…

帆软报表FineReport入门:简单报表制作[扩展|左父格|上父格]

FineReport帮助文档 - 全面的报表使用教程和学习资料 数据库连接 点击号>>JDBC 选择要连接的数据库>>填写信息>>点击测试连接 数据库SQLite是帆软的内置数据库, 里面有练习数据 选择此数据库后,点击测试连接即可 数据库查询 方法一: 在左下角的模板数据集…

后台管理系统-项目初始化

认识vue-admin **核心交付:** 为什么要基于现成架子二次开发 什么是二次开发:基于已有的代码(项目工程,脚手架)开进行新功能的开发 所以看懂已有的框架中的既有代码,变得很重要了 1. 背景知识 后台管理系统是一种最常见的应用模式,不同的管理系统之间有很多相似的地方…

DAY07 Collection、Iterator、泛型、数据结构

学习目标 能够说出集合与数组的区别数组:1.是引用数据类型的一种2.可以存储多个元素3.数组的长度是固定的 int[] arr1 new int[10]; int[] arr2 {1,2,3};4.数组即可以存储基本类型的数据,又可以存储引用数据类型的数据int[],double[],String[],Student[]集合:1.是引用数据类…

从零开始构建一个语言模型中vocab_size(词汇表大小)的设定规则

从零开始构建一个语言模型就要设计一个模型框架,其中要配置很多参数。在自然语言处理任务中,vocab_size(词汇表大小) 的设定是模型设计的关键参数之一,它直接影响模型的输入输出结构、计算效率和内存消耗。 本文是在我前文的基础上讲解的:从零开始构建一个小型字符级语言…

计算机网络之物理层——基于《计算机网络》谢希仁第八版

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

图论 之 BFS

文章目录 3243.新增道路查询后的最短距离1311.获取你好友已观看的视频 BFS:广度优先搜索&#xff08;BFS&#xff09; 是一种常用的算法&#xff0c;通常用于解决图或树的遍历问题&#xff0c;尤其是寻找最短路径或层级遍历的场景。BFS 的核心思想是使用队列&#xff08;FIFO 数…

【Java八股文】10-数据结构与算法面试篇

【Java八股文】10-数据结构与算法面试篇 数据结构与算法面试题数据结构红黑树说一下跳表说一下&#xff1f;LRU是什么&#xff1f;如何实现&#xff1f;布隆过滤器怎么设计&#xff1f;时间复杂度&#xff1f; 排序算法排序算法及空间复杂度 数据结构与算法面试题 数据结构 红…

Docker换源加速(更换镜像源)详细教程(2025.2最新可用镜像,全网最详细)

文章目录 前言可用镜像源汇总换源方法1-临时换源换源方法2-永久换源&#xff08;推荐&#xff09;常见问题及对应解决方案1.换源后&#xff0c;可以成功pull&#xff0c;但是search会出错 补充1.如何测试镜像源是否可用2.Docker内的Linux换源教程 换源速通版&#xff08;可以直…

华为云deepseek大模型平台:deepseek满血版

华为云硅基流动使用Chatbox接入DeepSeek-R1满血版671B 1、注册&#xff1a; 华为云deepseek大模型平台注册&#xff1a;https://cloud.siliconflow.cn/i/aDmz6aVN 说明&#xff1a;填写邀请码的话邀请和被邀请的账号都会获得2000 万 Tokens&#xff1b;2个帐号间不会与其他关联…

51c大模型~合集71

我自己的原文哦~ https://blog.51cto.com/whaosoft/12260659 #大模型推理加速技术的学习路线 EfficientQAT 可以在 41 小时内在单个 A100-80GB GPU 上完成对 2-bit Llama-2-70B 模型的量化感知训练。与全精度模型相比&#xff0c;精度仅下降了不到 3%&#xff08;69.48 v…

单片机 code RO-data RW-data ZI-data以及OTA学习

带着问题去学习&#xff1a;这些数据是什么&#xff1f;分别放在哪里&#xff0c; 是什么&#xff1a;我个人的理解 code 和RO-data 分别是代码和只读数据&#xff0c;RW-data以及ZI-data分别是读写数据和初始化数据。 codeRO-data的大小正好是所占用ROM的大小&#xff0c;RO…

EasyRTC低延迟通信与智能处理:论嵌入式WebRTC与AI大模型的技术融合

在当今数字化时代&#xff0c;实时通信的需求日益增长&#xff0c;视频通话作为一种高效、直观的沟通方式&#xff0c;广泛应用于各个领域。WebRTC技术的出现&#xff0c;为实现浏览器之间的实时音视频通信提供了便捷的解决方案。而基于WebRTC技术的EasyRTC视频通话SDK&#xf…

10、k8s对外服务之ingress

service和ingress的作用 service的作用 NodePort&#xff1a;会在每个节点开放一个端口&#xff0c;端口号30000-32767。 也是只能用于内网访问&#xff0c;四层转发。实现负载均衡。不能基于域名进行访问。 clusterip&#xff1a;service的默认类型&#xff0c;只能在集群…

Java数据结构---栈

目录 一、栈的概念 二、栈的基本方法 三、栈的模拟实现 四、栈的练习 1、括号匹配 2、出栈入栈次序匹配 一、栈的概念 栈是一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底…

从CNN到Transformer:遥感影像目标检测的未来趋势

文章目录 前言专题一、深度卷积网络知识专题二、PyTorch应用与实践&#xff08;遥感图像场景分类&#xff09;专题三、卷积神经网络实践与遥感影像目标检测专题四、卷积神经网络的遥感影像目标检测任务案例【FasterRCNN】专题五、Transformer与遥感影像目标检测专题六、Transfo…

php-fpm

摘要 php-fpm(fastcgi process manager)是PHP 的FastCGI管理器&#xff0c;管理PHP的FastCGI进程&#xff0c;提升PHP应用的性能和稳定性 php-fpm是一个高性能的php FastCGI管理器&#xff0c;提供了更好的php进程管理方式&#xff0c;可以有效的控制内存和进程&#xff0c;支…

open webui 部署 以及解决,首屏加载缓慢,nginx反向代理访问404,WebSocket后端服务器链接失败等问题

项目地址&#xff1a;GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 选择了docker部署 如果 Ollama 在您的计算机上&#xff0c;请使用以下命令 docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gatewa…