FFmpeg

RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo

前言 目标开发任务还有个功能,就是播放rtsp摄像头,当然为了更好的坐这个个,我们必须支持rtsp播放失败之后重新尝试,比如5s重新尝试打开一次,从而保障联网后重新打开,然后达成这个功能。 Demo 补充 得益于方案上的buildroot已经移植了ffmpeg4.1.3。 摄像头的硬件连接 编译ff ... »

FFmpeg中的常用结构体分析

一.前言 在学习使用FFmpeg进行编解码时,我们有必要先去熟悉FFmpeg中的常用结构体,只有对它们的含义和用途有深刻的了解,我们才能为后面的学习打下坚实的基础。所以,这篇文章将会介绍这些常用的结构体有哪些,然后再介绍它们的具体用途。 二.常用的结构体分析 1.AVFormatContext: 它 ... »

Win11+ VS2022编译 FFmpeg6.0 静态库

[TOC](目录) # 编译前言 编译作为自己持有的稳定版本 用来练习,网上的编译环境太杂太乱了,目前有个开源项目致力解决ffmpeg编译的问题,暂时拿来用,如果这个项目不维护或者坏了,再考虑其他。 ## 为什么项目编译? 编译作为自己持有的稳定版本 用来练习 ## 前期准备 使用github 上 ... »

FFmpeg+SDL实时解码和渲染H264视频流

# 前言 之前实现了[Android手机摄像头数据的TCP实时传输](http://kason.site/posts/android-net-camera),今天接着聊聊,如何在PC端把接收到的H264视频流实时解码并渲染出来。这次使用的语言是C++,框架有FFmpeg和SDL2。 # 解码 解码部 ... »

kason

理解ffmpeg

ffmpeg是一个完整的、跨平台的音频和视频录制、转换和流媒体解决方案。 它的官网:https://ffmpeg.org/ 这里有一份中文的文档:https://ffmpeg.p2hp.com/ ## ffmpeg提供了什么? 在centos上,可以通过yum进行安装: ``` yum instal ... »

yjf512

基于FFMPEG+SDL的简单的视频播放器分析

# 基于FFMPEG+SDL的简单的视频播放器分析 ## 前言 最近看了雷霄骅前辈的博客[《最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)》](https://blog.csdn.net/leixiaohua1020/article/details/38868499), ... »

Azion

HLS AES加密

# HLS AES加密 ## HLS AES加密介绍 HLS AES加密是一种用于保护HLS流内容安全的加密技术。它通过将HLS媒体文件进行分段,并使用AES加密算法对每个片段进行加密,从而防止未经授权的访问和内容盗取。 HLS AES加密的功能主要包括以下方面: - 内容保护:使用AES加密算法对 ... »

[C#] FFmpeg 音视频开发总结

为什么选择FFmpeg? 延迟低,参数可控,相关函数方便查询,是选择FFmpeg作为编解码器最主要原因,如果是处理实时流,要求低延迟,最好选择是FFmpeg。 如果需要用Opencv或者C#的Emgucv这种库来处理视频流,也多是用FFmpeg做编解码然后再转换图像数据给Opencv去处理。用Ope ... »

mrf2233

[音视频处理] FFmpeg使用指北1-视频解码

本文将详细介绍如何使用ffmpeg 4.4在C++中解码多种格式的媒体文件,这些媒体文件可以是视频、视频流、图片,或是桌面截屏或USB摄像头的实时图片。解码文件后,还将每帧图片转换为OpenCV的Mat格式以供后续使用。 [toc] # 1 基于ffmpeg的媒体文件解码 ## 1.1 简介 在开始 ... »

音视频八股文(11)-- ffmpeg 音频重采样

1重采样 1.1 什么是重采样 所谓的重采样,就是改变⾳频的采样率、sample format、声道数等参数,使之按照我们期望的参数输出。 1.2 为什么要重采样 为什么要重采样?当然是原有的⾳频参数不满⾜我们的需求,⽐如在FFmpeg解码⾳频的时候,不同的⾳源有不同的格式,采样率等,在解码后的数据 ... »

音视频八股文(11)-- ffmpeg avio 内存输入和内存输出。内存输出有完整代码,网上很少有的。

1.avio介绍 avio是FFmpeg中的一个模块,用于实现多种输入输出方式的封装。 avio提供了一系列API,可以将数据从内存读取到缓冲区中,也可以将缓冲区中的数据写入到内存中。其实现依赖于IOContext结构体,该结构体定义了当前输入/输出事件的状态、数据、回调函数等信息,并支持通过自定义 ... »

ffmpeg 在 win平台下的编译以及集成

目录 引言 1、交叉编译 2、FFmpeg编译 3、FFmpeg集成 引言 Java是 write once,run anywhre,但 C 不一样,各平台均有差异,无法只写一次,而且各个平台的编译都不一样。比如android的ndk工具链,不同平台的库都是不一样的 本文主要讲解下 ff »

FFmpeg开发笔记(二)搭建Windows系统的开发环境

由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的。不过若有已经编译好的Windows版本FFmpeg开发包,那就免去了繁琐的Windows编译过程,所以直接安装已 ... »

Ffmpeg分布式视频转码问题总结

本文主要聊一聊云原生时代分布式转码系统实施过程中碰到的一些问题。 聊问题之前简单介绍一下我们的分布式转码方案。 云原生分布式转码 在计算资源招之即来的云计算时代,正在重构着软件架构的方方面面。 对软件架构师或者运维管理者影响比较大的一个点便是不需要在做容量规划,不需要提前评估为了应对某个活动应该准备 ... »

C++中使用FFmpeg适配自定义编码器的实现方法

目录 1 编码流程 1.1 整体流程 1.2 内部流程 2 适配接口 2.1 init、close 2.2 option 2.3 receive 2.4 encode 2.5 零拷贝的设计 1 编码流程 FFmpeg是一个开源的多媒体框架,底层可对接实现多种编解码器,下面参考文件d »

FFmpeg开发笔记(一)搭建Linux系统的开发环境

对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。 不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库... ... »

C++ ffmpeg实现将视频帧转换成jpg或png等图片

目录 前言 一、如何实现 1、查找编码器 2、构造编码器上下文 3、像素格式转换 4、编码 5、获取图片数据 6、销毁资源 二、完整代码 三、使用示例 1、截取视频帧并保存文件 2、自定义数据构造AVFrame 总结 前言 有时播放实时流的时候有截图的需求,需要将解码出来的图片 »

C++ ffmpeg实现将视频帧转换成jpg或png等图片

目录 前言 一、如何实现 1、查找编码器 2、构造编码器上下文 3、像素格式转换 4、编码 5、获取图片数据 6、销毁资源 二、完整代码 三、使用示例 1、截取视频帧并保存文件 2、自定义数据构造AVFrame 总结 前言 有时播放实时流的时候有截图的需求,需要将解码出来的图片 »

Qt音视频开发之利用ffmpeg实现解码本地摄像头

目录 一、前言 二、效果图 三、体验地址 四、相关代码 五、功能特点 5.1 基础功能 5.2 特色功能 5.3 视频控件 一、前言 一开始用ffmpeg做的是视频流的解析,后面增加了本地视频文件的支持,到后面发现ffmpeg也是支持本地摄像头设备的,只要是原则上打通的比如win系统上 »