音视频开发
文章平均质量分 95
须尽欢~~
阿里云开发者社区专家博主、技术博主、星级博主。
座右铭:Stay hungry. Stay foolish.
面包多平台作品网址:https://mbd.pub/o/author-amaWnG5pZA==/work
展开
-
项目实战——Qt实现FFmpeg音视频转码器
本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过程。原创 2024-01-22 23:32:22 · 1757 阅读 · 0 评论 -
获取ffmpeg转码的实时进度
本文记录查看 ffmpeg 进行转码时的实时进度。使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c。原创 2024-01-11 20:23:51 · 1722 阅读 · 0 评论 -
FFmpeg获取音视频流信息
本文记录用 FFmpeg 获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长…使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c。原创 2024-01-09 20:14:49 · 1631 阅读 · 0 评论 -
ffmpeg.c(4.3.1)源码剖析
本文对 ffmpeg.c 源码进行学习及剖析。原创 2024-01-06 17:14:12 · 1459 阅读 · 0 评论 -
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c
本文使用官方发布的 SDK 开发包来亲手编译 ffmpeg.c 文件,编译成功后可以对其内部的源码按照我们的需求进行修改,为后面的转码器的开发做个铺垫。原创 2024-01-03 23:26:12 · 1429 阅读 · 1 评论 -
ffmpeg直播项目
本文亲手操练直播项目,对其中的原理及源码进行解读和剖析。原创 2023-12-29 20:00:00 · 1031 阅读 · 0 评论 -
ffmpeg过滤器filter理论与实战
ffmpeg 过滤器,当然也有人称为 ffmpeg 滤镜。(用滤镜听起来好像是给 video 用的,所以不太好,因为 audio 也可以用),ffmpeg 目录下,有个文件夹叫 libavfilter,它可以单独编译为一个库。干嘛用的呢?用于音视频过滤。比如,我有一个 mp4,想把它缩小一半,输出一个新的 mp4,那么,做缩小动作的,就是 libavfilter。本文进行 ffmpeg 过滤器的理论学习及代码实战。DirectShow(简称 DShow)是一个 Windows 平台上的流媒体框架。原创 2023-12-11 19:09:21 · 1163 阅读 · 0 评论 -
AVFormatContext编解码层:理论与实战
AVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器,本文讲解 AVFormatContext 的编解码层,主要包括三大数据结构:,,。得到输入文件 -> 解封格式 -> 得到编码的数据包 -> 解码数据包 -> 得到解码后的数据帧 -> 处理数据帧 -> 编码 -> 得到编码后的数据包 -> 封装格式 -> 输出文件涉及到下面的 API 函数:程序流程图如下图所示:关于 与 的使用说明:关于 与 的使用说明:下面代码使用实现了一个简原创 2023-12-09 16:59:52 · 1001 阅读 · 0 评论 -
AVFormatContext封装层:理论与实战
AVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器,本文讲解 AVFormatContext 的封装层,主要包括两大数据结构:。封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳,将编码后的数据存储于此封装格式的文件之内。封装又称容器,容器的称法更为形象,所谓容器,就是存放内容的器具,例如饮料是内容,那么装饮料的瓶子就是容器。FFmpeg 中将编码帧及未编码帧。原创 2023-12-05 20:15:44 · 1391 阅读 · 0 评论 -
AVFormatContext协议层:理论与实战
URLContext。本次实战的目的与实战 1 的目的一致,均是分析输入文件的流数量,只不过本次实战重点突出使用我们自定义的 AVIO 来打开文件。重点理解的pb字段指向一个,如何完成的关联和绑定avio 自定义数据来源:可以是文件, 可以是内存, 可以是网络本次实战的在实战 2的基础上自定义了数据来源,即使用内存映射技术将输入视频文件映射到内存中。参考了 ffmepg 官方提供的测试用例。原创 2023-12-02 11:23:59 · 1399 阅读 · 0 评论 -
Libavutil详解:理论与实战
libavutil 是一个实用库,用于辅助多媒体编程,本文记录 libavutil 库学习及 demo 例程展示。libavutil 是一个实用库,用于辅助多媒体编程。此库包含安全的可移植字符串函数、随机数生成器、数据结构、附加数学函数、加密和多媒体相关功能(如像素和样本格式的枚举)。libavcodec 和 libavformat 并不依赖此库。数学函数字符串操作内存管理相关数据结构相关错误码及错误处理日志输出其他辅助信息,比如密钥、哈希值、宏、库版本、常量等AVLog。原创 2023-11-29 20:31:57 · 1354 阅读 · 0 评论 -
ffmpeg之QT开发环境搭建
FFmpeg入门及编译,本文记录在 QT 环境中搭建 FFmepg 工程。QT 环境的安装这里不再赘述了,网上资源很多。原创 2023-11-28 20:04:11 · 1440 阅读 · 0 评论 -
FFmepg 核心开发库及重要数据结构与API
本文介绍 FFmpeg 骨架:“八大金刚” 核心开发库,重要数据结构与 API上图后者是前者的数据成员,Format Layer 除了 AVInputFormat 外还有一个 AVOutputFormatAVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器。解协议URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol 存储输入视音频使用的封装格式。每种协议都对应一个 URLProtocol 结构。原创 2023-11-27 22:13:14 · 1715 阅读 · 0 评论 -
FFmpeg常用命令讲解及实战二
FFmpeg 有三个作用不同的工具软件ffmpeg.exeffplay.exe,本文主要讲讲这些工具软件的使用方法。原创 2023-11-23 21:44:27 · 1836 阅读 · 0 评论 -
FFmpeg常用命令行讲解及实战一
本文讲解 FFmpeg 常用命令,并进行实践。FFmpeg入门及编译FFmpeg深入学习。原创 2023-11-20 23:20:02 · 825 阅读 · 0 评论 -
EasyDarwin开源流媒体服务器
本文介绍一个十分实用的高性能开源 RTSP 流媒体服务器:EasyDarwin。原创 2023-11-13 23:23:58 · 2344 阅读 · 3 评论 -
WebRTC简介及使用
WebRTC 只是一个媒体引擎,上面有一个 JavaScript API,所以每个人都知道如何使用它(尽管浏览器实现仍然各不相同),本文对 WebRTC(网页实时通信)的相关内容进行简要介绍。WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌 2010 年以 6820 万美元收购 Global IP Solutions 公司而获得的一项技术。WebRTC 提供了实时音视频的核心技术。原创 2023-11-12 00:02:07 · 9639 阅读 · 2 评论 -
HTTP-FLV详解及分析
传统的直播协议要么使用 Adobe 的基于 TCP 的 RTMP 协议, 要么使用 Apple 的基于 HTTP 的 HLS 协议。本文介绍另外一种结合了 RTMP 的低延时, 以及可以复用现有 HTTP 分发资源的流式协议HTTP-FLV。HTTP-FLV,即将音视频数据封装成 FLV,然后通过 HTTP 协议传输给客户端。HLS 其实是一个 “文本协议” ,而并非流媒体协议,(ts0,ts1,…)。那么,什么样的协议才能称之为流媒体协议呢?答:流(stream)原创 2023-11-11 14:58:41 · 1412 阅读 · 0 评论 -
RTMP协议详解及Wiresahrk抓包分析
本文主要讲解 RTMP 协议,并通过 wireshark 对 RTMP 进行抓包并分析。RTMP 是 Real Time Messaging Protocol( 实时消息传输协议) 的首字母缩写。该协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持 RTMP 协议的流媒体/交互服务器之间进行音视频和数据通信。原创 2023-11-08 00:10:15 · 1859 阅读 · 0 评论 -
HLS直播协议详解
本文对 HLS 协议进行了详细的讲解,由浅入深,一点儿点儿揭开其神秘面纱。首先我们先使用 ffmepg 对一段视频文件进行切片,视频所在路径:D:\Work\test这个命令是使用FFmpeg工具进行视频转码和分段处理的操作。ffmpeg: FFmpeg命令行工具的名称,用于处理音视频文件。: 指定输入文件的路径和文件名。这里的输入文件是名为 “SampleVideo_1280x720_20mb.mp4” 的视频文件。: 强制立即刷新输出文件的数据包。原创 2023-10-28 23:26:36 · 793 阅读 · 0 评论 -
RTP/RTCP 协议讲解
目前,支持流媒体传输的协议主要有实时传输协议 RTP实时传输控制协议 RTCP(Real-Time Transport Control Protocol)和实时流协议 RTSP(Real-Time Streaming Protocol)等。RTSP协议抓包及讲解。流媒体协议栈如下图所示:本文对 RTP 及 RTCP 协议进行了讲解,以及使用 wireshark 抓包对其抓到的报文进行详细分析。原创 2023-10-02 21:32:37 · 3402 阅读 · 0 评论 -
RTSP协议抓包及讲解
本节主要讲解 RTSP 协议,通过 wireshark 抓包的方式对协议进行分析。RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是 TCP/IP 协议体系中的一个应用层协议,由哥伦比亚大学、网景和 RealNetworks 公司提交的 IETF RFC 标准。该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。RTSP 是用来控制声音或影像的多媒体串流协议, 并允许同时多个串流需求控制。原创 2023-09-29 19:07:39 · 2257 阅读 · 0 评论 -
流媒体及直播相关知识
本文主要讲解流媒体及其直播相关知识,所涉及的知识内容比较浅显,主要是做个简单的了解。原创 2023-09-23 00:06:15 · 965 阅读 · 0 评论 -
FFmpeg深入学习
上文主要讲解了 FFmpeg 相关知识,以及在 Windows 下编译 FFmpeg 源码,本文继续对 FFmpeg 进行更深入的介绍。FFmpeg 常规处理流程大流程可以划分为输入、输出、转码、播放四大块其中转码涉及比较多的处理环节,从图中可以看出,转码功能在整个功能图中占比很大,转码的核心功能在解码和编码两个部分,但在一个可用的示例程序中,编码解码与输入输出是难以分割的。原创 2023-09-14 23:46:13 · 960 阅读 · 0 评论 -
FFmpeg入门及编译
本文主要讲解 FFmpeg 相关知识,以及在 Windows 下编译 FFmpeg 源码以及使用。ffmpeg 是广泛使用的多媒体解决方案,既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。其包括了目前领先的音/视频编码库 libavcodec。ffmpeg 提供了多种媒体格式的封装和解封装,包括多种音视频编码,多种协议的流媒体,多种色彩格式转换,多种采样率转换,多种码率转换等。ffmpeg 发展至今,已经被许多开源项目使用。原创 2023-09-13 21:26:04 · 1508 阅读 · 2 评论 -
H.264编码及AAC编码基础
本节重点讲解了 H.264 编码以及 AAC 编码,在对其进行讲解前先介绍了视频编码的实现原理。H264 在视频采集到输出中属于编解码层次的数据,如下图所示,是在采集数据后做编码压缩时通过编码标准编码后所呈现的数据。原创 2023-09-09 15:40:19 · 1182 阅读 · 0 评论 -
视频基础知识
本节对视频相关知识进行了详细的介绍及讲解。PPI,就是“Pixels Per Inch”,每英寸像素数。也就是,手机(或显示器)屏幕上每英寸面积,到底能放下多少个“像素点”。PPI 越高,图像就越清晰细腻。FLV( Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了 FLV 格式。原创 2023-09-06 23:53:16 · 1049 阅读 · 4 评论 -
音频基础知识
本节对音频相关知识进行了详细的介绍及讲解。降低传输所需要的信道带宽, 同时保持输入语音的高质量。语音编码的目标在于:设计低复杂度的编码器以尽可能低的比特率实现高品质数据传输。原创 2023-09-04 21:21:18 · 1838 阅读 · 0 评论 -
音视频开发常用工具
我们在进行音视频开发过程中不可避免的需要使用一些工具进行协助开发,本文重点讲解音视频开发过程中常用工具以及常用功能。VLC 支持多种常见音视频格式,支持多种流媒体传输协议,也可当做本地流媒体服务器使用,功能十分强大。MediaInfo 用来分析视频和音频文件的编码和内容信息。①、使用 MediaInfo 可以获得多媒体文件的哪些信息?内容信息: 标题, 作者, 专辑名, 音轨号, 日期, 总时间……视频: 编码器, 长宽比, 帧频率, 比特率……音频。原创 2023-09-02 21:26:43 · 2013 阅读 · 0 评论 -
音视频入门基础理论知识
本节介绍了音视频的基本原理知识以及编码相关概念。我的qq:2442391036,欢迎交流!原创 2023-09-01 00:17:03 · 1248 阅读 · 0 评论