ffmpeg编码常见问题排查方法】的更多相关文章

播放问题排查: 一旦我们遇到视频播放不了,第一件事,就是要找几个别的播放器也播放看看,做一下对比测试,或者对码流做一些基础分析,以便更好的定位问题的源头,而各个平台比较常见的播放/分析工具有如下几个: 2.1 命令行工具 ffplay,ffprobe,mediainfo,hls-analyzer 等 2.2 网页端工具 http://www.cutv.com/demo/live_test.swf http://www.ossrs.net/players/srs_player.html 2.3 A…
一般情况下,系统多多少少都会遇到点问题,那么遇到问题之后我们怎么定位原因呢?在这里我只说如何定位DB的问题. 看这篇文章有个前提:监控数据要完整!监控数据要完整!!监控数据要完整!!!比如下面这个乍一看,有个性能抖动,如何知道系统是不是有问题,可以通过以下途径知悉: 应用日志 监控报警 用户感知 无论是监控报警,还是用户感知,归根结底还得回归应用,从应用日志发现到底是哪个接口异常,接口异常的原因无外乎以下几种情况: 系统异常,比如超出负载 网络问题,比如网卡爆满,网络丢包 io问题,比如刷磁盘,…
ffmpeg使用avcodc_encode_video编码,默认产生的h264包含B帧,在安防行业很多地方是不需要用到B帧的. 1.基础知识充电 这就涉及到h264的各种profile格式了,参考 h264各种profile h264分4种等级(profile):Baseline.Main.Extended.High Baseline profile:支持I帧P帧 Main profile:支持I/P/B/SP/SI帧 Extended profile:支持I/P/B帧 High profile…
这里总结的问题,通常啥错误也不报,需要自个debug排查,当然每个人遇到的问题可能是不同的,这里仅仅是我个人帮同事解决问题后的一些总结,可能网上的小伙伴可能也遇到,姑且简单记录一下: 1. mybatis文件配置有问题,比如返回值类型写错了,或者sql语法有问题 排查方法:在AbstractAutowireCapableBeanFactory#doCreateBean 中 几个catch中打断点差不多就能找到问题所在了,归根结底,其实也就是编码的时候仔细一点就行了,但是偶尔也会粗心,但是只要知道…
在平时开发过程中,对于线上问题的排查以及系统的优化,免不了和Linux进行打交道.每逢大促和双十一,对系统的各种压测性能测试,优化都是非常大的一次考验.抽空整理了一下自己在线上问题排查以及系统优化的一些经验. 一.系统性能瓶颈在哪 我们常常提到项目的运行环境,那么运行环境包括哪些呢?一般包括你的操作系统.CPU.内存.硬盘.网络带宽.JRE环境.你的代码依赖的各种组件等等.所以系统性能的瓶颈往往是IO瓶颈.CPU瓶颈.内存瓶颈或者程序导致的性能瓶颈 登录到服务器上,我们使用TOP命令可以很全面的…
一个执着于技术的公众号 简介 本文主要为大家讲解 CentOS 7系统中执行yum命令失败等常见问题的排查方法. 1.执行yum命令报404错误 1)检查yum仓库是否配置正确,可以到阿里云下载repo配置文件. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 2)如果报错中包含$releasever变量, 则执行rpm -qa | grep centos-release…
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非常多的.攻击方式主要是弱口令攻击.远程溢出攻击及其他应用漏洞攻击等.我的VPS在前几天就遭受了一次被恶意利用扫描其他主机SSH弱口令安全问题.以下是我针对此次攻击事件,结合工作中Linux安全事件分析处理办法,总结Linux安全应急响应过程中的分析方法. 一.分析原则 重要数据先备份再分析,尽量不要…
1.应用复制的命令时在订阅服务器上找不到该行 解决方法:用系统存储过程sp_browsereplcmds(返回分发数据库中存储的可读版本复制命令的结果集,并将其用作诊断工具. 此存储过程在分发服务器上对分发数据库执行) sp_browsereplcmds [ [ @xact_seqno_start = ] 'xact_seqno_start' ] [ , [ @xact_seqno_end = ] 'xact_seqno_end' ] [ , [ @originator_id = ] 'orig…
WIN7(VISTA)系统无法上网问题排查方法 一.无法通过DHCP自动获取到IP 1. 确认正确配置路由器的DHCP功能 a.一般租期建议设置为1-3小时,推荐设置1小时. b.DHCP地址池不要和内网其他电脑IP有重叠,地址池不宜设置过小.通常建议地址池设置100个或者100以上的IP地址范围. 2. 系统方面设置说明 a.不能获取的电脑需尝试ipconfig –release,再ipconfig –renew看 是否可以获取IP. b.Net stop dhcp,再Net start dh…
 原文网址:http://blog.csdn.net/kaitiren/article/details/19974269 JS内存泄漏排查方法(Chrome Profiles)   Google Chrome浏览器提供了非常强大的JS调试工具,Heap Profiling便是其中一个.Heap Profiling可以记录当前的堆内存(heap)快照,并生成对象的描述文件,该描述文件给出了当时JS运行所用到的所有对象,以及这些对 ...     一.概述 Google Chrome浏览器提供了非常…
解决办法: 把selenium2Library改成Selenium2Library   安装下面四个: python-2.7.13.amd64.msi robotframework-ride-1.5.2.1    (C:\Python27\Lib\site-packages) wxPython2.8-win64-unicode-2.8.12.1-py27.exe    (必须用这个版本) robotframework-selenium2library-1.8.0.tar  (C:\Python2…
版本概要: 802.11-2007是目前的基础版本,之前的过时版本不考虑. 2009是较新的版本,就是目前最普及的802.11n.(100Mb/s) 2012就是传说中的802.11ac,工作在5G,速度牛逼哄哄的,但穿透力不咋的. 各种PHY总览: 2007里给出了5种PHY,也就是5种编码与调制方法,每种PHY对应的PHY帧格式都是不同的.也就是说,虽然这个wifi标准对外的接口(MAC)是一样的,但是根据底层采用的不同PHY,底层的从帧格式到编码.调制都是不一样的.5种PHY分别是:直序扩…
MYSQL转换编码的解决方法 一.在utf8的mysql下 得到中文‘游客’的gbk下的16进制编码 mysql> SELECT hex(CONVERT( '游客' USING gbk )); -> D3CEBFCD 反推gbk的16进制编码,取回中文 mysql> SELECT CONVERT( unhex('d3cebfcd') USING gbk); -> ’游客' 从gbk的16进制编码直接转成utf8的16进制编码 mysql> SELECT HEX(CONVERT…
windows下C++程序release版本崩溃错误排查方法. 一个你精心设计的24小时不间断运行,多线程的程序,突然运行了几个月后崩了,此问题是非常难以排查的,也是很头疼的问题. 现利用Google开源工具crashrpt与Microsoft windbg工具,解决这个问题,并分享给大家. 使用工具Crashrpt.Windbg.因为windbg这个工具很常见,暂不介绍.其中重点介绍一下crashrpt. 一.crashrpt 简介 crashrpt是一个包含能够在程序出现各种类型未处理异常时…
由于防火墙问题,TCP keep alive 问题,以及 MySQL 自身的参数问题这三个在使用中比较常见,所以今天就分享下自己找到的排查方法. 今天先聊一聊防火墙问题 大多数人在第一次创建 MySQL database on Azure 实例之后便开始尝试连接.但是往往遇到的结果不是连接成功而是如下图所示的错误信息: 该错误信息表明您的 IP 地址并不在 MySQL on Azure 防火墙的准入范围之内,这种设定可以在某种程度上避免设置了简单密码的生产用户遭到恶意的字典攻击,当然 Azure…
http://blog.csdn.net/ashlingr/article/details/7829429 如何强制ffmpeg编码时输出一个关键帧   如何强制ffmpeg编码时输出一个关键帧 AVCodecContext *c //编码器环境句柄 AVFrame* f //需要编码的一帧视频 /*在avcodec.h文件中有这样的定义 #define FF_I_TYPE  1 ///< Intra #define FF_P_TYPE  2 ///< Predicted #define FF…
zabbix告警邮件.短信发送错误快速排查方法 背景 zabbix告警邮件.短信经常有同事反馈发送错误的情况,这个问题排查的角度很多,那么最快捷的角度是什么呢? 在我看来,最快的角度就是判断这个告警邮件或者短信是从从哪个触发器触发的,找到对应的触发器自然很容易定位是否是告警规则设置的问题. 数据库alerts表 这个之前也介绍过alerts 表,记录了zabbix系统中所有的告警发送记录,即理论上任何一个告警短信.邮件均会在该表留下记录的. mysql> desc alerts; +------…
本博也是在进行视频转码的学习道路上,也只是菜鸟一枚,收集了大量的资料,想在这和同路人分享一下 在博园里我发表一个JavaCV的随笔,里面介绍了JavaCV这个框架,它整合了OpenCV和ffmpeg等等视频编码所需的工具,下面就主要推荐一下这两个工具的使用资料 OpenCV(点击进入)   OpenCV语法参考文档OpenCV官方文档里面是英语可以用谷歌翻译一下 ffmpeg(点击进入)   本博对此也只是九牛一毛,所以直接将一些大佬的介绍推荐给大家把!   视频技术动手入门( 图像,视频,编解…
fmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完) ffmpeg安装第三方编码器(encoder)库 关键词:ffmpeg.编码h264.第三方encoder 安装好了ffmpeg后,如果你使用ffmpeg工具去把某个视频文件转成h264视频编码.mp3音频编码or其他ffmpeg自身不带的xxx编码类型,就会看到报错信息,unknown encoder 'xxx'.此刻你需要的只要去安装其他的编码器就行了,本质上其实是把其他的编码器以库的形式安装好,例如,把正确的l…
Pod概念 Pod是kubernetes集群中最小的部署和管理的基本单元,协同寻址,协同调度. Pod是一个或多个容器的集合,是一个或一组服务(进程)的抽象集合. Pod中可以共享网络和存储(可以简单理解为一个逻辑上的虚拟机,但并不是虚拟机). Pod被创建后用一个UID来唯一标识,当Pod生命周期结束,被一个等价Pod替代时UID将重新生成. Kubernetes Pod中最常用Docker容器运行,当然Pod也能支持其他的容器运行,比如rkt.podman等. Kubernetes集群中的P…
多线程程序发生死锁,某些重要线程卡住,不正常工作.排查起来非常麻烦.以下内容记录排查方法 1.确定死锁的位置,一般死锁会lock到某一行具体的代码,比如我就死锁在类似如下代码中 public void SendSerialportMsg() { lock(this) //死锁 { //.. } } 具体定位死锁位置的方法:运行模式下,visual studio--调试--窗口--线程,底下栏目会多出一栏线程视图. 点击程序暂停运行按钮,在打开线程视图,就能看到所有的线程列表.找到你认为发生死锁的…
死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习. 前言 abi是什么? 前面我们认识到的是智能合约直接在EVM上的表示方式,但是,比如我想用java端程序去访问智能合约的某个方法,难道让java开发人员琢磨透汇编和二进制的表示,再去对接? 这明显是不可能的,为此abi产生了.这是一个通用可读的json格式的数据,任何别的客户端开发人员或…
#include <iostream>using namespace std;extern "C" {#include <libavcodec/avcodec.h> // required headers#include <libavformat/avformat.h>}int main(int argc, char**argv) { av_register_all(); // offending library call return 0;} ff…
另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertVideo(){         Process p = new Process();//建立外部调用线程         p.StartInfo.FileName = @"c:/ffmpeg.exe";//要调用外部程序的绝对路径         p.StartInfo.Arguments…
1. 大家在使用ffmpeg进行视频编码时,使用-b命令,想控制比特率,却发现结果并没有如我们设置所愿,通过码流分析器观察视频码流,码率的波动还是很大的,ffmpeg控制的并不好,这时候,我们可以通过以下命令解决: -maxrate biterate -minrate biterate -bf 1 -b_strategy 0 其中 -maxrate.-minrate为设置最小最大比特率,-bf为设置B帧数目,其实就是设置编码是B.P.I帧的结构,我这里设置的为IPBPBP结构,-b_strate…
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题. 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障. 通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题.但是,怎么定位到具体线程或者代码呢? 首先显示线…
https://help.aliyun.com/knowledge_detail/41224.html?spm=5176.7841174.2.19.uqC1as#使用 iostat 从系统纬度查看磁盘 IO 负载 IO 负载查看方法 使用 iostat 从系统纬度查看磁盘 IO 负载 使用 iotop 从进程纬度查看磁盘 IO 负载 使用 iostat 从系统纬度查看磁盘 IO 负载 可以通过 iostat 从系统维度查看 IO 负载情况. iostat 并非常见 Linux 发行版本自带工具,…
依旧是这里的测试序列 http://www.cnblogs.com/zzugyl/p/3678865.html测试了JM和libx264的编解码质量后来用ffmpeg转码 发现忘记了命令行转码的命令网上搜来的很多都是复制粘贴 完全不考虑真实性 让我测试半天 我想把YUV测试序列 720p50_parkrun_ter.yuv 720p50_shields_ter.yuv编码成h264文件.这里使用的ffmpeg是zeranoe编译的 http://ffmpeg.zeranoe.com/builds…
客户端会员无法自助结账按以下方法排查:1,看客户端能不能打开web https 后台,打不开的话,在服务端打上2048证书补丁(按下面帖子操作)http://bbs.pubwin.com.cn/forum.php?mod=viewthread&tid=65514&extra=page%3D12,看客户端的tcp 连接数,过低的话,改到255-999之间(可以用下面软件检查):    http://www.duote.com/soft/7948.html3,看客户端是不是有摄像头的虚拟网卡(…
介绍 在前端开发中,为了让中文在不同的环境下都能很好的显示,一般是将中文转化为unicode格式,即\u4f60,比如:"你好啊"的 unicode编码为"\u4f60\u597d\u554a". JS里将中文转为unicode编码很简单. function convert2Unicode(str) { return str.replace(/[\u0080-\uffff]/g, function($0) { var tmp = $0.charCodeAt(0).t…