视频处理
文章平均质量分 90
工作中接触了较多和视频处理相关的知识,在此专栏总结。
xiaonuo911teamo
做一个简单的人。
展开
-
在linux下对进程进行流量监控,使用procfs
最近在做视频直播,需要在直播断开的时候自动重新发起重连。原因可能由于摄像头rtsp服务器异常断开,或者网络原因需要重启发起直播请求。解决思路文件 /proc/xx/net/snmp,里面保存着实时的网络通讯数据,通过 cat /proc/xx/net/snmp 命令可以查看其内容。但是由于其内容不容易查看,实际输出如下所以,我们可以通过awk命令进行格式化输出,便于查看。(xx换成你要查看进程的id)cat /proc/xx/net/snmp | awk "(f==0) {name=$1; i.原创 2020-09-13 22:32:04 · 304 阅读 · 0 评论 -
gstream推流实践命令整理
gstream 命令行使用整理gst-inspect-1.0 可以用来查询有哪些插件可用gst-inspect-1.0 + name 可以查看插件详情接口信息gst-launch-1.0 可拼接插件,执行命令gstream 部分插件介绍filesrc,rtspsrc 用于打开文件或者视频流matroskademux, flvdemux 解封装matroskamux, flvmux 封装nvv4l2decoder, nvv4l2decoder jetson上面的硬件解码器nvvidc原创 2020-10-31 20:40:12 · 2941 阅读 · 2 评论 -
使用ffmpeg实现管道输入输出,并连接在代码中
这次记录的问题比较复杂。cat test.flv | ffmpeg -i pipe:0 -c copy -f flv - > test2.flv上面这条命令可以看懂吧,就是将test.flv,没有进行任何操作,保存到了test2.flv中。不明白的话,跳到最后的知识扩展中,有解释。然后,我要做的就是在代码中完成前后的操作,即自己读文件,送入ffmpeg,再从ffmpeg中读到输出。这样做的目的是,我可以自由控制使用ffmpeg处理某些过程,而不是全部过程。示例代码思路下面提供代码是我.原创 2020-11-01 20:16:58 · 9109 阅读 · 0 评论 -
libjpeg-turbo测试解压缩性能
许久以前的代码,随便记录一下#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <unistd.h>#include <sys/stat.h>#include <turbojpeg.h>typedef unsigned char uchar;typedef struct tjp_info { int outwidth; in.原创 2020-12-10 02:17:38 · 1332 阅读 · 0 评论 -
ffmpeg ffprobe查看视频文件编码格式
输入/opt/ffmpeg/ffprobe file.mp4 -show_streams -select_streams v -print_format json 输出{ "streams": [ { "index": 0, "codec_name": "h264", "codec_long_name": "H.264/AVC/MPEG-4 AVC/MPEG-4 part 10", "profile": "Main",原创 2020-11-23 10:43:13 · 12332 阅读 · 1 评论 -
图片直线检测,简易封装
在写工程时,经常会用到一些功能单一的函数。将其进行良好的封装,才便于下次使用。目录设计思路代码细节配置参数自定义直线类型(如果要在此基础上做更广阔的开发,应当独立结构)检测结构头文件源代码设计思路类对象的功能设计为:在一张特定的图像中检测出若干条直线每条直线有唯一id,方便外部储存和查找支持通过某点查询到直线可保存检测结果,便于二次免检测重用检测参数可配置使用opencv为基础库代码细节配置参数nModeValue设置输出的图像类型nCannyLowThreshold、n.原创 2020-10-16 18:09:27 · 123 阅读 · 0 评论 -
opencv3.0+VS2013+opencv_contrib+cmake3.4.3+win8配置方法
笔者内心独白:在配置opencv_contrib库的时候,在网上找了好多方法教程,也先后下载了好多不同版本的contrib,但是每次都会出现各种错误。最后足足3天,我才勉强达到了我想要的结果,也从中体会到,一位程序员需要有的耐心,知道目标是可以达成的,就不会放弃的精神。当然,或许有个别人能够从旁指点的话,估计就好多了吧,不过我没有…… 经过3天的大量测试,发现其中也经历了许多误区,当然也有自己比较原创 2017-10-27 16:13:55 · 2119 阅读 · 0 评论 -
RTSP ffmpeg 给rtmp推流(命令行)
从网络摄像头拿到rtsp流的地址。已有rtmp的推流地址和拉流地址(我们使用的七牛云提供的联网的rtmp地址)ffmpeg -buffer_size 1024000 -rtsp_transport tcp -i rtsp://admin:aIlab1234@192.168.1.115/h264/ch1/main/av_stream -vcodec libx264 -s 1280x720 -r 20 -vb 1M -f flv rtmp://pili-publish.live.qiniu.pursue..原创 2020-07-24 14:23:27 · 2833 阅读 · 1 评论 -
ffmpeg保存h264裸流(一条命令解决)
很痛心啊,本来想直接搜这样一条命令,直接用的,但是翻了10来条帖子,没有一个给我写这个命令的。好多都是改的ffmpeg源码。多余的参数可以自己取舍,后缀名是h264就可以了。ffmpeg -buffer_size 1024000 -rtsp_transport tcp -i rtsp://admin:aIlab1234@192.168.1.101/h264/ch1/main/av_stream -vcodec libx264 -s 1280x720 -r 20 -preset superfast -.原创 2020-08-06 14:44:26 · 1846 阅读 · 1 评论 -
编译ffmpeg源码,并实现暂停操作
编译ffmpeg源码,并实现暂停操作下载列表功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入本来在github上面下...原创 2019-07-19 18:32:04 · 1408 阅读 · 2 评论 -
gstreamer命令参数优化
原命令gst-launch-1.0 rtspsrc latency=8 location=rtsp://admin:aIlab1234@192.168.2.101/h264/ch1/main/av_stream ! rtph264depay ! queue ! nvv4l2decoder ! nvvidconv ! video/x-raw, width=1280, height=720 ! nvvidconv ! nvv4l2h264enc profile=4 iframeinterval=30 bitr原创 2020-12-10 18:17:34 · 5529 阅读 · 0 评论 -
nginx实现,一推多用(rtmp推流,rtmp+flv+hls(m3u8)同时拉流),使用案例+使用方法
最近做到的项目使用nginx,要将一个摄像头的视频流推送给前端,并要求同时支持3种推流方式——rtmp,http-flv,hls(m3u8)。在使用nginx时,也是遇到了诸多问题,一度差点放弃,在此做个记录,同时也方便后来人。使用案例我是在tx2上做的,所以例子中使用的是gstreamer进行推流,你可以使用其他推流方式,比如ffmpeg或者obs。...原创 2020-09-19 19:54:13 · 14824 阅读 · 4 评论