音视频开发
音视频开发经验文章
撬动未来的支点
空谈误国,实干兴邦
展开
-
使用VS2015在win7 x64上编译调试FFmpeg(附源码和虚拟机下载)
在文章《使用VS2017在win10 x64上编译调试FFmpeg(附源码和虚拟机下载)》中,我们在win10+VS2017的环境下基于开源项目ShiftMediaProject完成了FFmpeg源码调试环境的配置。在win7+VS2015的环境下,ShiftMediaProject配置过程和win10+VS2017下类似,但编译问题会更多一些。经过一番排查,将编译问题解决后,即可进行源码调试。原因是代码中检测了系统类型,win7系统下,没有此结构的定义,相关函数也不会被使用。原创 2024-01-14 21:59:31 · 579 阅读 · 0 评论 -
使用FFmpeg+EasyDarwin搭建音视频推拉流测试环境
在上一篇文章《使用VS2017在win10 x64上编译调试FFmpeg(附源码和虚拟机下载)》中,我们讲解了如何搭建FFmpeg源码编译和调试环境。调试FFmpeg,还需要搭建流媒体服务器。流媒体服务器的作用是通过网络对外提供音视频服务,包括但不限于提供视频推流、拉流服务。推流(Push):推流是指将音视频数据从本地设备(如摄像头、麦克风)通过网络上传到服务器的过程。拉流(Pull):拉流是指从直播服务器获取音视频数据并在本地进行播放的过程。原创 2024-01-09 00:30:51 · 1681 阅读 · 0 评论 -
使用VS2017在win10 x64上编译调试FFmpeg(附源码和虚拟机下载)
借助开源项目,我们可以在Windows下使用Visual Studio编译和调试FFmpeg源码。网上相关的教程很多,写的也十分详细。但由于计算机环境的不同,笔者在编译环境搭建过程中,还是出现了不少问题。本文将对其中容易出问题的部分进行深入讲解。同时,本文将提供可成功编译调试的FFmpeg开发环境虚拟机下载。笔者认为前人踩过的坑,仅作记录即可,后来者不需要再花费同样的精力去重新踩一遍坑,后来者只有站在前人的肩膀上才能看得更远。本文使用VS2017编译FFmpeg,VS2015版本的编译环境正在制作中。原创 2024-01-07 01:40:36 · 1167 阅读 · 1 评论 -
【图像处理】pitch和stride
pitch和stride都表示图像一行占用的字节数,即图像行跨度,此值大于等于图像的一行像素的字节数。图像行跨度 = 图像像素宽度 + 对齐填充字节。原创 2023-05-18 19:39:04 · 504 阅读 · 0 评论 -
【音视频开发】音视频数据封装层级模型
音视频数据封装层级模型原创 2022-10-19 16:12:15 · 126 阅读 · 0 评论 -
FFmpeg资料
ffmpeg资料原创 2022-10-19 15:01:58 · 110 阅读 · 0 评论 -
音频帧AVFrame::linesize大于实际值的问题记录
通过打印AVFrame::data[0],确定了只有4096字节的数据是有效数据,所以应该以 AVFrame::nb_samples * av_get_bytes_per_sample(AVFrame::format)大小来判断有效数据长度。但是AVFrame::nb_samples为1024,AVFrame::format类型为AV_SAMPLE_FMT_FLTP,即每个采样是4字节。那么此音频帧中的数据应该为4096,和AVFrame::linesize[0]不相等。原创 2022-10-18 18:02:43 · 675 阅读 · 0 评论 -
音视频工程师(初步)(一)音视频的基本概念
前言本文是音视频开发技术解析的第一篇文章,写这篇文章时,笔者也刚学音视频开发半个月之久。为什么选择在初学的时候写教程呢,有两点原因。只有初学者最懂入门的痛苦,初学者是最会提问题的人,这些问题就是在学习时需要重点解决的问题。以过来人的口吻去自顾自地乏味讲解只会让人失去兴趣。学习的时候可以发现网络上教程对初学者不友好的地方,对其加以改进。我认为教育的灵魂就是改革。如果每年每代人都用同样的教程,一遍又一遍踩前人踩过的坑,这样的教育是停滞不前的。只有不断的填坑,不断的改革,后来人才能在更短的时间内汲取更多原创 2022-01-21 15:41:32 · 4844 阅读 · 0 评论 -
音视频相关链接
开发库FFmpegFFmpeg官网FFmpeg github平台相关DirectShowDirectShow简介DirectShow官网原创 2022-01-17 10:09:46 · 1933 阅读 · 0 评论 -
ffmpeg录屏鼠标闪烁问题解决方法
场景:显卡很差的电脑,使用ffmpeg录屏,鼠标闪烁的几乎看不到。录屏实现方法是使用ffmpeg,源采用的是gdigrab。解决方法:原创 2021-06-08 12:33:11 · 2692 阅读 · 0 评论