CarEye推流库中对于MP4文件推送的优化心得

CarEye 智能叉车管理系统 介绍叉车管理,叉车系统主要功能工作原理 阅读详情

之前的CarEye推流库推送MP4文件的逻辑是创建推送通道成功后就一直推送媒体流到队列中,然后推送线程读取队列信息进行推送,跟推送实时媒体流数据是一个逻辑,不过后来发现这样会造成这么一个问题,当网络不好的时候会丢帧,推送文件毕竟不同于推送实时流,用户是需要看到完整影像的,基于此点进行逻辑的优化:

开始的时候在解码线程中进行推流通道的网络状态检测,如果断网则暂停推送,恢复连接后就继续推送,这样实施起来相对也简单,不过在实现后发现暂停推送后网络不会自动重连,查看libRTMP库代码后发现是只有你推流的过程中推流失败会重新连接一次网络,如果不推流则不进行重连,这样就有些为难了,这得区分是推送文件还是推送实时流。

然后在推流线程中进行检测,当为推送文件并推送失败时,检测网络状态,网络断开则进行定时重连并报告给解码线程,解码线程检测到网络断开暂停解码,重连成功后继续解码,修改完成后倒是可以正常推送了,但正如你所想,事情不会这么简单的,测试发现断开重连后播放端会看到快进播放的情况或播放失败的情况,这是如何造成的呢?解码线程的时间同步问题。。。费了一番力气后将时间同步问题解决,再进行测试就OK了!~!

808, 905部标流媒体开源项目:https://github.com/Car-eye-team QQ群: 590411159

尾气排放监控系统 OBD 尾气排放监控平台 阅读详情

相关推荐

【音视频 ffmpeg 学习】 RTMP推流 mp4文件

3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。2.RTMP协议中基本的数据单元称为消息(Message)。下载地址:http://nginx.org/download。下载 rtmp模块 到nginx 模块下。安装nginx 和 rtmp模块。(1). linux 环境准备。下载nginx安装包。使用 vcl 播放流。

weixin_45397344的博客 2274

Linux搭建流媒体服务器nginx+rtmp+module搭建及遇到的坑

Linux搭建流媒体服务器nginx+rtmp+module 捣鼓了两天遇到的问题,其实搭建流服务器的步骤是很简单粗暴的,而我遇到的问题是因为1935端口的问题。 首先我是腾讯云服务器,我也在控制台的安全组里面开放了端口1935,然后按照其他文章参考步骤逐一一进行配置(只要认真按照步骤搭配,是没有问题),然后用OBS推流,VLC拉流播放的步骤都没有落下。但是还是不行,然后开始使用telnet命令,发现连接不通,最后开启防火墙,添加了1935端口之后测试了一通还是不行。最后是干脆换了个端口,发现telnet成

qq_37135231的博客 637

512分辨率万能遮罩模型实战指南:从下载到高精度应用

本文提供了512分辨率万能遮罩模型的完整实战指南。该模型经过超过540万次迭代,专门优化了对头发、手、眼睛等复杂区域的识别。文章详细介绍了从可靠渠道下载、环境部署、使用DF_ICE工具批量应用遮罩,到利用XSeg Editor进行高精度精修的全流程,旨在帮助用户显著提升AI换脸合成视频的质量与效率。

y2z3a4b5c的博客 1162

linux打开.mp4文件,mp4文件扩展名,mp4文件怎么打开?

.mp4文件类型:MPEG-4 Video File扩展名为.mp4的文件是一个视频文件。文件说明:Movie or video clip that uses MPEG-4 compression, a standard developed by the Moving Picture Experts Group (MPEG); commonly used for sharing video fil...

weixin_33615688的博客 4274

LSTM 怎么进行二维数据的输入呢

尽管LSTM并不天然地适用于处理图像、视频等二维数据,但通过时间序列化、卷积特征提取和双向LSTM等方法,我们可以将二维数据转化为适合LSTM输入的形式,从而利用LSTM的强大记忆能力和长期依赖学习能力对二维数据进行建模。未来的研究方向可以考虑将LSTM与其他模型结合,例如将LSTM与卷积神经网络(Convolutional Neural Network, CNN)结合,利用CNN提取图像的空间特征,然后利用LSTM学习时间序列的长期依赖;

xiamu_CDA的博客 1037

【加密社】私钥碰撞器,秒杀市面上的碰撞器

基于上述的逻辑和代码,开发了ETH挖掘器(图1.1)这里有个亮点是:1.很多开发者在判断地址是否有效的环节上,用的是查询余额,其实这是不对的,查询余额你可能只能查询对应代币的余额,例如usdt,eth等但是如果用查询交易次数就不一样了,你只要是交易过,我就认为是有效钱包,这样的速度比查询余额要快,也要更准确。2.rpc节点可配置。

加密社的博客 1579

linux 读取mp4文件,使用ffmpeg获取视频流后如何封装存储成mp4文件

int main(int argc,char *argv[])02 {03 AVFormatContext *pFormatCtx;04 int i,videoStream;05 AVCodecContext *pCodecCtx;06 AVPacket packet;07 //H264Context *...

weixin_35820423的博客 812

基于MediaPipe的智能俯卧撑计数与姿势矫正系统

在现代健身和体能训练中,俯卧撑是最基础也是最有效的自重训练动作之一。然而,许多人在进行俯卧撑训练时常常存在姿势不正确、计数不准确等问题。本文将介绍如何利用计算机视觉和姿态估计技术,开发一个智能的俯卧撑计数与姿势矫正系统。

qq_36224726的博客 916

CarEye 视频平台解决方案

介绍视频平台的方案

Car_eye的博客 1420

Java 开发 修改【冒险岛 079 私服】完整学习流程

第 1-2 天:环境搭建 + 运行原版 079 服务端,能正常登录游戏;第 3-4 天:纯配置文件修改,掌握倍率、属性、怪物、道具的修改,改出第一个「百倍经验私服」;第 5-10 天:Java 代码基础修改,掌握 Player/Skill/Monster 核心类的修改,实现技能无冷却、一刀秒怪、升级满属性;第 11-20 天:Java 代码进阶修改,掌握业务逻辑修改,实现死亡不掉经验、自动捡物、装备强化无失败;第 21-30 天。

萧曳丶 3889

UNet 改进(27):结合SCSE注意力机制的UNet网络实现

本文介绍了一种结合SCSE注意力机制的改进UNet网络架构。该网络在保持UNet经典编码器-解码器结构基础上,通过在每层添加SCSEBlock模块,融合了通道注意力和空间注意力机制。通道注意力通过全局池化和1×1卷积生成通道权重,空间注意力则产生空间权重图,二者相加增强关键特征响应。该设计具有以下优势:1)保持原始UNet的多尺度特征提取能力;2)通过注意力机制提升对重要区域的关注度;3)计算效率高,仅增加少量参数。测试显示网络能保持输入输出分辨率不变,适用于医学图像分割等像素级预测任务。完整代码实现了5层

2401_82355416的博客 415

CarEye 智能云平台升级

文章描述了管理平台从单机版本到云架构的升级原因和主要注意事项

Car_eye的博客 3149

推理引擎终极对决:TensorRT vs ONNX Runtime,YOLOv8速度差30%的核心原因与实操指南

若你使用NVIDIA GPU,且追求极致速度和低延迟,TensorRT是唯一选择,尤其是边缘设备和实时场景;若你需要跨硬件部署、快速验证原型,或预算有限(无需NVIDIA GPU),ONNX Runtime是性价比之王;对于YOLOv8这类检测模型,TensorRT的FP16/INT8量化是“免费的速度提升”,建议优先采用。最后提醒:推理引擎的优化是“细节决定成败”——同样的引擎,不同的预处理方式、显存配置、批大小,都会导致10%-20%的性能差异。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1026

将mp4视频推流rtsp,并转为http直播流,在前端显示

直播推流,mp4视频推流rtsp和http

SingDanceRapBall的博客 4543

主成分分析(PCA)简洁高效MATLAB实现详解

本文介绍了一个简洁高效的PCA算法实现。该实现通过SVD分解计算主成分,避免了显式协方差矩阵计算,支持两种降维方式:固定维度或按能量比例自动选择。核心步骤包括数据中心化、SVD分解和维度选择,代码量少但功能完整,适用于数据预处理、降维和特征提取等任务。实现中考虑了稀疏矩阵转换、默认参数处理等细节,可直接应用于MATLAB环境。

m0_62153576的博客 63

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

CarEye 流媒体处理服务器

CarEye 在车载流媒体服务器的基础上发展了GB28181 视频处理服务器。将RTMP,RTSP 通用服务器跟车载和安防视频服务器集成,构成了流媒体服务集群

Car_eye的博客 477

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

将本地.mp4推流成rtsp流?(windows)

如何在本地机器上进行rtsp推流整个操作

m0_51246196的博客 3901

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

CarEye 管理系统开发基本约定

后台开发规范记录

Car_eye的博客 782

(三)利用ffmpeg实现简单的MP4推流

首先的话,我想写感谢一个带我进入音视频处理领域的人,虽然从未谋面,但是是他的博客指引了我学习音视频开发的道路,启蒙了一个曾经迷茫的程序员。但是很可惜,他已经在2016年不幸离开了我们,他是雷霄骅,一位乐于分享的传媒大学大佬。我相信有很多初次接触ffmpeg的人都是从他的博客起步的。我想写这个音视频学习的系列,很大一部分也是觉得应该将大佬分享的精神继承下去,这应该是我认为对他最好的缅怀了.... 先展示一下效果: ps:这里推流的代码也是学习自雷大的最简单的Android推流器 解析...

GNNBEI的博客 4968

Car-eye 智能车辆管理云平台以报警为中心展开业务

车辆管理平台的两大主要目的是:安全和管理,在这两大目标很大程度上是以报警这个核心功能来实现的。 无论是传统的GPS业务,包括电子围栏,超速,设备检测还是基于视频的摄像头报警。以及后面的主动安全报警都紧紧围绕报警业务来展开的。   car-eye 平台将围绕报警打造一个可扩展,可跟踪,可交互的智能车辆云平台。为此我们定义了几百种报警源,覆盖了GPS,视频 胎压检测,adas,DMS,人脸...

Car_eye的博客 1092

CarEye开源流媒体部标平台

相对比EasyDarwin的开源流媒体平台而言, CarEye开源平台更具有针对性, 该平台针对的是当前热门的部标平台, 并且包含了从设备端到服务器端到客户端以及手机端的整套解决方案, 进行商用更加方便.相关代码可以参考 https://github.com/Car-eye-team QQ技术群:590411159该套系统设备端基于Android系统进行开发, 最多支持4路视频并支持JTT808协...

路过的Blog 1800

本地.mp4推流成rtsp流 Windows版本

在网络中输入下面的链接 这里是之前代码ffmpeg -re -stream_loop -1 -i D:\liuliu.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream 中的最后这里rtsp://127.0.0.1:8554/stream。编辑环境变量 (此电脑>右击属性>点击高级属性>找到环境变量>在路径中加入ffmpeg的路径这里到bin文件夹下)下载后 ,放到一个盘中 我这里放到了D:\ffmpeg-7.0.2-essentials_build。

weixin_51331517的博客 1081

ffmpeg推rtsp流命令行:将本地.mp4文件推流(rtsp流)到EasyDarwin流媒体服务器

功能: ffmpeg推rtsp流命令行:将本地.mp4文件推流(rtsp流)到EasyDarwin流媒体服务器。 ffmpeg -re -i D:\XWData\video\test.mp4 -vcodec copy -acodec copy -f rtsp rtsp://47.101.203.181:8554/live.sdp ffmpeg -re -i D:\XWData\video\test.mp4 -vcodec copy -acodec copy -f rtsp rtsp://47..

weixiao的博客 7万+

CarEye GT1078 转GB28181 方案

最近因为业务需要,将GT1078 的设备链接到政府平台,政府平台还不是GT/808系列的,而是GB28181 上级平台,所以造成了需要进行数据和格式的转化。具体主要流程如下: GT/T1078 视频平台级联到上级公安部平台要点: 车辆管理系统录入公安部编码,将机构,设备,通道跟国标编码一一对应 平台将设备信息通过websocket接口上传到CarEye GB28181 服务器 CarEye GB28181 服务器将设备信息同步到上级平台 上级指令通过CarEye 服务器转化成webSOCET发送到

Car_eye的博客 4928

在MacBook上编译v3s内核出错

刚开始的时候,我捣鼓esp8266「现在我也还有8266的开发板,后面也还是会推荐」后面,我推荐了esp32,买了esp32开发板,可以做uac相关的实验,也可以搞图形界面了。现在,终于到捣鼓Linux了PS:我选了全志的v3s,有考虑说玩RK的,但是RK的u-boot那部分是没有源码的,就放弃了。介绍下v3s全志 V3S 是一款低成本、低功耗的 ARM Cortex-A7 处理器,主要用于物联网...

嵌入式Linux 919

Gstreamer中,使用mp4或者flv作为视频源去推流RTP等视频流时,需要先解码在编码才能正常

Gstreamer中,使用mp4或者flv作为视频源去推流RTP等视频流时,需要先解码在编码才能正常

Alon1787的博客 2270
上一篇: The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden mac
下一篇: CarEye推流库的网络推送优化
路过&
博客等级 码龄19年 126粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值