FFmpeg文章目录

2019-12-17 11:58:55

参考地址 这是一个介绍很好的ffmpeg简述号

这个简述号,大家可以关注,可以看下,他写的几个ffmpeg有图有真相,还是比较好懂的。

Upate to 20190331

专题

seek

ffmpeg # How to seek in mp4/mkv/ts/flv
ffmpeg # flags &= ~AVSEEK_FLAG_BACKWARD
ffmpeg # AVSEEK_FLAG

concat

ffmpeg # concat 连接两个视频
ffmpeg # -f concat -i mylist.txt
ffmpeg # concat详解+音画同步策略

截图

ffmpeg # 截图

文字

ffmpeg # 为视频添加文字drawtext
ffmpeg # drawtext 进阶
ffmpeg # macOS 添加drawtext支持

音频

ffmpeg # 音频那些事

画中画

ffmpeg # 画中画中的视频进行循环

time_base

ffmpeg # 各种封装格式的time_base
ffmpeg # time_base转换函数av_rescale_q
ffmpeg # 几个关键结构体的dts和pts的time_base

转封装

ffmpeg # 转封装命令行
ffmpeg # -c copy 拷贝所有的流
ffmpeg # 转封装 函数
ffmpeg # 怎么控制只是转封装而不需要转码
ffmpeg # h264_mp4toannexb

编码 转码

ffmpeg # 转码 process_input() & reap_filters()
ffmpeg编码后的.264数据长啥样
使用ffmpeg进行H264编码如何不包含B帧
Transcoding with ffmpeg
ffmpeg # CUDA/CUVID/NVDEC # 完全硬件转码 vs 部分硬件转码
ffmpeg # 使用x264/x265参数
ffmpeg # -strict -2

常用命令和使用技巧

ffmpeg 命令行 常用示例
ffmpeg # Linux # 利用2>&1将输出结果到文件
ffmpeg # 将.texi格式的文档转换为html
ffmpeg # 利用loglevel控制打印日志的信息
ffmpeg 常用命令 02

重要结构体

ffmpeg核心结构体AVPacket/AVFrame
ffmpeg # AVRational
ffmpeg # AV_TIME_BASE units
ffmpeg # 判断AVFrame是否为关键帧
ffmpeg # 判断AVPacket是否为关键帧
ffmpeg 中 结构体初始化 的那些花样

重要函数

ffmpeg # avformat_find_stream_info
ffmpeg # avcodec_send_xxx & avcodec_receive_xxx

常用参数

ffmpeg # -ss
ffmpeg # -fflags +genpts
ffmpeg # 视频同步参数 -vsync & -aresample
ffmpeg # probesize & analyzeduration
ffmepg # pix_fmts & out_range
ffmpeg # copyts

filters

ffmpeg中的scale和crop参数
ffmpeg将tile拼成完整的视频
ffmepg中的filter处理的是decoded frames
ffmpeg中filter的3个层次
ffmpeg # 为视频添加文字drawtext

编译

linux下Intel-FFmpeg-Plugin遇到libmfx not found using pkg-config问题
centos下编译x265
linux # x264编译
build ffmpeg with CUDA
mac # eclipse 编译调试ffmpeg
ffmpeg # /lib64/libva.so.1: version `VA_API_0.34.0' not found
ffmpeg # centos # build with libfdk_aac
ffmpeg # macOS 调试x264

流媒体协议

Mac下安装支持rtmp协议的ffmpeg



作者:FlyingPenguin
链接:https://www.jianshu.com/p/8280760c15e4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


  • 2021-01-12 22:05:56

    ios 代码写Button小结

    本文实现的是一个不用拖控件,而是用代码写出一个按钮,然后点击弹出一个警告信息,有人问那么好的IB工具不用却去苦逼的写代码呢?因为IB高度集成开发工具,拖出的控件帮我省了很大麻烦,这个过程农民工也可以干,但是作为初学者,IB是个比较高层的东西,我们是不是应该了解一下IB底层的东西呢,如果一味追求方便快捷,哪天突然有人问怎么用代码写出来,咱岂不是要被鄙视了;所以吧,初学者不要学懒,多写代码提高我们的编程能力,当我们在开发项目或者在公司工作去用IB,来帮我们节省时间提高效率;

  • 2021-01-12 22:13:23

    UINavigationController和UIScrollView滚动-92

    如果navigation bar或者toolbar不透明,view controller就无法让它的view全屏显示。换句话说,如果不希望view controller里面的view全屏显示,就应该把navigation bar设为不透明。

  • 2021-01-12 22:15:46

    NSLog各种打印占位符

    打印CGRect : NSLog(@"%@",NSStringFromCGRect(someCGRect)); 或者CFShow(NSStringFromCGRect(someCGRect));

  • 2021-01-13 13:36:29

    shortid nodejs短id生成器

    短ID在实际运用中很广泛, 其中比较典型的运用就是短地址。 市面上肯定有不少开源的生成短ID库, 基于node.js的估计也不少。 鉴于本人已然是node.js的脑残粉(本职java开发), 很多业余项目从前端到后端都基于javascript开发, 加上npm和bower的包管理以及grunt的打包工具, 在项目开发过程中体验特别酸爽。 由于当时项目前后端都会用到短ID, 但没找到合适的库同时支持npm和bower的(可能孤陋寡闻). 因此自己乐此不疲地又造了个轮子js-shortid(夷,为什么会说又呢?!). 下面主要介绍它的实现方案, 自认为比较优雅简洁。

  • 2021-01-13 17:23:21

    CREATE TABLE 表名 AS SELECT 语句 快速复制表但是锁表

    注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键 在执行语句的时候,MySQL是逐行加锁的(扫描一个锁一个),直至锁住所有符合条件的数据,执行完毕才释放锁。所以当业务在进行的时候,切忌使用这种方法。 在RR隔离级别下,还会加行锁和间隙锁

  • 2021-01-13 17:27:04

    Navicat配置mysql数据库用户权限

    用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限