本项目Github地址:https://github.com/0voice/ffmpeg_develop_doc 有需要的可以前去下载,或者觉得还不错,请给我Star,感谢支持!
目录 @ 开源项目 @ 典藏文档 @ 系列文章 @ 面试题 @ 教学视频 @ 学术论文 @ 资料下载
开源项目bilibili/ijkplayer: 基于FFmpeg n3.4的Android/iOS视频播放器,支持MediaCodec, VideoToolbox。
befovy/fijkplayer: ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
mpv-player/mpv: 命令行视频播放器
CarGuo/GSYVideoPlayer: 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
mpenkov/ffmpeg-tutorial: 教程,演示如何编写一个基于FFmpeg的视频播放器
imoreapps/ffmpeg-avplayer-for-ios-tvos: 一个微小但强大的iOS和Apple TV OS的av播放器框架,是基于FFmpeg库。
unosquare/ffmediaelement: FFME:高级WPF MediaElement(基于FFmpeg)
microshow/RxFFmpeg:RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能:视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片,抖音首页,视频播放器及支持 OpenSSL https 等主流特色功能
wang-bin/QtAV: 基于Qt和FFmpeg的跨平台多媒体框架,高性能。用户和开发人员友好。支持Android, iOS, Windows商店和桌面。基于Qt和FFmpeg的跨平台高性能音视频播放框架
xufuji456/FFmpegAndroid: android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
Zhaoss/WeiXinRecordedDemo: 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑
yangjie10930/EpMedia: Android上基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,变速,添加LOGO,添加滤镜,添加背景音乐,加速减速视频,倒放音视频
goldvideo/h265player: 一套完整的Web版H.265播放器解决方案,非常适合学习交流和实际应用。基于JS码流解封装、WebAssembly(FFmpeg)视频解码,利用Canvas画布投影、AudioContext播放音频。
wanliyang1990/wlmusic: 基于FFmpeg + OpenSL ES的音频播放SDK。可循环不间断播放短音频;播放raw和assets音频文件;可独立设置音量大小;可实时现在音量分贝大小(用于绘制波形图);可改变音频播放速度和音调(变速不变调、变调不变速、变速又变调);可设置播放声道(左声道、右声道和立体声);可边播边录留住美好音乐;可裁剪指定时间段的音频,制作自己的彩铃;还可以从中获取音频原始PCM数据(可指定采样率),方便二次开发等。
Jackarain/avplayer: 一个基于FFmpeg、libtorrent的P2P播放器实现
tsingsee/EasyPlayerPro-Win: EasyPlayerPro是一款免费的全功能流媒体播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,核心基于ffmpeg,稳定、高效、可靠、可控,支持Windows、Android、iOS三个平台,目前在多家教育、安防、行业型公司,都得到的应用,广受好评!
yangfeng1994/FFmpeg-Android: FFmpeg-Android 是基于ffmpeg n4.0-39-gda39990编译运行在android平台的音视频的处理框架, 使用的是ProcessBuilder执行命令行操作, 可实现视频字幕添加、尺寸剪切、添加或去除水印、时长截取、转GIF动图、涂鸦、音频提取、拼接、质量压缩、加减速、涂鸦、 倒放、素描、色彩平衡、模糊、九宫格、添加贴纸、滤镜、分屏、图片合成视频等,音视频合成、截取、拼接,混音、音视频解码,视频特效等等音视频处理...
yangjie10930/EpMediaDemo: 基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,添加LOGO,添加滤镜,添加背景音乐,加速减速视频,倒放音视频。简单的Demo,后面逐渐完善各类功能的使用。
qingkouwei/oarplayer: Android Rtmp播放器,基于MediaCodec与srs-librtmp,不依赖ffmpeg
goldvideo/decoder_wasm: 借助于WebAssembly技术,基于ffmpeg的H.265解码器。
HeZhang1994/video-audio-tools: To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
jordiwang/web-capture: 基于 ffmpeg + Webassembly 实现前端视频帧提取
ccj659/NDK-FFmpeg-master: Video and audio decoding based with FFmpeg 基于ffmpeg的 视频解码 音频解码.播放等
kolyvan/kxmovie:iOS电影播放器使用ffmpeg
CainKernel/CainCamera:一个关于美容相机、图像和短视频开发的Android项目
mifi/lossless-cut: 一个基于FFmpeg的无损剪辑软件
典藏文档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协议各自的默认端口号是?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!