首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏TSINGSEE青犀视频

    rtp推流如何使用ffmpeg配置rtp打包模式?

    关于使用rtp推流,TSINGSEE青犀视频团队实际已经研发了很长时间,其中也碰到了不少问题,比如RTP推流客户端无法解析播放,或者遇到不同的报错,但这些目前都已经有了比较完善的解决办法。 在使用RTP推流时,默认ffmpeg使用的打包模式是packetization-mode=1,本文我们和大家分享另一个比较实用的技巧,就是使用ffmpeg配置rtp打包模式。 如何修改打包模式? 关于RTP打包模式的说明如下: 目前ffmpeg默认使用的是1: Not interleaved 模式,针对客户的需要,服务端不支持STAP-A的组包模式,需要每个包单独发送,所以需要配置Single url后面加上如下所示内容: rtp://192.168.99.138:6666? 配置后抓包: 可以看到非I帧之间没有STAP-A的组包模式了,每个NAL都是单独发送的。同时看到对应的SDP也是packetization-mode=0。

    2.9K30发布于 2021-02-25
  • 来自专栏跟Qt君学编程

    Webrtc音频编码并打包RTP

    ❝将PCM数据打包RTP包。 /* 数据有效性判断 */ if (info.encoder_type == AudioEncoder::CodecType::kOther) return; 打包RTP // 对于连续的音频包,需要连续的timestamp。 timestamp += sizeof(int16_t) * encoder->NumChannels() * encoder->RtpTimestampRateHz()/100; /* 创建rtp包 packet.SetTimestamp(timestamp); packet.SetSsrc(ssrc); uint8_t *payload = packet.SetPayloadSize(buffer.size()); /* 装载rtp

    95230编辑于 2023-03-17
  • 来自专栏RTSP/RTMP直播相关

    从RTSP播放遇到RTP无 Marker探讨RTP规范化打包与稳健切帧

    ​下面以“大牛直播SDK 的 RTSP 播放器遇到 RTP 不带 Marker 位(M bit)”为切入点,结合 RTP/RTCP 基础 与 H.264/H.265/AAC 的负载规范,说明发送端如何规范打包 二、发送端(打包器)如何“规范打包”:H.264/H.2651) 通用约束 时间戳:同一帧(AU)内的所有 RTP 包 使用相同的 RTP 时间戳;视频时钟为 90 kHz。 序号:RTP 序号每包 +1,随机起始。 Marker:仅在“该 AU 的最后一包”置 1;否则为 0。 三、发送端(打包器)如何“规范打包”:AAC(MPEG4-GENERIC) AU 头:按 SDP 中的 sizeLength/indexLength/indexDeltaLength 生成 AU-headers-section 五、参考实现H.264/H.265 发送端(打包器)for each AccessUnit AU: ts = au_pts_in_seconds * 90000 last_nalu_index =

    34610编辑于 2025-09-11
  • 来自专栏深度学习与python

    软件打包,有没有更好的方法?!

    ,一位朋友分享了关于亚马逊内部构建系统(https://gist.github.com/terabyte/15a2d3d407285b8b5a0a7964dd6283b0)的设计要点,这也让我对于软件打包这事有了新的认识 有没有更好的方法? 下面咱们捋一援理想构建系统的基本要求: 可稳定复现的构建:如果远程系统能够成功构建,那我们的本地系统也应该可以。 技术挑战 这里我们不打算太过深入,但其实没有现成方案的原因并不是做不到。各种主流操作系统已经能把不同层级的环境妥善隔离开来,为什么软件包这边就不行? 正如 Brazil 项目下一位评论者的留言: 根据个人经验,Brazil 的打包概念之所以没能普及,就是因为之前的问题还没严重到改变的临界点。 而且在打包完成后,这事就过去了。 只有那帮闲着没事干的书呆子才愿意为此专门构建生态系统。

    2.5K50编辑于 2023-10-16
  • 来自专栏全栈程序员必看

    关于maven打包时, 资源文件没有打包进来的问题

    即,默认打包得到的结果如下 可以看到com.example.mp.mappers包下没有XML文件 我们可以配置pom.xml中的resources标签,指定打包时,加入src/main/java下面的 而由于没有配置,src/main/java下的XML文件就没有打包。 由此可知,默认情况下,maven打包会将资源目录(一般是src/main/resources)中的资源文件打包进去。 /java中的XML文件没有打包进来,而src/main/resources下的资源文件倒是被打包了进来。 使用maven进行打包,若pom.xml中没有配置resources标签,则会采用默认策略,打包资源目录(src/main/resources)下的资源文件。 目录下的文件已经被打包了进来,而后续的打包没有执行mvn clean清除已有的文件。

    4.2K40编辑于 2022-09-02
  • 来自专栏智媒黑板报

    音视频传输:RTP协议详解和H.264打包方案

    所以在视频监控和实时视频传输还是统治级别的存在,没有啥协议能够进行短期取代,当然这都是由RTP特点决定的。 之所以设计RTP协议,就是因为为了规避TCP协议的一些缺点,因为TCP协议在操作系统的协议栈上实现了流量和拥塞控制等机制,但是TCP并没有考虑传输视频的情况,它是针对传输任何数据更通用的做法,但是结合流媒体传输的特点 我的理解就是为了给RTP传输协议增加一些扩展性,防止未来一些新功能的加入,同时允许用户增加一些私有信息和私有功能在里面,大部分音视频场景都没有启用RTP扩展部分,但是也有例外。 其中前者就是编码器吐出来的原始编码数据,没有考虑传输和存储问题。 但是对于发送端组RTP包的一方来说,尽可能找简单的打包方式。对于接受端则需要适配各种发送端的打包方式,因为无法决定输入源的打包方式。这里先分享下我们的打包方式,比较简单: 1.

    7.7K61发布于 2020-11-12
  • app没有打包到系统里去?还是刷机工具选错了,导致没有下载进去?

    回到为什么out_sys/target/product/i/system_ext/priv-app/MtkLauncher3QuickStep/MtkLauncher3QuickStep.apk 没有打包到系统里去 刷机工具选错了,导致没有下载进去?对,你的现象很可能就是 刷机工具没刷到 system_ext 分区。 但是你刷机后没有日志输出: 表明 刷机时这份 system_ext 没被写入设备。 你观察到: Download Only 时有 userdata、super 等分区显示,但没有 system_ext。

    27110编辑于 2025-10-18
  • 来自专栏工具使用

    Spring Boot打包的jar运行的时候提示:没有主清单属性

    缘起 日前有一个springboot项目,在本地都运行的好好的,打包成jar放到服务器上去运行的时候报错没有主清单属性,项目中也已经配置了springboot的maven打包插件但是还是不行。 artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 解决方案 应该是springboot的maven打包插件没配置

    4.2K10发布于 2020-08-20
  • 来自专栏饭勺oO的技术博客

    windows右键菜单自动打包发布nuget,没有CICD一样方便!

    构建现代的 .Net 应用离不开 Nuget 的支持,而快速打包 Nuget 成了提高生产率的有效方法。没有CI/CD? 来试试使用windows右键菜单吧 先看右键效果图 有时候我们可能没有CI/CD的条件来自动发布nuget包,这个时候文件夹右键菜单就显得十分高效了 如图所示,直接在文件夹右键可以看到又nuget publish

    37820编辑于 2023-10-18
  • 来自专栏技术社区

    vue项目打包后提交到git上为什么没有dist这个文件?

    vue项目中使用npm run build打包后会生成一个dist文件,使用git推送项目后,发现git上少了一个dist文件,为什么明明本地项目中有这个文件而推上去就没有了呢? (2) 用Git Bash 根目录下右键选择“Git Bash Here”进入bash命令窗口; 输入vim .gitignore或touch .gitignore命令,打开文件(没有文件会自动创建); 如图: # dependencies npm包文件 /node_modules # production 打包文件 /build # misc .DS_Store npm-debug.log

    1.8K10编辑于 2022-06-16
  • 来自专栏进击的多媒体开发

    如何实现H.264的实时传输?

    在设计实现H.264的实时传输时,H.264协议基于RTP打包和解包定义于IETF标准-RFC6184,RTC系统需要遵循这个标准来设计打包和解包处理模块。 #01 基本格式 使用RTP对H.264打包和解包需要遵循IETF标准RFC6184, 我们先来了解一下H.264在RTP中的封包协议。 负载类型 (PT):7位 没有特别指定的负载类型,需要通过协商来确定。 序列号(SN):16位 根据RFC 3550设置和使用。对于单NAL单元和非交错打包模式,序列号用于确定NAL单元的解码顺序。 打包模式 H.264的RTP打包模式有三种: 单NAL单元模式 所有的接收端都必须支持这种模式,主要应用于兼容低时延应用中的硬件设备。 MTAP格式一般不在实时系统中使用,考量的重点在于兼顾打包效率和传输效率。 Single-NAL-Unit 打包比较简单,一个NAL封装为一个RTP包。

    1.5K30发布于 2021-09-03
  • 来自专栏RTSP/RTMP直播相关

    Android平台GB28181设备接入端如何支持跨网段语音对讲?

    模式1:“s=Talk”模式,这种实现,相对来说难度稍小,只需把PCMA打包rtp包发送或接收: s=Talk ............ t=0 0 m=audio 端口 RTP/AVP 8 a=rtpmap 大多开发者在实现GB28181设备接入的时候都是音视频数据一起打包发送的,如果需要兼容这种情况,需要针对纯音频打包PS,纯音频打包PS,可以参照GB/T28181-2016规范针对音视频或纯视频模式下的 PS打包,当然,也可以直接PCMA over RTP模式。 值得一提的是,语音广播在一些国标平台的实现,可能走点对点模式(如宇视),并没有通过媒体服务器来转发RTP包,此外,如果SDP信息中“s=Play”,那么对应的200 OK响应中的SDP 也需要确保是Play 遗憾的是,大多公司都没有实现,或者说市面上真正实现跨网段语音对讲的尚在少数,感兴趣的开发者可以酌情参考。

    1K20编辑于 2022-12-13
  • 来自专栏Cellinlab's Blog

    视频技术快览 0x2 - 视频传输和网络对抗

    如果只负责传输 RTP 包,而不需要管传输过程中有没有丢包,以及传输 RTP 包的时候有没有引起网络拥塞的话,那只需要使用 RTP 协议就可以了。 # H264 RTP 打包 RTP H264 码流打包分为三种方式: 单 NALU 封包方式 一个 NALU 打一个 RTP 包 单 NALU 封包方式非常简单,在 RTP 头部的后面,直接放置 NALU 分片封包方式 分片封包就更复杂一些了,但却是经常用到的打包方式 将一个 NALU 分开打包在连续的多个 RTP 包中,首先需要一个 1 字节的 FU indicator 来表示当前 RTP 包是不是分片封包方式 Header 的格式也是一样的,也只是 Type 字段的值不同 这种打包方式主要用于将 NALU 数据打包成一个 RTP 包时大小大于 1500 字节的时候,这是经常使用的视频 RTP 打包方法 丢包率计算 接收端会将接收到的每一个包的信息放到 Transport-CC 报文中,包括每一个 RTP 包的序号以及这个包有没有接收到。而没有接收到就代表这个包丢失了。

    1.8K23编辑于 2023-05-17
  • 来自专栏全栈程序员必看

    idea打包jar没有主清单属性_maven库中有jar包,但是引入不到

    问题: 本地运行好好的,啥错没有 但是springboot项目通过maven打包程序后 java -jar 直接执行jar包时,控制台显示“没有主清单属性”。 com.leishu.Application就是springboot的启动类,改成你自己的就好了 More: 尝试使用过 Maven Shade Plugin ,但似乎与 maven-jar-plugin 在打包时冲突

    2.7K20编辑于 2022-10-04
  • 来自专栏全栈程序员必看

    rtp协议详解

    F和NRI也跟NALU头一样,只有Type有些不一样:拓展24 – 31 0 没有定义; 1-23 NAL单元 单个 NAL 单元包. 24 STAP-A 单一时间的组合包; MTAP16 多个时间的组合包; 27 MTAP24 多个时间的组合包 28 FU-A 分片的单元; 29 FU-B 分片的单元; 30-31 没有定义 打包时去除“00 00 01”或“00 00 00 01”的开始码,把其他数据封装成RTP包即可。 相同NAL单元的分片必须使用递增的RTP序号连续顺序发送(第一和最后分片之间没有其他的RTP包)。同时,NAL单元必须按照RTP顺序号的顺序装配。STAPs,MTAPs不可以被分片。 一个Slice编码之后被打包进一个NAL单元。不过NAL单元除了容纳Slice编码的码流外,还可以容纳其他数据,比如序列参数集SPS。

    2.7K20编辑于 2022-09-07
  • 来自专栏Python与Excel之交

    打包了个python爬虫程序,让没有python环境的电脑也可以运行!

    前言 今天就教大家进行程序打包,写个简单的爬虫程序,爬取某东商品数据,并进行打包,让没有python环境的电脑也可以运行。 因为两条链接携带的参数不同以及后期要打包程序,所以需要适当修改,删除些不用的参数。 https://search.jd.com/s_new.php? 程序打包 打包需要用到一个库-pyinstaller,安装只需要在终端输入以下命令: pip install pyinstaller pyinstaller打包命令有很多条,我比较常用下面这条: pyinstaller 接着复制上面的命令到终端,直接回车即可运行打包。 ? 打包完成后会生成多个文件,而可执行 exe 程序就在dist文件下,我们直接双击即可运行程序,然后输入想要搜索的商品和想要爬取多少页。 ? 2、程序打包在工作中还是很常用的,打包好的程序可以在没有python环境下的电脑运行。

    1.9K20发布于 2021-08-05
  • 来自专栏全栈程序员必看

    视音频数据处理入门:UDP-RTP协议解析「建议收藏」

    本文中的程序是一个UDP/RTP协议流媒体数据解析器。该程序可以分析UDP协议中的RTP 包头中的内容,以及RTP负载中MPEG-TS封装格式的信息。 通过修改该程序可以实现不同的UDP/RTP协议数据处理功能。 原理 MPEG-TS封装格式数据打包RTP/UDP协议然后发送出去的流程如下图所示。 图中首先每7个MPEG-TS Packet打包为一个RTP,然后每个RTP打包为一个UDP。 其中打包RTP的方法就是在MPEG-TS数据前面加上RTP Header,而打包RTP的方法就是在RTP数据前面加上UDP Header。 ; int rtp_data_size=pktsize-rtp_header_size; fwrite(rtp_data,rtp_data_size,1,fp1); //Parse

    1.9K30编辑于 2022-09-13
  • 来自专栏GB28181技术

    如何实现Android平台GB28181设备接入模块按需打开摄像头并回传数据

    仅完成平台上线注册,如果有语音广播过来,自动播放语音广播audio,如果平台侧订阅实时位置,安卓端按照位置订阅间隔,实时上报当前位置,当前端发起回传请求时,打开摄像头,再投递数据到底层模块,完成数据编码打包和回传 技术实现懒得截图了,还是用老图吧,新的版本,在任务栏加了notify提醒,下面图片没有。 设置; [软编码参数配置]支持软编码profile、软编码速度、可变码率设置; 支持横屏、竖屏推流; Android平台支持后台service推送屏幕(推送屏幕需要5.0+版本);支持纯视频、音视频PS打包传输 video_des = null; SDPRtpMapAttribute ps_rtpmap_attr = null; // 28181 视频使用PS打包 总结后台采集摄像头,如果想再进一步扩展,可以把android平台gb28181的camera2 demo,都移植过来,实现功能更强大的国标设备侧,这里主要是展示,收到国标平台侧的回传请求后,才打开摄像头,才开始编码打包

    89510编辑于 2024-02-19
  • 来自专栏全栈程序员必看

    RTP协议–图文解释

    一、什么是RTP 数据传输协议RTP,用于实时传输数据。RTP报文由两部分组成:报头和有效载荷。 二、RTP的会话过程 当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。 没有定义 1-23 NAL单元 单个 NAL 单元包. 24 STAP-A 单一时间的组合包 25 STAP-B 单一时间的组合包 26 MTAP16 多个时间的组合包 27 MTAP24 多个时间的组合包 28 FU-A 分片的单元 29 FU-B 分片的单元 30-31 没有定义 1) 现存两个版本FU-A,FU-B,用NAL单元类型(Type)28 29标识 常用的打包时的分包规则:如果小于MTU采用单个NAL单元包,如果大于MTU就采用FUs分片方式 五、单个NAL单元包格式 对于 打包时去除“00 00 01”或“00 00 00 01”的开始码,把其他数据封装成RTP包即可。

    4.8K20编辑于 2022-09-13
  • 来自专栏RTSP/RTMP直播相关

    如何支持RTSP播放H.265(HEVC)流

    随着H.265的普及,越来越多的开发者希望大牛直播SDK(Github)能支持低延迟的RTSP H.265播放,并分享相关经验: 实现思路: 对rtsp来说,要播放h265只要正确解析sdp和rtp包即可 sprop-vps, sprop-sps, sprop-pps等等, 具体请参考相关 文档,建议解析sprop-vps, sprop-sps, sprop-pps. 2.2 SDP 举例: m=video 0 RTP RTP 打包格式 实际中其实就用到两种格式,一种是一个nal单元打包到一个rtp包中。 一种是nal单元比较大,分片打包在多个rtp中. 3.1 单个Nal单元打包: PayloadHdr 把 NAL单元头填入就好. 3.2 Nal单元分片打包: ​ PayloadHdr还是拷贝NAL 相关资料分享:RTP Payload Format for HEVC:http://pike.lysator.liu.se/docs/ietf/rfc/77/rfc7798.xml

    2.9K30发布于 2019-09-18
领券