
视频
文章平均质量分 71
ffmpeg、live555、gstreamer实战笔记
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
艺高机器人编程
没有人不爱惜他的生命,但很少有人珍视他的时间!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【视频】郭老二博文之:图像视频汇总
图像视频博文汇总:FFmpeg、GStreamer、OpenCV、H264、Live555原创 2023-04-08 21:38:33 · 2356 阅读 · 0 评论 -
【GStreamer】减小延时的参数设置、从RTP中获取时间戳
摘要 本文针对GStreamer RTSP转RTMP的高延迟问题(2-5秒),提出优化方案:通过调整rtspsrc、queue、flvmux和rtmpsink等组件的参数,在牺牲流畅度和画质的前提下降低延迟,包括自动调整缓冲区、丢弃延迟数据、禁用重传和同步等。同时详细解析了RTP包头的12字节结构,说明如何从包中提取时间戳并转换为PTS/DTS值。此外,还分析了海康设备SDP信息中的视频参数,如H.264编码配置和RTP映射关系。文中提供了完整的GStreamer命令行示例和对应的C++代码实现方式。原创 2025-06-25 20:31:28 · 250 阅读 · 0 评论 -
【GStreamer】g_print 中文乱码、RTSP转RTMP
本文介绍了GStreamer开发中的中文输出问题和RTSP转RTMP流的解决方案。主要内容包括: 解决GStreamer中文打印乱码问题:通过设置LC_ALL环境变量和使用setlocale(LC_ALL, "")方法。 RTSP转RTMP实现方案: 使用SRS搭建RTMP服务器 提供GStreamer命令行和C++代码实现转流 支持添加视频过滤和拉流测试 详细解析了GStreamer核心插件: rtspsrc:RTSP源获取 queue:数据缓冲管理 capsfilter:媒体格式过滤原创 2025-06-25 13:59:41 · 56 阅读 · 0 评论 -
【音视频】PJSIP库——示例简介、C++类说明
aectest音频回声消除测试工具,用于演示音频处理模块中的回声消除(AEC)功能,通常用于 VoIP 场景中优化语音质量。auddemo音频播放 / 录制演示,展示如何使用 PJProject 的音频接口进行基本的音频数据采集、播放和处理,例如波形显示或格式转换。stereotest立体声处理测试,可能用于演示多声道音频的处理方式,如混音、声道分离等。tonegen音频信号生成工具,用于生成测试用的音频信号(如正弦波、音调等),常用于音频设备测试或调试。recfile。原创 2025-06-19 20:08:12 · 143 阅读 · 0 评论 -
【音视频】PJSIP库——pjsua命令使用详解
本文详细介绍了pjsua的编译安装、测试方法及交互终端使用指南。主要内容包括:1)源码编译步骤和依赖库安装;2)两台电脑测试对讲功能的信令流程;3)Linux音频管理工具JACK的使用方法;4)详尽解析pjsua交互终端的五大类命令:通话控制(如拨号、接听、挂断)、好友管理(添加/删除好友、发送消息)、账户管理(注册/注销SIP账户)、媒体控制(音量调节、编解码设置)以及状态查询功能。为开发者提供了完整的pjsua操作参考手册,涵盖基本测试到高级调试的各项功能。原创 2025-06-18 21:45:24 · 142 阅读 · 0 评论 -
【音视频】SIP基础、搭建服务器和客户端
SIP(会话初始协议)是一种应用层协议,用于创建和管理实时通信会话(如语音/视频通话)。其架构包含客户端(发起/接收会话)和服务端(注册服务器、代理服务器、重定向服务器)。典型流程包括用户注册(REGISTER)、呼叫建立(INVITE/200 OK/ACK)和媒体传输(RTP/RTCP)。SIP消息分为请求消息(INVITE、BYE等)和响应消息(1xx-6xx状态码)。在NAT环境下需使用STUN/TURN/ICE技术穿透。SIP URI采用标准格式(如sip:[email protected]),支持P2原创 2025-06-17 20:33:29 · 226 阅读 · 0 评论 -
【视频】使用海康SDK保存的MP4无法在浏览器(html5)中播放
在使用海康 SDK 的 NET_DVR_SaveRealData 接口,将视频流保存成MP4文件后,通过浏览器无法播放MP4,播放其它的MP4正常。原创 2025-05-22 21:45:42 · 506 阅读 · 0 评论 -
【视频】H.264(AVC)的 Baseline Profile(基线配置文件) 和 Constrained Baseline Profile(受限基线配置文件)
本文详细介绍了H.264编码中的Baseline Profile和Constrained Baseline Profile,以及它们在视频编码中的应用和限制。Baseline Profile适用于低复杂度、实时通信场景,如视频会议和移动设备直播,支持逐行扫描和隔行扫描,但不支持B帧和CABAC编码。Constrained Baseline Profile在Baseline基础上进一步限制语法,强制逐行扫描,适用于严格实时通信场景,如WebRTC和实时流媒体协议。文章还扩展了H.264中的视频色彩和扫描属性,原创 2025-05-20 22:48:30 · 110 阅读 · 0 评论 -
【视频】解决FFmpeg将RTSP转RTMP流时,出现的卡死、出错等问题
本文介绍了如何使用FFmpeg命令将RTSP流转换为RTMP流,并解决转流过程中可能遇到的卡死、出错等问题。通过编写Shell脚本,结合while循环和信号处理机制,实现自动重启和日志记录功能,确保转流过程的稳定性。针对RTSP连接超时和RTMP服务器异常导致的卡死问题,文章提供了添加超时参数、强制使用TCP传输等解决方案。此外,还探讨了关闭音频、优化实时性、启动调试信息等进一步的优化措施。文章最后扩展了参数优化的相关内容,包括低延迟、画质增强、抗丢包、自适应码率、缓冲与超时控制、优化输入RTSP和输出RT原创 2025-05-15 23:30:35 · 780 阅读 · 0 评论 -
【音频】Qt6实现MP3播放器
解码MP3有很多种方法,比如:FFmpeg、GStreamer、Qt、libmpg123 库等,下面介绍使用,只使用Qt的接口方法解码、播放MP3。开发配置:1)操作系统:Windows112)Qt版本:Qt6.5.13)编译器:MinGW_64。原创 2025-05-01 20:48:47 · 577 阅读 · 0 评论 -
【音频】基础知识
音频信号:声音是一种机械波,经过麦克风等设备转化为电信号,再经过模数转换(ADC)变成数字信号,这个数字信号就是音频信号。原创 2025-05-01 12:05:51 · 432 阅读 · 0 评论 -
【视频】OpenCV:色彩空间转换、灰度转伪彩
OpenCV:色彩空间转换原创 2025-03-21 23:30:26 · 340 阅读 · 0 评论 -
【视频】m3u8相关操作
视频文件转m3u8、m3u8直播、点播视频服务器搭建原创 2025-03-21 21:25:45 · 562 阅读 · 0 评论 -
【视频】OrinNX+Ubuntu20.04:移植OpenCV-4.11.0 with CUDA(含opencv_contrib )
OrinNX+Ubuntu20.04:移植OpenCV-4.11.0 with CUDA(含opencv_contrib )原创 2025-03-19 22:04:46 · 419 阅读 · 0 评论 -
【视频】H.264的码率和图像质量
分辨率、帧率、I帧设置不变的情况下,码率过低时,IP摄像机如果没有足够的带宽来传输高质量的图像,便会抹掉一些细节,导致出现马赛克,尤其是动态性强的画面(比如:运动的云台、非固定的摄像头)。原创 2025-03-19 21:14:30 · 477 阅读 · 0 评论 -
【视频】ffmpeg、Nginx搭建RTMP、HLS服务器
使用 Nginx 搭建RTMP、HLS服务器;FFmpeg 推流RTMP或者视频切片ts,以便Web显示视频原创 2025-03-13 22:50:45 · 510 阅读 · 0 评论 -
【视频】SRS将RTMP转WebRTC、HLS流;获取RTSP转其它流
使用SRS将RTMP转WebRTC、HLS等流,以便在浏览器中显示;从网络摄像头中拉取RTSP,转RTMP流;原创 2025-03-13 22:11:17 · 333 阅读 · 0 评论 -
【AI】NVIDIA Orin NX使用Jetpack安装CUDA、cuDNN、TensorRT、VPI、DeepStream
之前开发TX2、Jetson Nano等使用 NVIDIA SDKManager 在电脑上烧写开发板时,下载安装GPU相关套件(CUDA、cuDNN、TensorRT、VPI、DeepStream等)。Orin 系列开发版,可以直接通过 Jetpack 来安装,避免在电脑上再搭建开发环境。原创 2025-03-12 21:49:25 · 920 阅读 · 0 评论 -
【视频】V4L2、ffmpeg、OpenCV中对YUV的定义
由于人眼对 Y 的敏感度远超于对 U 和 V 的敏感,所以有时候可以多个 Y 分量共用一组 UV,这样既可以极大得节省空间,又可以不太损失质量。这三种格式就是按照人眼的特性制定的。YUV 420,由 4 个 Y 分量共用一套 UV 分量,YUV 422,由 2 个 Y 分量共用一套 UV 分量YUV 444,不共用,一个 Y 分量使用一套 UV 分量原创 2025-03-12 21:26:15 · 349 阅读 · 0 评论 -
【视频】从USB摄像头推流至视频服务器(SRS、mediamtx)
在 Ubuntu20.04 系统中,使用V4L2获取USB摄像头数据,然后推流至视频服务器,如:SRS、mediamtx。原创 2025-03-11 23:48:41 · 357 阅读 · 0 评论 -
【ROS2】深度相机相关的话题、消息详解:CameraInfo、Image、PointCloud2
深度相机相关的话题、消息、字段详解:CameraInfo、Image、PointCloud2原创 2024-12-10 21:07:16 · 505 阅读 · 0 评论 -
【ROS2】深度相机ROS2包的使用
在ROS2中使用深度相机,显示可见光、深度图像、点云。原创 2024-12-10 17:32:41 · 643 阅读 · 0 评论 -
【视频】OpenCV:读写视频文件VideoCapture和VideoWriter
VideoCapture可以从摄像头或者视频文件(eg:mp4,avi)中获取视频数据。原创 2024-11-29 19:38:48 · 315 阅读 · 0 评论 -
【视频】二维码识别:libzbar-dev、zbar-tools(zbarimg )
ZBar可以使用多个方式识别各种条形码和二维码。支持的格式有:EAN-13/UPC-A、UPC-E、EAN-8、Code 128、Code 93、Code 39、Codabar、Interleaved 2 of 5、QR Code和SQ Code支持的来源有:视频流、图像文件等。原创 2024-11-23 14:43:54 · 655 阅读 · 0 评论 -
【ROS2】hbm_img_msgs/msg/HbmMsg1080P 转 opencv cv::Mat
在ROS2中处理图像时,经常会用的OpenCV,因此常常会涉及到ROS2话题和cv::Mat的转换ROS2内置消息 sensor_msgs::msg::Image 可以使用 cv_bridge 转换成 OpenCV的 cv::Mat。在使用地平线X3派时,图像消息为hbm_img_msgs/msg/HbmMsg1080P,如何转换成cv::Mat呢?原创 2024-11-01 20:53:13 · 302 阅读 · 0 评论 -
【视频】OpenCV:识别颜色、绘制轮廓
cv::Scalar是长度为4的数组,可以表示RGBA、或者HSV}Scalar;HSV区间表示方法:cv::Scalar(hmin, smin, vmin)和cv::Scalar(hmax, smax, vmax)原创 2024-11-01 20:20:10 · 411 阅读 · 0 评论 -
【FFmpeg】调整音频文件的音量
分析音频、查看音频图、调整分贝ffmpeg -i a.mp3 -filter_complex "showwavespic=s=640x640" -frames:v 1 a.png原创 2024-10-30 20:04:45 · 1056 阅读 · 0 评论 -
【视频】Camera结构详解
先看几张爆炸图:lens:镜头VCM:音圈马达 Voice coil motorMount :固定座IR Filter:滤光片Sensor:感光传感器(图像传感器)Substrate:基板FPC:柔性印制电路板。原创 2024-10-28 18:46:23 · 355 阅读 · 0 评论 -
【AI】DeepStream(16):deepstream_image_decode_app-MJPEG编解码器的使用
演示各种 DeepStream 插件构建 GStreamer 管道。从文件中获取视频、解码、批处理,然后进行对象检测,最后在屏幕上渲染框。在管道pipe中使用多个媒体源src(MJPEG流);自定义解码bin,封装mjpeg编解码器。配置流复用器mux生成一批帧,并在批处理上进行推断(nvinfer),以更好地利用资源。提取流元数据,其中包含有关批处理缓冲区中帧的有用信息。“nvinfer”元素使用 TensorRT API 对帧/对象进行推断,用在Jetson嵌入式板子上;原创 2024-07-16 16:11:00 · 279 阅读 · 0 评论 -
【AI】DeepStream(09):deepstream-app源码详解(01)main函数
nvds_dependencies_version_print 用于打印 DeepStream SDK 依赖的第三方库的版本信息,如 CUDA、cuDNN 和 TensorRT 等的版本号。命令行参数的定义时,使用 G_OPTION_ARG_FILENAME_ARRAY 指定参数为文件名数组(字符串数组)为每个配置文件创建对应的上下文结构体AppCtx,AppCtx中记录相关的状态、环境、输入参数、运行时参数等信息。两个重要的命令行参数,-c 和 -i 分别用于指定配置文件和输入的url。原创 2024-06-05 23:16:27 · 305 阅读 · 0 评论 -
【AI】DeepStream(03):deepstream_test1_app
deepstream-test1:演示各种 DeepStream 插件构建 GStreamer 管道。从文件中获取视频、解码、批处理,然后进行对象检测,最后在屏幕上渲染框。源码路径:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1先看下效果。原创 2024-05-15 00:20:11 · 397 阅读 · 0 评论 -
【GStreamer】basic-tutorial-4:媒体播放状态、跳转seek操作
GStreamer基础教程4源码学习:媒体时长、跳转进度实现的基础原创 2024-03-07 21:20:14 · 202 阅读 · 0 评论 -
【GStreamer】basic-tutorial-3:信号注册、发送、连接、处理
GStreamer示例学习:信号注册、发送、连接、处理详细流程原创 2024-03-04 22:27:42 · 513 阅读 · 0 评论 -
【GStreamer】basic-tutorial-2:创建、链接GstElement,修改其属性、状态
GStreamer基本教程2:创建、链接GstElement,修改其属性、状态;代码注释、涉及函数的详解原创 2024-03-02 09:29:14 · 148 阅读 · 0 评论 -
【GStreamer】basic-tutorial-1:GstBus、GstMessage详解
GstBus负责将 GstMessage 以先进先出的方式从GStreamer内部线程传递到应用程序中。原创 2024-02-28 21:48:31 · 404 阅读 · 0 评论 -
【GStreamer】GstPad详解:SRC、SINK、GstCaps、GstStructure
【GStreamer】GstPad详解:SRC、SINK、GstCaps、GstStructure原创 2024-02-27 22:12:40 · 704 阅读 · 0 评论 -
【GStreamer】GstElement详解:GStreamer 中最重要的对象
GStreamer 中最重要的对象——GstElement详解、创建、使用原创 2024-02-22 22:22:56 · 670 阅读 · 0 评论 -
【NVIDIA】Jetson Orin Nano系列:Qt+Gstreamer(02):gstreamer输出图像到Qt控件上
Jetson Orin Nano上使用Qt+QGtreamer开发系列:将gstreamer输出的图像显示到Qt控件上原创 2024-01-23 23:36:18 · 496 阅读 · 0 评论 -
【NVIDIA】Jetson Orin Nano系列:Qt+Gstreamer(01)pro中配置gstreamer库和头文件路径
Jetson Orin Nano系列:Qt+Gstreamer开发01-pro中配置gstreamer库和头文件路径原创 2024-01-22 23:34:39 · 715 阅读 · 0 评论 -
【视频】使用OBS将MP4推流至腾讯云直播
使用OBS将MP4推流至腾讯云直播原创 2023-08-11 19:00:00 · 2535 阅读 · 0 评论