logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ffmpeg调用avformat_open_input打开rtmp转发流阻塞

G28181协议接入时,为了减少视频处理服务的改动,故采用了rtmp转发的方案。使用nginx搭建rtmp转发服务器,设备代理将流推送给nginx,nginx再将流转发给视频处理服务。但设备代理并不是每次都能够成功推流,如果失败,视频处理服务使用ffmpeg的avformat_open_input会阻塞住,导致整个服务卡死。各种超时设置均无效。经过调试发现avformat_open_inpu...

C++元编程

元编程:编写可以让编译系统生成新代码的代码,而新生成的代码,正式我们想要的代码。元编程的目的,用尽量少的付出,换取尽可能多的功能,“付出”可以用代码成本,维护成本之类的事情来衡量。c++元编程的特性之一就是编译期间执行用户自定义的运算。

#开发语言#c++
程序性能优化工具——gprof

gprof是程序性能分析的一个重要工具,通过gprof工具可以获取程序中函数之间的调用关系,每个函数的调用次数,及函数的消耗时间,从而为程序性能优化指明方向。由此也可以推断出,一个合理的程序设计是相当重要的,很难想象,一个结构杂乱,耦合严重的程序如何进行优化。gprof工具的使用非常简单,下面将对该工具进行简单的介绍。环境:centos7.2,gcc 4.8.5代码gprof_example.c如

#c++#linux
ffmpeg调用av_read_frame读取实时视频流返回AVERROR_EOF

自己所负责的模块中使用到了ffmpeg,一直都很正常。但最近碰到了个奇怪的问题,使用av_read_frame连续读取摄像头实时视频流,运行一段时间后,该函数会返回AVERROR_EOF,代码如下:void MediaSource::DataProvider::_RecvThread(void){INFO_LOG(m_LogHandler, "recv thread ENTER, ur...

ffmpeg解码花屏问题

最近在做一个视频分析相关的产品,基本架构就是使用ffmpeg取流,cuda解码,然后调用算法进行分析,生成图片。但产品做完之后,发现生成的图片存在花屏问题。起初没有太在意,因为rtsp视频流底层使用的是udp协议,丢个一两帧数据,造成花屏是件再正常不过的事情(但忽略了这是在局域网内)。况且,已经将将解码和取流分开,做了一级缓冲,再优化的空间实在不是很大,再加上时间紧,实在抽不出时间来解决该问题。.

到底了