音视频编解码常用知识
视频播放器原理 视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如下:
解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。
解封装的作用,就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。
解码的作用,就是将视频/ ...
tmux
Tmux 是 Terminal Multiplexer 的简称,它是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。
Tmux 可用于在一个终端窗口中运行多个终端会话。不仅如此,还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话,这个功能非常实用。
Tmux安装sudo apt-get install tmux # ubuntuyum install -y tmux # centostmux -V # 查看版本
基本配置,打开配置文件 ~/.tmux.conf,添加配置:
set -g mouse on # 用鼠标自由调整窗格大小,还可以通过右键实现一些基本操作。set -g default-terminal "screen-256color" 设置默认终端模式为256co1or。set -g history-limit 20000 # 设置回滚缓冲区大小为20000行
Tmux的使用 安装完成后输入命令tmux即可打开软件 ...
nvidia-smi无法与驱动通信
今天在重启服务器ubuntu后,发现cuda无法使用,输入nvidia-smi后提示无法与驱动通信,通过搜索网上的解决方案,其中一个能够解决问题方案的是:https://blog.csdn.net/wjinjie/article/details/108997692
但该方案无法解决博主问题,在最后两步,即
sudo apt-get install dkmssudo dkms install -m nvidia -v 450.57
时,提示无法返回满足内核版本的状态,因此推断是内核版本和驱动不匹配导致,这可能是重启计算机时完成了内核更新,或者其他用户选择更新了内核版本,因此卸载当前驱动,重新安装新版本驱动。
首先在/usr/src/目录下可以看到已安装的nvidia驱动文件和版本
sudo apt-get remove nvidia-* # 卸载当前驱动
卸载完成后,文件消失
sudo apt updatesudo apt upgrade # 更新系统源apt search nvidia-driver # 查看可用驱动程序列表sudo apt in ...
Python的赋值和.copy区别
区别说明
使用“=”直接赋值,是引用赋值,更改一个,另一个同样会变。
copy()复制一个副本,原值和新复制的变量互不影响。
a = ['龙虎英雄会', '十二金钱镖', '乱世枭雄', '老店风云', '三侠五义']b = a # 直接赋值c = a.copy() # 复制列表中的所有元素print('a:', a)print('b:', b)print('c:', c, '\n')del a[1] # 删除列表中的第2个元素print('a:', a)print('b:', b)print('c:', c, '\n')b.remove('老店风云') # 移除指定元素print('a:', a)print('b:', b)print(' ...
无人机组网通信技术
无人机组网通信技术是指利用无人机之间或无人机与地面设备之间的通信能力,建立起一种自组织的通信网络。通过这种技术,无人机可以相互协作、共享信息,实现更高效的任务执行和数据传输。这种通信技术可以用于各种领域,包括应急响应、军事作战、智能交通管理、农业监测和物流配送等,为这些领域提供了更多的智能化、协同化解决方案。
无人机组网通信技术主要包括以下几种:
自组网模块技术:这种技术具有灵活性、动态性和抗干扰性,能够根据无人机的位置和运动状态动态调整网络结构,确保通信的连续性和稳定性。
MESH宽带自组网通信技术:这是无人机空中组网及无线通信应用的一个重要方向,可以临时、动态、快速构建分布式无中心的自治性专用网络,具有自组织、自恢复的特点。
飞行自组网(FANET) :基于自组织网络技术,为无人机群提供可靠并且实时的网络通信,成为解决多无人机间通信问题的一种良好解决方案。
UAVCAN通信协议:这是一种基于机载网络通信协议的无人机通信系统,旨在提供高效可靠、安全和灵活的机载通信方案,支持各种无人机传感器和控制器的集成。
MAVLink通信协议:一种开源的轻量级消息传输协议,广泛应用于 ...
ETC识别
ETC(Electronic Toll Collection)是一种电子收费系统,它可以自动识别车辆并完成收费,无需停车等待,提高了交通效率。那么,ETC是如何被识别的呢?本文将以ETC的识别为中心,从技术原理、应用场景、优缺点等方面进行探讨。
技术原理 ETC的识别技术主要基于射频识别(RFID)技术,即利用无线电波进行通信的技术。具体来说,ETC系统将一个小型的电子标签(ETC卡)安装在车辆的挡风玻璃上,当车辆经过ETC收费站时,收费站的天线会发出无线电波,ETC卡接收到信号后,会返回一个包含车辆信息的信号给收费站,收费站通过与车辆信息数据库的比对,完成收费并开启道闸,车辆可以无需停车直接通过。
ETC卡中的芯片是实现识别的关键部件,它包含了车辆的信息、账户余额等。ETC卡的读写器是将车辆信息写入芯片并读取芯片信息的设备,它可以通过USB接口与电脑连接,进行信息管理。
应用场景 ETC的应用场景主要是高速公路、城市快速路等收费站,它可以大大提高交通效率,减少拥堵。同时,ETC还可以应用于停车场、加油站等场所,实现无人值守的自动收费。
在高速公路收费站,ET ...
screen
GNU Screen一款由GNU计划开发的用于命令行终端切换的软件,可以当做窗口管理器的命令行界面版本。只要Screen本身没有被终止,在其内部运行的会话都可以恢复,特别适合执行一些运行时间长的任务。
执行如下命令,创建screen窗口。
screen -S [$Name]
执行如下命令,列出screen窗口。
screen -ls
当需要运行脚本、执行程序时,在命令前添加screen即可。
同时按Ctrl+a+d键,就可以退出SSH登录,但不会影响screen程序的运行。
需要继续工作时,登录实例,然后执行如下命令,恢复会话即可。
screen -r -d id号
Python复制移动删除文件和文件夹
对于文件和文件夹,我们最常做的操作分为三种:复制、移动、删除。
这三种操作可以通过shutil和os模块中的函数实现,下面通过对hello.txt的操作为例进行说明:
shutil.copy(source, destination) #复制文件shutil.copytree(source, destination) #复制文件夹shutil.move(source, destination) # 移动文件os.unlink() #删除文件os.rmdir() #删除文件夹,文件夹必须为空shutil.rmtree() #删除文件夹,包含文件夹及文件夹下的所有文件
复制复制文件#复制hello.txt到"C:\myweb\chapter02"目录下>>> shutil.copy('hello.txt', r'C:\myweb\chapter02') 'C:\\myweb\\chapter02\\hello.txt' #复制hel ...
几种常用胶
红胶 红胶是一种聚烯化合物,受热后容易发生固化,当它所受的温度达到150℃凝固点时候,红胶就开始由膏状体变成固体,利用这一特性,可以用点胶或者印刷的方式对贴片元器件进行固定,线路板元件使用贴片红胶可以通过烤箱或者回流焊进行加热固化。
线路板上的元件,特别是双面贴装的线路板,过波峰焊的时候使用贴片红胶固定,可以让背面的小型贴片元件不会掉落到锡炉中。红胶有几大特点:
对各种芯片元件均可获得稳定的黏着强度;
具有适合网板印刷制成需求的粘度和摇变性,下胶量稳定而不会出现漏刷或塔边;
具有很好的保存稳定性能;
具有高黏着强度,可以避免高速贴片时发生元器件偏位。
主要作用:红胶的主要作用是使线路板贴片元件固定,主要有粘接作用,或者和锡膏一起使用作为补强固定的作用。
黄胶 电路板所用的黄胶是一种水剂型粘合剂,有一种刺激性气味,是一种柔软性自粘结的凝胶状物,有优良的绝缘,防潮,防震和导热性能,使电子元器件在苛刻条件下安全运行。
它容易发生固化,固化的速度与环境温度、湿度和风速关:温度越高,湿度越低,风速越大,固化速度则越快,反之则减慢。将涂装好的部件置于空气中会有慢慢结皮 ...
FM和LM
From ChatGPT
“foundation model”和“large model”这两个术语在人工智能和机器学习领域中有一些重叠,但它们指向的概念有些不同:
Foundation Model(基础模型):
定义:基础模型是指那些在大量、多样化的数据上进行预训练,并能够应用于多种任务的通用模型。这些模型具有广泛的适应性,可以通过微调(fine-tuning)在特定任务上表现出色。
特点
:基础模型通常具有以下特点:
预训练:在大规模数据集上进行预训练。
多任务适应性:能够通过微调适应不同的下游任务。
广泛应用:可以在自然语言处理、计算机视觉等多个领域中使用。
示例:OpenAI的GPT-3、BERT等模型。
Large Model(大模型):
定义:大模型主要指的是那些参数规模非常大的模型。它们的主要特点是参数数量庞大,通常具有更高的复杂性和表达能力。
特点
:大模型具有以下特点:
参数规模大:参数数量通常达到数亿甚至上千亿。
计算需求高:训练和推理过程需要大量计算资源。
高性能:在许多任务上表现优异,但训练和部署成本较高。
示例:GPT-3 ...