音视频
文章平均质量分 84
yun6853992
走在不知道到知道,知道到懂得,懂得到做到,做到到试图分享的路上。
感激每一个对我提出问题的人,感谢每一个善意鼓励我的人。
展开
-
音视频使用qt测试ffmpeg接口时无法运行
对qt相关环境并不熟悉,在进行测试的时候,遇到构建成功,运行没反应的问题,纠结许久有阻塞,所以做了该整理。1:qt构建时,要注意选择的构建方式,以及依赖动态库要和构建方式的32/64版本对应,pro文件中要配置对应依赖位置。2:运行时报错”“,或者运行时没有反应,多半是dll依赖没有对,需要拷贝对应依赖dll到构建目录下。====》这里同时要注意debug版本和release版本构建时,点击直接运行时的报错和debug运行时的报错不一样。(都是确少对应dll文件)原创 2023-05-23 12:56:22 · 964 阅读 · 0 评论 -
音视频windows安装ffmpeg6.0并使用vs调试源码笔记
建立在上一步,vs已经能够正常调试qt项目,可以实现:1:qt可以使用mvsc (使用cdb)进行调试。2:vs已经可以加载qt项目,借助vs进行调试。:编译ffmpeg库,编译出对应的相关库,使用qt,vs进行调试demo,为研究源码做准备。本文编译ffmpeg6.0,使调试源码环境能正常进行。技巧:which.exe cl.exe 可以查看当前生效的执行文件。原创 2023-05-20 01:07:58 · 1382 阅读 · 6 评论 -
音视频源码调试前准备vs2019+qt5.15.2搭建可调试环境
安装vs2019+qt,并且在windows环境上安装ffmpeg,尝试使用qt+cdb进行调试,尝试使用vs2019加载qt的程序。原创 2023-05-20 01:02:18 · 959 阅读 · 1 评论 -
音视频ubuntu安装ffmpeg6.0简略笔记
1:安装相关基础依赖。3:安装相关第三方库。原创 2023-05-20 00:58:04 · 442 阅读 · 0 评论 -
音视频学习之rtsp学习rtp协议的理解(rtp)
1:理论理解相关细节实际的媒体数据(视频/音频)的传输是通过rtp进行传输的。rtp可以基于udp进行发送,也可以基于tcp进行发送。 (这个有点疑问,看很多都说rtp是基于udp传输)==》那么乱序,丢包,以及一个图片资源过大,如何拆包相关逻辑呢rtp传输h264 图像资源,需要了解h264格式数据相关知识,以及如何进行封包发送以及接收后解包处理rtp传输AAC 音频文件,需要了解aac相关格式(aac有两种格式),同样思考如何封包以及解包。在进行rtsp测试的时候,发现音频如果按定时器发送帧原创 2022-01-15 01:24:43 · 6439 阅读 · 0 评论 -
音视频学习之闲看视频整理低延迟
2022年1月14日晚上闲听公开课: 课程题目是元宇宙引入音视频相关知识。 元宇宙相关话题不去理解,可以明确的是元宇宙有一个难点是音视频交互的低延迟。 老师讲解的低延迟相关概念,对于我来说感觉挺有意义,忍不住做笔记整理。1:了解延迟在推流,拉流相关业务(如直播),从数据的采集发送到客户端接收到数据后播放,其实是有一定的播放延迟的。如下图:使用rtmp(是基于tcp进行传输的)进行推流,然后使用不同方式对rtmp拉流播放,延迟误差。从图中可以看出: ===》使用ffplay进行播放时原创 2022-01-15 00:17:07 · 3249 阅读 · 0 评论 -
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
公司项目需要实现一个只是rtsp推流和rtsp拉流的业务机制,据说ZLMediaKit能满足rtsp推拉流的相关业务。对ZLMediaKit流媒体服务器进行安装以及了解。0:从开源库Readme中对其功能进行了解简单认识ZLMediaKit,了解ZLMediaKit能实现的基本功能,我的理解是他就是一个流媒体服务器。1:ZLMediaKit环境搭建使用linux虚拟机环境进行环境搭建,并启动:#ZLMediaKit采⽤了C++11的语法和库,要求编译器⽀持完整的C++11标准。sudo ap原创 2022-01-13 17:57:32 · 6895 阅读 · 0 评论 -
音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)
工作需要实现一个rtsp的推流拉流业务流程,对开源项目rtspserver进行学习及理解。参考系列rtspserver的文章:我的开源项目-RtspServer_JT同学的博客-CSDN博客_rtsp server建立在个人对rtsp推流流程有一定理解的基础上,本文目的是通过开源库rtspserver实现推流,了解一下这个库,运行该库下相关demo,对理论做实践。1:搭建环境# git clone git@github.com:ImSjt/RtspServer.git#这里我是直接在github上原创 2022-01-13 00:40:42 · 5772 阅读 · 1 评论 -
音视频学习之ffplay基础命令整理
查看网站:ffplay Documentation (ffmpeg.org)1:ffplay基础命令:ffplay -versionffplay -h2:ffplay播放控制:'q, ESC' 退出'f' 全屏'p, SPC' 暂停'w' 切换显示模式(视频/音频波形/音频频带)'s' 步进到下一帧'left/right' 快退/快原创 2021-12-11 11:24:18 · 6997 阅读 · 0 评论 -
音视频学习之ffmpeg常用基础命令整理
基于windows环境安装好必要的ffmpeg后,对ffmpeg基础命令进行一些了解:1:ffmpeg查看版本:ffmpeg -version2:ffmpeg查询命令:基本信息:ffmpeg -h高级信息:ffmpeg -h long所有信息:ffmpeg -h fullffplay查看帮助: ffplay -hffprobe查看帮助: ffprobe -hffmpeg具体分类支持的参数查看帮助: ffmepg -h type=name比如: ffmpeg -h muxer原创 2021-12-11 11:18:24 · 3709 阅读 · 0 评论 -
音视频学习之时间戳相关整理(时间基tbr,tbn,tbc)
1: I帧/P帧/B帧 I帧:I帧(Intra-coded picture, 帧内编码帧,常称为关键帧)包含⼀幅完整的图像信息,属于帧内编码图像,不含运动⽮量,在解码时不需要参考其他帧图像。 因此在I帧图像处可以切换频道,⽽不会导致图像丢失或⽆法解码。 I帧图像⽤于阻⽌误差的累积和扩散。 在闭合式GOP中,每个GOP的第⼀个帧⼀定是I帧,且当前GOP的数据不会参考前后GOP的数据。 P帧:P帧(Predictive-coded picture, 预测编码图像帧)是帧间编码帧, 利⽤之前原创 2021-12-11 10:58:24 · 5475 阅读 · 1 评论 -
音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)
1:常用的视频压缩算法: MPEG2 ===>MPEG阵营 H264 ===>MPEG阵营 H265 ===>MPEG阵营 AVS ===>中国阵营 VP8 ===>Google阵营 VP9 ===>Google阵营2:图像表示方法 :2.1:RGB 红绿蓝 每个像素8bit 色彩:256256256=16,777,216 一个1280*720的照片,用RGB存储,大小:1280原创 2021-12-11 10:38:37 · 3168 阅读 · 0 评论 -
解码失败会显示绿屏,及yuv和rgb简单理解
音视频图片相关基础:1:rgb 红绿蓝 光的三原色在RGB中,一幅图像有三个独立的图像平面或通道组成:红,绿,蓝(以及第四个通道透明度)。 RGB(255,23,140)是光的三原色,也即红绿蓝Red、Green、Blue,它们的最大值是255,相当于100%。 白色:rgb(255,255,255) 黑色:rgb(0,0,0) 红色:rgb(255,0,0) 绿色:rgb(0,255,0) 蓝色:rgb(0,0,255) 青色:rgb(0,255,255)原创 2021-09-27 10:32:09 · 3981 阅读 · 0 评论 -
音频播放的一些整理
1:相关基本概念。实现一个在linux环境上可以播放WAV, AAC, Mp3格式的音频播放器,对基础做一些梳理:1:计算公式及基本概念样本长度/大小(sample):样本是记录音频数据最基本的单位,常见的有8位和16位,24bit。 ==》每次采样中记录采样数据存储空间的大小,16bit就能精细到65536。通道数(channel):该参数为1表示单声道,2则是立体声,四声道,5.1声道。**桢(frame):**桢记录了一个声音单元,其长度为样本长度与通道数的乘积。**原创 2021-06-20 23:19:45 · 883 阅读 · 0 评论 -
音视频linux环境安装ffmpeg
1:准备环境: 因为这里需要SDL相关图形界面的一些测试,所以最好准备带界面的ubuntu环境。 这里我一般采用的是16.04或者18.04的环境。安装必要的软件:hlp@hlp:/$ sudo apt-get updatehlp@hlp:/$ sudo apt-get -y install autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev libsdl原创 2021-06-18 15:31:41 · 1428 阅读 · 0 评论 -
音视频windows环境ffmpeg搭建
1:配置ffmpeg,使window是终端可以识别到ffplay, ffmpeg工具 使用ffplay xxx.mp4 -x 800 -y 400 进行测试2:把需要的dll文件拷贝到qt的项目库下,编译调试qt可以成功。 可以用ldd命令查看依赖的dll3:如何配置ffmpeg的dll路径,使qt可以新建项目自动识别到?4:用动态库的时候,需要相关的dll进行链接才能debug,静态库好像也有个dll?1:windows下命令行环境搭建 获取对应的ffmpeg并安装1:获取ffmpeg原创 2021-06-18 15:56:14 · 1689 阅读 · 0 评论