
FFmpeg 学习
csdn_tom_168
富贵如可求,虽执鞭之士,吾亦为之。如不可求,从吾所好。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 环境下安装 ZLMediaKit(一款高性能流媒体服务器框架)并实现视频推流
摘要: ZLMediaKit 是一款高性能的跨平台流媒体服务器框架,支持 RTMP、RTSP、HLS 等协议。在 Linux 系统(如 Ubuntu/CentOS)中可通过源码编译或预编译包安装。安装前需确保依赖库(如 libx264、libssl)已配置。安装完成后需修改配置文件(如 RTMP 端口、应用名),并通过 FFmpeg 测试推流(如 ffmpeg -f v4l2 -i /dev/video0 -f flv rtmp://localhost:1935/live/my_stream)。常见问题包括原创 2025-07-23 01:07:46 · 513 阅读 · 0 评论 -
FFmpeg 集成 libwebp (WebP 图像格式的编解码库)
本文详细介绍了在Linux系统中为FFmpeg集成libwebp库的方法,主要包括:安装libwebp开发库、配置FFmpeg编译选项、编译安装及环境设置等步骤。通过此集成,FFmpeg可支持WebP图像的编码和解码。文章还提供了测试命令和常见问题解决方案,注意事项涵盖性能优化和版本兼容性等。该指南适用于需要在FFmpeg中处理WebP格式的开发者和用户。原创 2025-07-23 01:07:33 · 617 阅读 · 0 评论 -
FFmpeg 集成 AV1(AOMedia Video 1)编解码器
摘要: 本文详细介绍了在Linux系统中为FFmpeg集成AV1编解码器的完整流程。主要内容包括: 前置准备:需安装libaom开发库,支持Ubuntu/Debian/CentOS等系统,提供手动编译方法。 FFmpeg配置:通过./configure启用--enable-libaom参数,指定头文件与库路径。 编译与验证:完成编译后需更新动态库缓存,通过ffmpeg -codecs确认AV1支持。 测试与问题解决:提供AV1编解码测试命令,并针对常见错误(如库路径问题、编码速度慢)给出解决方案。 注意事项原创 2025-07-23 01:07:13 · 376 阅读 · 0 评论 -
开启RTMP直播推流利器--OBS Studio
本文详细介绍了使用OBS Studio进行RTMP直播推流的完整流程。从软件安装、服务器准备到具体配置步骤,包括视频/音频参数设置、画面源添加和推流测试方法。同时提供了常见问题解决方案,如连接失败、画面卡顿、音频异常等,并建议了多平台推流、虚拟摄像头等进阶功能。通过清晰的参数说明和操作指引,帮助用户快速掌握OBS推流技术,适用于游戏、会议、教学等多种直播场景。原创 2025-07-23 01:06:59 · 647 阅读 · 0 评论 -
FFmpeg中SAR(Sample Aspect Ratio,采样宽高比)和 DAR(Display Aspect Ratio,显示宽高比)
SAR(采样宽高比)和DAR(显示宽高比)是FFmpeg中影响视频显示效果的关键参数。SAR表示像素本身的宽高比例,由编码参数决定;DAR则是视频在设备上的实际显示比例。二者关系为DAR = SAR ×原始分辨率宽高比。通过ffprobe或ffmpeg命令可查看SAR/DAR信息,使用setsar/setdar滤镜或scale滤镜可调整参数。常见问题包括黑边(DAR不匹配)、视频变形(SAR强制拉伸)等,建议优先使用scale滤镜保持原始SAR,避免画面失真。正确处理SAR/DAR可确保视频在不同设备上正确原创 2025-07-23 01:06:45 · 574 阅读 · 0 评论 -
FFmpeg 集成 AVS3(中国自主视频编码标准)解码器
在 Linux 环境下为 FFmpeg 集成 AVS3 解码器需要完成 AVS3 解码库安装、FFmpeg 源码编译配置和运行时环境设置等步骤。首先获取 FFmpeg 源码和 AVS3 解码库(可能需手动编译安装),然后配置 FFmpeg 编译选项,添加 --enable-avs3 参数并指定库路径。编译安装后,需更新动态链接库缓存并验证解码器是否成功集成。该方案支持 AVS3 视频解码,但需注意版本兼容性和许可问题。原创 2025-07-23 01:06:33 · 451 阅读 · 0 评论 -
FFmpeg 中实现音视频解码的多线程处理
摘要:FFmpeg支持通过切片级多线程(Slice-Level Threading)实现音视频并行解码,主要适用于H.264/H.265等支持切片的编码格式。配置方式包括环境变量(FFMPEG_THREAD_COUNT)和API参数(av_opt_set),其中视频解码可设1线程,音频解码通常单线程处理。代码示例展示了如何分离音视频流并启用多线程解码,视频解码通过av_opt_set设置线程参数,而音频采用单线程处理。该方案能有效提升解码效率,但需注意编解码器的多线程支持情况。原创 2025-07-23 01:06:19 · 238 阅读 · 0 评论 -
FFmpeg 兼容数十种音频格式的播放
FFmpeg 是一个强大的跨平台音视频处理框架,支持数十种音频格式的播放,包括主流格式(如 MP3、AAC、FLAC、WAV)和专业格式(如 Opus、DTS)。其音频播放流程分为解封装、解码、重采样和输出四个核心步骤,通过内置编解码器或外部库实现兼容性。FFmpeg 提供命令行工具 ffplay 直接播放音频,也支持 C/C++ API 进行自定义开发。无论是常见音频格式还是特殊编码需求,FFmpeg 都能提供灵活的解决方案。原创 2025-07-23 01:06:06 · 368 阅读 · 0 评论 -
MediaMTX(原 SRS-MediaServer)的推拉流详解
MediaMTX 推拉流功能详解 MediaMTX 是一款开源跨平台流媒体服务器,支持 RTMP、RTSP、WebRTC、HLS、HTTP-FLV、SRT 等协议,适用于直播、视频会议和监控场景。 核心功能 推流:支持通过 RTMP/SRT/WebRTC 接收外部输入(如 OBS/摄像头) 拉流:支持将流转发为 HLS/RTSP/HTTP-FLV 等协议输出 典型应用 直播推流:通过 RTMP 接收 OBS 推流并转为 HLS 播放 低延迟传输:SRT 协议实现抗丢包传输 互动直播:WebRTC 支持双向音原创 2025-07-23 01:05:45 · 672 阅读 · 0 评论 -
FFmpeg 的音频重采样的缓存
FFmpeg音频重采样中的缓存机制是确保数据处理连续性和稳定性的关键。通过libswresample库的SwrContext管理,缓存平衡输入/输出速率差异,对齐数据块并防止数据丢失。核心参数包括输入/输出缓存大小、补偿延迟和处理块限制。通过swr_set_compensation()等函数可优化缓存行为,解决延迟过高、溢出或卡顿等问题。调试时可通过日志、状态检查工具监控缓存情况。合理配置缓存参数对实时和离线处理场景的音质与性能至关重要。原创 2025-07-23 01:05:11 · 473 阅读 · 0 评论 -
FFmpeg 集成 libopus(音频编解码)和 libvpx(VP8/VP9 视频编解码)
本文详细介绍了在Linux环境下为FFmpeg集成libopus音频编解码和libvpx视频编解码库的完整步骤。首先需安装基础开发工具链和库文件,然后通过配置FFmpeg编译选项启用相关功能,执行编译安装后验证编解码器支持情况。文章包含常见问题解决方案和注意事项,适用于需要支持VP8/VP9视频和Opus音频编解码的应用场景。整个过程涉及依赖管理、编译配置和功能测试,提供了从安装到验证的一站式指导。原创 2025-07-23 01:04:56 · 500 阅读 · 0 评论 -
FFmpeg 集成 Vorbis(音频编解码器)和 AMR(自适应多速率语音编码)
本文详细介绍了在Linux环境下为FFmpeg集成Vorbis音频编解码器和AMR语音编码器的完整流程。主要内容包括:1)安装开发工具链和FFmpeg源码;2)通过apt或yum安装Vorbis和AMR的开发库;3)配置FFmpeg编译选项以支持这两种编解码器;4)编译安装并验证集成效果;5)提供常见问题解决方案和注意事项。该指南适用于Ubuntu/Debian和CentOS/RHEL系统,帮助用户实现音视频转码和语音处理功能,同时提醒注意AMR的专利授权问题。原创 2025-07-23 01:04:43 · 449 阅读 · 0 评论 -
FFmpeg的动态链接库(.so 文件)
FFmpeg的核心功能通过多个动态链接库(.so)实现,主要分为基础组件库和扩展组件库。基础库包括:libavformat(处理容器格式)、libavcodec(编解码核心)、libavutil(公共工具)等;扩展库如libavfilter(滤镜处理)和libavdevice(设备访问)。这些库具有层级依赖关系,开发时需按顺序链接。调用FFmpeg库需包含对应头文件,编译时指定链接库路径和名称,并注意运行时库加载问题。该架构支持音视频处理、转码、设备访问等多样化应用场景。原创 2025-07-23 01:04:24 · 663 阅读 · 0 评论 -
FFmpeg 项目的多个命令行工具
FFmpeg 提供了一套完整的音视频处理工具链,主要包括: ffmpeg:核心转码工具,支持音视频录制、格式转换、剪辑、滤镜处理和流媒体推拉等,适用于H.264/H.265转码、片段截取、音频提取等场景。 ffprobe:媒体文件分析工具,可查看编码格式、分辨率、帧率等元数据,支持JSON输出便于脚本解析。 ffplay:简易播放器,用于快速预览文件或测试解码效果,支持滤镜实时预览。 硬件加速工具(如ffmpeg-nvenc):利用NVIDIA/Intel硬件加速编码,提升转码效率。 此外,ffserver原创 2025-07-23 01:04:10 · 308 阅读 · 0 评论 -
FFmpeg开发环境安装(Linux系统)
本文详细介绍了在Linux系统(Ubuntu/Debian和CentOS/RHEL)上搭建FFmpeg开发环境的完整流程。主要内容包括:1)安装基础开发工具和FFmpeg依赖库(如libx264、libfdk-aac等);2)获取FFmpeg源码并配置编译选项;3)执行编译安装步骤;4)设置环境变量和验证安装;5)提供C语言测试程序示例验证API调用。文章还针对常见问题(如依赖缺失、链接错误等)给出解决方案,帮助开发者快速构建可用于音视频处理的FFmpeg开发环境。原创 2025-07-23 01:03:35 · 309 阅读 · 0 评论