ffmpeg
放飞自己2016
学习如逆水行舟,不进则退
展开
-
ffmpeg rtp丢包检测
背景:使用ffmpeg通过rtsp协议调取监控视频。问题:监控到ffmpeg的rtp传输过程有丢包,但是程序读取到的是一帧数据,不知道实际的网络丢包情况。这样的话,程序拆包后把视频发送给终端后,终端根本不知道丢包了,这就导致了终端花瓶,终端的无花瓶模式失效。解决:...原创 2020-07-30 13:57:25 · 2190 阅读 · 1 评论 -
ffmpeg码率控制
转自:http://blog.csdn.net/austinblog/article/details/28426587一.VBR与CBR的含义和区别VBR是动态码率。CBR是静态码率。VBR(Variable Bitrate)动态比特率。也就是没有固定的比特率,压缩软件在压缩时根据音频数据即时确定使用什么比特率,这是以质量为前提兼顾文件大小的方式。VBR也称为动态比特率转载 2017-02-08 15:00:14 · 3918 阅读 · 0 评论 -
FFmpeg限制CPU的使用率
转自:http://www.ithao123.cn/content-6000916.html–threads 2 参数 使用–threads 2 可以将CPU的使用率控制在50%左右。FFmpeg -i IN –threads 2 OUT 源文链接:https://stackoverflow.com/questions/11357713/how-to-limi转载 2017-02-17 12:01:57 · 23083 阅读 · 1 评论 -
ffmpeg/x264 码率控制 分析
转自:http://blog.csdn.net/dangxw_/article/details/50974786ffmpeg编码h264流参看:ffmpeg编码示例x264编码h264流:x264编码示例有效影响视频码率的参数有:一:间接影响1.关键帧间隔x264ffmpeg转载 2017-02-09 18:45:59 · 2909 阅读 · 0 评论 -
h264码率设定建议
本文转自:http://blog.csdn.net/dangxw_/article/details/50974955设置视频码率的必要性 在视频会议应用中,视频质量和网络带宽占用是矛盾的,通常情况下视频流占用的带宽越高则视频质量也越高;如要求高质量的视频效果,那么需要的网络带宽也越大;解决这一矛盾的钥匙当然是视频编解码技术。评判一种视频编解码技术的优劣转载 2017-02-09 18:47:49 · 3200 阅读 · 0 评论 -
判断ffmpeg读到的packet是否为关键帧
转自:http://blog.csdn.net/samguoyi/article/details/7921936判断ffmpeg读到的packet是否为关键帧av_read_frame(avFormatCtx, readPacket)if(readpacket->flags &AV_PKT_FLAG_KEY ){key frame转载 2017-02-12 13:08:16 · 1834 阅读 · 0 评论 -
ffmpeg超详细综合教程二——为直播流添加滤镜
转自:http://blog.csdn.net/zqf_office/article/details/509852091、AVFilter的基本介绍2、如何利用ffmpeg命令行工具实现各种视频滤镜3、如何利用libavfilter编程实现在摄像头直播流中加入各类不同滤镜的功能具有较强的综合性。AVFilter的基本介绍AVFilter的转载 2017-02-13 13:27:19 · 2015 阅读 · 3 评论 -
使用FFMPEG类库分离出多媒体文件中的H.264码流
转自:http://blog.csdn.net/leixiaohua1020/article/details/11800877在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。经试验,在分离MPEG2码流的时候,直接存储AVPacke转载 2017-03-12 15:09:14 · 261 阅读 · 0 评论 -
什么是I帧,P帧,B帧
转自:http://blog.csdn.net/abcjennifer/article/details/6577934视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。 简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。转载 2017-03-14 11:42:26 · 340 阅读 · 0 评论 -
使用FFMPEG类库分离出多媒体文件中的音频码流
转自:雷神博客 http://blog.csdn.net/leixiaohua1020/article/details/11800791在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的音频数据码流。只需要在每次调用av_read_frame()之后将得到的音频的AVPacket存为本地文件即可。经试验,在分离MP3码流的时候,直接存储AVPacket即可。转载 2017-03-14 22:40:13 · 284 阅读 · 0 评论 -
C89 和 C99 标准比较
转自 :http://blog.csdn.net/leixiaohua1020/article/details/12761053 http://blog.pfan.cn/watersky/14051.html注1: GCC支持C99, 通过 --std=c99 命令行参数开启,如:代码:gcc --std=c99 test.c转载 2017-03-14 22:54:56 · 709 阅读 · 0 评论 -
FFMPEG类库打开流媒体的方法
转自:http://blog.csdn.net/leixiaohua1020/article/details/14215393使用ffmpeg类库进行开发的时候,打开流媒体(或本地文件)的函数是avformat_open_input()。其中打开网络流的话,前面要加上函数avformat_network_init()。一般情况下,只要传入流媒体的url就可以了。但是在打转载 2017-03-14 22:59:07 · 549 阅读 · 0 评论 -
FFMPEG结构体分析:AVFrame
转自:http://blog.csdn.net/leixiaohua1020/article/details/14214577FFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行过分析:FFMPEG中最关键的结构体之间的关系在此不再详述,其中AVFrame是包含码流参数较多的结构体。本文将会详细分析一下该结构体里主要变量的含义和作用。转载 2017-03-14 23:07:21 · 594 阅读 · 0 评论 -
H264编码profile & level控制
转自:http://www.cnblogs.com/tinywan/p/6404411.htmlH.264有四种画质级别,分别是baseline, extended, main, high: 1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;2、Extended profile:进阶画质。支持I/转载 2017-03-16 13:46:08 · 2767 阅读 · 0 评论 -
freeswitch 1.4 版本增加播放视频文件功能
在fs1.4版本中,是没有播放视频文件功能的,而在1.6开始的版本中通过mod_av和mod_vlc模块实现了该功能,经过测试发现mod_vlc在播放视频文件时,语音和视频都不太理想,mod_av还好,于是参考fs1.6版本中的mod_av模块,在fs1.4版本中实现了一个mod_av模块,经过测试发现效果还不错,可以实现任意分辨率的转码,音视频播放也比较同步,1280 x 720 ...原创 2017-01-09 14:34:14 · 3101 阅读 · 0 评论 -
ffmepg常用命令备忘
1、./ffmpeg -i input.mkv -acodec copy -vcodec h264 -profile:v baseline -level 3.0 -s 640x480 -bf 0 out.mp4 原样复制音频, 视频采用h264重编码, 视频控制profile为baseline, level为3.0, 分辨原创 2017-03-16 14:28:34 · 447 阅读 · 0 评论 -
ffmpeg添加MP4的pcm音频支持
原文地址:https://blog.csdn.net/garefield/article/details/45113363ffmpeg中对MP4的打包处理是在movenc.c中,在实际打包过程中发现除了mov类型外,其它类型如vob等均无法生成音频的声道信息,经过分析发现在mov_write_audio_tag函数的最后有如下代码 if (track->mode == MODE_M...转载 2018-10-10 12:01:57 · 3673 阅读 · 0 评论 -
ffmpeg 编码器AVCodecContext 的配置参数
转自:http://blog.csdn.net/chance_yin/article/details/163356251、先说一些基本的API[cpp] view plain copy AVFormatContex * pFormatCtxEnc; AVCodecContext * pCodecCtxEnc; AVStream * vid转载 2017-02-08 09:28:53 · 679 阅读 · 0 评论 -
最简单的基于FFmpeg的解码器-纯净版(不包含libavformat)
本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/42181571本文记录一个更加“纯净”的基于FFmpeg的视频解码器。此前记录过基于FFmpeg的视频播放器实际上就是一个解码器:《最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)》这个播放器调用了FFmpeg中的libavf转载 2016-08-08 11:58:15 · 562 阅读 · 0 评论 -
ffmpeg中的sws_scale算法性能测试
本文 转载自:http://www.cnblogs.com/acloud/archive/2011/10/29/sws_scale.html经常用到ffmpeg中的sws_scale来进行图像缩放和格式转换,该函数可以使用各种不同算法来对图像进行处理。以前一直很懒,懒得测试和甄别应该使用哪种算法,最近的工作时间,很多时候需要等待别人。忙里偷闲,对ffmpeg的这一组函数进行转载 2016-08-08 15:19:23 · 298 阅读 · 0 评论 -
FFmpeg解码H264及swscale缩放详解
本文转载自:http://blog.csdn.net/gubenpeiyuan/article/details/19548019?utm_source=tuicool本文概要: 本文介绍著名开源音视频编解码库ffmpeg如何解码h264码流,比较详细阐述了其h264码流输入过程,解码原理,解码过程。同时,大部分应用环境下,以原始码流视频大小展示并不是最佳方转载 2016-08-08 15:22:20 · 1167 阅读 · 0 评论 -
linux下 Wowza安装与ffmpeg测试
本文主要介绍Ubuntu64位系统下如何安装Wowza,并使用ffmpeg发布视频流,并用vlc读取该视频流1、下载Wowza,地址:https://www.wowza.com/pricing/installer 1)通过官网获取一个license,如下是我获取的license,180天试用期: ET1A4-8FMWd-APdCw-uvaDT-yb8原创 2015-12-22 09:33:49 · 1265 阅读 · 0 评论 -
从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题
本文转载自:http://lib.csdn.net/article/57/40941?knId=1586 近日在做一个分布式转码服务器,解码器是采用开源的ffmpeg,在开发的过程中遇到一个问题:编码延迟多大5、6秒钟,也就是最初编码的几十帧并不能马上取出,而我们的要求是实时编码!虽然我对视频编码方面不是很熟悉,但根据开发的经验,我想必定可以通过设置一些参数来改变这些情况。但我本人接触转载 2016-09-01 13:26:47 · 2724 阅读 · 0 评论 -
屏幕录制H.264视频,AAC音频,MP4复用,LibRTMP实时直播
本文转载自:http://lib.csdn.net/article/57/40046?knId=1544上周完成了屏幕录制的程序,实时抓屏、录音,视频采用H.264压缩,音频采用AAC压缩,复用为MP4格式,这样可以在电脑和ios和安卓的移动设备上直接播放。支持HTML5的播放器都可以放,这是标准格式的好处。抓屏也增加了自动缩放的功能,参考我的上一篇博客。把这几部分的思路都整理一下转载 2016-09-01 13:42:16 · 888 阅读 · 0 评论 -
ffmpeg中遇到UINT64_C’ was not declared in this scope
本文转载自:http://blog.csdn.net/zz316316/article/details/42550723fmpeg 默认是用C文件来编译的,如果某个CPP文件想引用ffmpeg中的某些函数或者头文件,有可能出现‘UINT64_C’ was not declared in this scope的错误情形大概如下The same issu转载 2016-08-11 10:00:48 · 518 阅读 · 0 评论 -
FFmpeg 命令行基本用法
本文转自:http://blog.csdn.net/doublefi123/article/details/24325159FFmpegFFmpeg 基本用法本课要解决的问题1.FFmpeg的转码流程是什么?2.常见的视频格式包含哪些内容吗?3.如何把这些内容从视频文件中抽取出来?4.如何从一种格式转换为另一种格式?5.如何放大和缩小转载 2016-09-18 22:35:01 · 4330 阅读 · 0 评论 -
MPEG2、MPEG4、H264的差异
本文转载自:http://www.cnblogs.com/li-hao/archive/2011/09/17/2179494.htmlMPEG-2简介 MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在NTSC制式下的分辨率可达720X486,MPEG-2也可提供并能够提供广播级的视转载 2016-09-06 17:34:31 · 1248 阅读 · 0 评论 -
ffmpeg 源代码简单分析 : av_register_all()
本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/12677129(纪念雷神)=====================================================FFmpeg的库函数源代码分析文章列表:【架构图】FFmpeg源代码结构图 -解码FFmpeg源代码结构图 -编码转载 2016-09-07 15:37:05 · 2017 阅读 · 0 评论 -
图解FFMPEG打开媒体的函数avformat_open_input
本文转载自雷神的博客:http://blog.csdn.net/leixiaohua1020/article/details/8661601=====================================================FFmpeg的库函数源代码分析文章列表:【架构图】FFmpeg源代码结构图 -解码FFmpeg源代码结构图 -转载 2016-09-07 15:48:51 · 632 阅读 · 0 评论 -
fmpeg中的时间
本文转载自:http://lnmcc.net/2013/07/09/ffmpeg%E4%B8%AD%E7%9A%84%E6%97%B6%E9%97%B4/#AV_TIME_BASE_Q目录 [hide]1 视频的显示和存放原理1.1 DTS和PTS2 ffmpeg中的时间单位2.1 AV_TIME_BASE2.2 AV_TIME_BASE_Q2.转载 2016-09-07 16:19:26 · 797 阅读 · 0 评论 -
ffmpeg 编码器AVCodecContext 的配置参数
转自:http://blog.csdn.net/chance_yin/article/details/163356251、先说一些基本的API[cpp] view plaincopyAVFormatContex * pFormatCtxEnc; AVCodecContext * pCodecCtxEnc; AV转载 2017-01-04 11:22:34 · 2529 阅读 · 0 评论 -
使用ffmpeg 命令分割视频方法
从开始分割600秒视频命令如下:ffmpeg -ss 00:00:00 -i sample.mp4 -c copy -t 600 dst.mp4 注释:-ss :起始时间-i :要分割的是频文件-t :分割时长:格式如下 可以是 -t xx // 单位 秒 或者 -t 01:00:00 时:原创 2017-01-05 13:30:42 · 14038 阅读 · 1 评论 -
ffmpeg 和 x264的参数对照
转自:http://www.cnblogs.com/soief/archive/2013/12/12/3471465.html x264 ffmpeg 说明命令行字段命令行字段 qpqp_constant转载 2017-02-07 09:59:41 · 408 阅读 · 0 评论 -
FFMPEG的一些使用技巧
本文转自:http://blog.csdn.net/sloan6/article/details/95004911 在vc中使用ffmpeg静态库做二次开发的时候,如果不是控制台应用程序,又需要查看ffmpeg的日志信息,可使用[cpp] view plain copy print?av_log_set_callback 函数注转载 2017-01-12 09:27:15 · 675 阅读 · 0 评论 -
最简单的基于FFmpeg的编码器-纯净版(不包含libavformat)
本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/42181271本文记录一个更加“纯净”的基于FFmpeg的视频编码器。此前记录过一个基于FFmpeg的视频编码器: 《最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265))》这个视频编码器调用了FFmpeg中的libavformat和转载 2016-08-08 11:46:14 · 521 阅读 · 0 评论