2022 年,最新 ffmpeg 资料,项目(调试可用),命令手册,文章,编解论文,视频讲解,面试题全套资料
本项目Github地址:https://github.com/0voice/ffmpeg_develop_doc
有需要的可以前去下载,或者觉得还不错,请给我Star,感谢支持!
目录
@ 开源项目
@ 典藏文档
@ 系列文章
@ 面试题
@ 教学视频
@ 学术论文
@ 资料下载
开源项目
- 基于FFmpeg n3.4的Android/iOS视频播放器,支持MediaCodec, VideoToolbox。
bilibili/ijkplayer
- ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
befovy/fijkplayer**
- 命令行视频播放器
mpv-player/mpv
- 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
CarGuo/GSYVideoPlayer**
- 教程,演示如何编写一个基于FFmpeg的视频播放器
mpenkov/ffmpeg-tutorial
- 一个微小但强大的iOS和Apple TV OS的av播放器框架,是基于FFmpeg库。
imoreapps/ffmpeg-avplayer-for-ios-tvos
- FFME:高级WPF MediaElement(基于FFmpeg)
unosquare/ffmediaelement
- RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能:视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片,抖音首页,视频播放器及支持 OpenSSL https 等主流特色功能
microshow/RxFFmpeg
- 基于Qt和FFmpeg的跨平台多媒体框架,高性能。用户和开发人员友好。支持Android, iOS, Windows商店和桌面。基于Qt和FFmpeg的跨平台高性能音视频播放框架
wang-bin/QtAV
- android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
xufuji456/FFmpegAndroid
- 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑
Zhaoss/WeiXinRecordedDemo
- Android上基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,变速,添加LOGO,添加滤镜,添加背景音乐,加速减速视频,倒放音视频
yangjie10930/EpMedia
- 一套完整的Web版H.265播放器解决方案,非常适合学习交流和实际应用。基于JS码流解封装、WebAssembly(FFmpeg)视频解码,利用Canvas画布投影、AudioContext播放音频。
goldvideo/h265player
- 基于FFmpeg + OpenSL ES的音频播放SDK。可循环不间断播放短音频;播放raw和assets音频文件;可独立设置音量大小;可实时现在音量分贝大小(用于绘制波形图);可改变音频播放速度和音调(变速不变调、变调不变速、变速又变调);可设置播放声道(左声道、右声道和立体声);可边播边录留住美好音乐;可裁剪指定时间段的音频,制作自己的彩铃;还可以从中获取音频原始PCM数据(可指定采样率),方便二次开发等。
wanliyang1990/wlmusic
- 一个基于FFmpeg、libtorrent的P2P播放器实现
Jackarain/avplayer
- EasyPlayerPro是一款免费的全功能流媒体播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,核心基于ffmpeg,稳定、高效、可靠、可控,支持Windows、Android、iOS三个平台,目前在多家教育、安防、行业型公司,都得到的应用,广受好评!
tsingsee/EasyPlayerPro-Win
- FFmpeg-Android 是基于ffmpeg n4.0-39-gda39990编译运行在android平台的音视频的处理框架, 使用的是ProcessBuilder执行命令行操作, 可实现视频字幕添加、尺寸剪切、添加或去除水印、时长截取、转GIF动图、涂鸦、音频提取、拼接、质量压缩、加减速、涂鸦、 倒放、素描、色彩平衡、模糊、九宫格、添加贴纸、滤镜、分屏、图片合成视频等,音视频合成、截取、拼接,混音、音视频解码,视频特效等等音视频处理...
yangfeng1994/FFmpeg-Android
- 基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,添加LOGO,添加滤镜,添加背景音乐,加速减速视频,倒放音视频。简单的Demo,后面逐渐完善各类功能的使用。
yangjie10930/EpMediaDemo
- Android Rtmp播放器,基于MediaCodec与srs-librtmp,不依赖ffmpeg
qingkouwei/oarplayer
- 借助于WebAssembly技术,基于ffmpeg的H.265解码器。
goldvideo/decoder_wasm
- To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
HeZhang1994/video-audio-tools
- 基于 ffmpeg + Webassembly 实现前端视频帧提取
jordiwang/web-capture
- Video and audio decoding based with FFmpeg 基于ffmpeg的 视频解码 音频解码.播放等
ccj659/NDK-FFmpeg-master
- iOS电影播放器使用ffmpeg
kolyvan/kxmovie
- 一个关于美容相机、图像和短视频开发的Android项目
CainKernel/CainCamera
- 一个基于FFmpeg的无损剪辑软件
mifi/lossless-cut
典藏文档
AAC解码算法原理详解
FFMPEG教程完美排版
FFMpeg-SDK-开发手册
FFmpeg Basics
ffmpeg(libav)解码全解析(带书签)
ffmpeg的tutorial中文版
ffmpeg中文文档
详解FFMPEG API
ffmpeg常用命令参数详解
文章
FFmpeg 学习(一):FFmpeg 简介
FFmpeg 学习(二):Mac下安装FFmpepg
FFmpeg 学习(三):将 FFmpeg 移植到 Android平台
FFmpeg 学习(四):FFmpeg API 介绍与通用 API 分析
FFmpeg 学习(五):FFmpeg 编解码 API 分析
FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析
FFmpeg 学习(七):FFmpeg 学习整理总结
FFmpeg 结构体学习(一): AVFormatContext 分析
FFmpeg 结构体学习(二): AVStream 分析
FFmpeg 结构体学习(三): AVPacket 分析
FFmpeg 结构体学习(四): AVFrame 分析
FFmpeg 结构体学习(五): AVCodec 分析
FFmpeg 结构体学习(六): AVCodecContext 分析
FFmpeg 结构体学习(七): AVIOContext 分析
FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系
Linux上的ffmpeg完全使用指南
面试题
- 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
- 怎么做到直播秒开优化?
- 直方图在图像处理里面最重要的作用是什么?
- 数字图像滤波有哪些方法?
- 图像可以提取的特征有哪些?
- 衡量图像重建好坏的标准有哪些?怎样计算?
- AAC和PCM的区别?
- H264存储的两个形态?
- FFMPEG:图片如何合成视频?
- 常见的音视频格式有哪些?
- 请指出“1080p”的意义?
- 请解释颜色的本质及其数字记录原理,并说出几个你所知道的色域。
- 请解释“矢量图”和“位图”的区别?
- 请从“光圈”“快门速度”“感光度”“白平衡”“景深”中任选2个进行叙述?
- 视频分量YUV的意义及数字化格式?
- 在MPEG标准中图像类型有哪些?
- 列举一些音频编解码常用的实现方案?
- 请叙述MPEG视频基本码流结构?
- sps和pps的区别?
- 请叙述AMR基本码流结构?
- 预测编码的基本原理是什么?
- 说一说ffmpeg的数据结构?
- 说一说AVFormatContext 和 AVInputFormat之间的关系?
- 说一说AVFormatContext, AVStream和AVCodecContext之间的关系?
- 说一说视频拼接处理步骤?(细节处理,比如分辨率大小不一,时间处理等等)
- NV21如何转换成I420?
- DTS与PTS共同点?
- 影响视频清晰度的指标有哪些?
- 编解码处理时遇到什么困难?
- 如何秒开视频?什么是秒开视频?
- 如何降低延迟?如何保证流畅性?如何解决卡顿?解决网络抖动?
- 需要把网络上一段视频存储下来(比如作为mp4 ), 请实现并说出方法(第一个视频需要翻墙才能进)?
- 需要把网络上一段语音存储下来(比如作为mp3 ), 请实现并说出方法?
- 为什么要有YUV这种数据出来?(YUV相比RGB来说的优点)
- H264/H265有什么区别?
- 视频或者音频传输,你会选择TCP协议还是UDP协议?为什么?
- 平时说的软解和硬解,具体是什么?
- 何为直播?何为点播?
- 简述推流、拉流的工作流程?
- 如何在直播中I帧间隔设置、与帧率分辨率选定?
- 直播推流中推I帧与推非I帧区别是什么?
- 常见的直播协议有哪些?之间有什么区别?
- 点播中常见的数据传输协议主要有哪些?
- RTMP、HLS协议各自的默认端口号是?
- 简述RTMP协议,如何封装RTMP包?
- m3u8构成是?直播中m3u8、ts如何实时更新?
- 何为音视频同步,音视频同步是什么标准?
- 播放器暂停、快进快退、seek、逐帧、变速怎么实现?
- 说说你平时在播放过程中做的优化工作?
- 你研究过哪些具体的流媒体服务器,是否做过二次开发?
- 什么是GOP?
- 音频测试的测试点,音频时延如何测试?
- 美颜的实现原理,具体实现步骤?
- 如何直播APP抓包过来的文件,如何过滤上行,下行,总码率?
- 如何测试一个美颜挂件?
- 为什么要用FLV?
- 如何测试一个美颜挂件?
- 平常的视频格式?
- 何为homebrew?你用它安装过什么?常用命令有哪些?
- RTMP、HLS协议各自的默认端口号是?
视频
论文
- 分布式视频处理系统设计与实现
- 基于Android的H.264_AVC解码器的设计与实现
- 基于FFMPEG的视频转换系统
- 基于FFMPEG的跨平台视频编解码研究
- 基于FFMPEG解码的音视频同步实现
- 基于FFMpeg的稳定应用层组播流媒体直播系统研究
- 基于FFmpeg和SDL的智能录屏及播放系统
- 基于FFmpeg和SDL的视频流播放存储研究综述
- 基于FFmpeg的H.264解码器实现
- 基于FFmpeg的网络视频监控系统的设计与实现
- 基于FFmpeg的视频转码与保护系统的设计与实现
- 基于FFmpeg的高清实时直播系统设计与实现
- 基于H.264与H.265的低延时视频监控系统的设计与实现
- 基于H.265的无线视频监控系统设计与实现
- 基于H.265的视频教育系统的设计与实现
- 基于Hadoop的视频转码优化的研究
- 基于RTMP协议的流媒体系统的设计实现
- 基于RTMP的高清流媒体直播点播封装技术的研究与实现
- 基于RTSP协议的iOS视频播放器的设计与实现
- 基于RTSP协议的多源视音频实时直播系统的设计与实现
- 基于RTSP的H.264实时流媒体传输方案的研究与实现
- 基于RTSP的音视频传输系统研究与实现
- 基于TCP传输的嵌入式流媒体播放系统
- 基于ffmpeg的高性能高清流媒体播放器软件设计
- 基于流媒体技术的移动视频直播系统的设计与实现
- 直播聚合平台的设计与实现
- 音视频信号采集压缩及传输系统的设计与实现
资源福利
【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
ffmpeg学习资料包:ffmpeg入门系列教程
不错不错
大佬啊
收藏了,一直对音视频感兴趣。
去我收藏夹里吃灰吧
我现在才看到🫣