FFmpeg
文章平均质量分 76
郭风朴
专业IT影音开发爱好者,从最基本的影音发动机“FFmpeg”到影音大厦“VLC”均有涉猎,愿与有同样爱好的你,在IT路上一直走下去。
音视频技术和营销领域骨灰级玩客
展开
-
最简单的基于FFmpeg的推流器(以推送RTMP为例)
=====================================================最简单的基于FFmpeg的推流器系列文章列表:《最简单的基于FFmpeg的推流器(以推送RTMP为例)》《最简单的基于FFMPEG的推流器附件:收流器》=====================================================转载 2016-01-06 14:22:08 · 1120 阅读 · 0 评论 -
ffmpeg 之IP拉流优化 起播速度优化
这个系列主要是写关于用FFmpeg来拉取直播流时,会涉及到的优化项,可作为优化的实践。虽然是针对的直播,但对于点播的播放比如直接播放mp4的流,还是有一样的原理。什么是ip拉流?ip拉流就是指将拉流url里面的域名,比如http://flv-meipai.8686c.com/live/59c3507b20a05d24f928d6cf.flv里面的flv-meipai.8686c.com预先...原创 2018-12-17 16:56:45 · 3025 阅读 · 0 评论 -
Avformat_open_input函数的分析 结合HTTP协议
前段时间在做直播的优化,主要是优化首屏时间,因为直播播放器大部分都会采用ffmpeg来处理,所以就会用到avformat_open_input这个函数,这也是首屏耗时比较多的一个地方,这里我主要跟踪一下http的请求以及rtmp的请求,源码都是开源的,这里主要是记录下来以备自己查询,本篇文章主要是是以ijkplayer源码为基础分析的。avformat_open_input这个函数的作用是打开...原创 2018-12-17 16:50:26 · 1591 阅读 · 0 评论 -
AVFrame关于视音频数据存储
1、概述这几天用ffmpeg实现简单音频转码,在写程序的过程中发现音频在AVFrame中存储与视频很相似,音频要复杂一些,本人记性不好,所以在这里记录下来,以作备忘。2、2个数据成员在AVFrame中有2个很重要的数据成员,一个是data,一个是linesize。data中存储的是未编码的源始数据(不论视音频),linesize中存储的是每行data中数据大小。data的定义如下:转载 2017-09-20 14:44:13 · 779 阅读 · 0 评论 -
FFmpeg源代码分析:libswscale的sws_getContext()
打算写两篇文章记录FFmpeg中的图像处理(缩放,YUV/RGB格式转换)类库libswsscale的源代码。libswscale是一个主要用于处理图片像素数据的类库。可以完成图片像素格式的转换,图片的拉伸等工作。有关libswscale的使用可以参考文章:《最简单的基于FFmpeg的libswscale的示例(YUV转RGB)》libswscale常用的函数数量很少,一般情况下就3个:转载 2017-09-18 18:04:54 · 1245 阅读 · 0 评论 -
FFmpeg 的sws_getContext函数 、sws_scale函数
FFmpeg里面的sws_scale库可以在一个函数里面同时实现:1.图像色彩空间转换;2.分辨率缩放;3.前后图像滤波处理。其核心函数主要有三个:// 初始化sws_scalestruct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,转载 2017-09-14 16:49:47 · 770 阅读 · 0 评论 -
FFmpeg缩放swscale详解 <转>
缩放: 利用ffmpeg进行图像数据格式的转换以及图片的缩放应用中,主要用到了swscale.h文件中的三个函数,分别是: struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,转载 2017-09-14 16:48:07 · 619 阅读 · 0 评论 -
ffmpeg 参数一览表
基本选项:-formats输出所有可用格式-f fmt指定格式(音频或视频格式)-i filename指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头-y覆盖已有文件-t duration记录时长为t-fs limit_size设置文件大小上限-ss time_off转载 2017-09-06 16:56:47 · 336 阅读 · 0 评论 -
ffmpeg 几条命令
1,获取视频的信息 ffmpeg -i video.avi2,将图片序列合成视频 ffmpeg -f image2 -i image%d.jpg video.mpg 上面的命令会把当前目录下的图片(名字如:image1.jpg, image2.jpg, 等...)合并成video.mpg3,将视频分解成图片序列 ffmpeg -i video.mpg转载 2017-09-06 16:55:20 · 424 阅读 · 0 评论 -
关于ffmpeg 的命令总结
当然先安装了 gentoo 下一条命令搞定emerge ffmpeg 格式转换 (将file.avi 转换成output.flv) ffmpeg -i file.avi output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi两个命令转载 2017-09-06 16:54:44 · 466 阅读 · 0 评论 -
FFmpeg 基本用法
FFmpegFFmpeg 基本用法本课要解决的问题1.FFmpeg的转码流程是什么?2.常见的视频格式包含哪些内容吗?3.如何把这些内容从视频文件中抽取出来?4.如何从一种格式转换为另一种格式?5.如何放大和缩小视频?6.如何旋转,翻转,填充,裁剪,模糊,锐化视频?7.如何给视频加logo,删除logo?8.如何给视频加文本,动态文本?9.如何处理图片?原创 2017-09-06 16:52:53 · 557 阅读 · 0 评论 -
FFmpeg命令推流地址
http://192.168.1.197:8085ffmpeg -re -i V70609-113408.flv -c copy -f flv rtmp://192.168.1.197/live/livestream推流地址 rtmp://192.168.1.197/live/livestream播放地址原创 2017-06-09 13:43:32 · 1566 阅读 · 0 评论 -
FFmpeg源代码结构图 - 解码
=====================================================FFmpeg的库函数源代码分析文章列表:【架构图】FFmpeg源代码结构图 - 解码FFmpeg源代码结构图 - 编码【通用】FFmpeg 源代码简单分析:av_register_all()FFmpeg 源代码简单分析:avcodec_register_al转载 2016-01-12 14:33:22 · 692 阅读 · 0 评论 -
FFmpeg架构之I/O模块分析
注意:这篇转载的文章比较早,写得很清晰,但是新版的ffmpeg的很多数据结构的名字已经改了。因此只能作参考。(例如ByteIOContext已经改名为AVIOContext)1概述ffmpeg项目的数据IO部分主要是在libavformat库中实现,某些对于内存的操作部分在libavutil库中。数据IO是基于文件格式(Format)以及文件传输协议(Protocol)的,转载 2016-01-12 11:31:25 · 500 阅读 · 0 评论 -
FFmpeg sws_scale库文件分析
FFmpeg sws_scale分析1FFmpeg里面的sws_scale库可以在一个函数里面同时实现:1.图像色彩空间转换;2.分辨率缩放;3.前后图像滤波处理。其核心函数主要有三个:// 初始化sws_scalestruct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcForm原创 2016-01-11 11:38:48 · 2275 阅读 · 0 评论 -
FFMPEG中最关键的结构体之间的关系
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2016-01-11 17:54:07 · 648 阅读 · 0 评论 -
ijkplayer read_thread命令简单解析
在stream_open函数中,初始化完视频,音频,字幕的帧队列后,启动了两个线程video_refresh_thread:刷新视频帧线程 read_thread:读取本地磁盘或者网络视频资源read_thread流程调用avformat_alloc_context 创建AVFormatContext对象,主要为函数指针赋值,确定默认打开文件的函数,以及关闭文件的函数 调用a...转载 2018-12-18 10:13:57 · 1261 阅读 · 0 评论