音视频--视频数据传输

这篇具有很好参考价值的文章主要介绍了音视频--视频数据传输。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文献

  1. H264码流RTP封装方式详解:https://blog.csdn.net/water1209/article/details/126019272
  2. H264视频传输、编解码----RTP协议对H264数据帧拆包、打包、解包过程: https://blog.csdn.net/wujian946110509/article/details/79129338
  3. H264之NALU解析: https://zhuanlan.zhihu.com/p/409527359

H264数据打包成RTP数据的方式

注意:H264帧数据打包进入RTP packet时会把start code(00 00 00 01 或者00 00 01)去掉,所以RTP payload部分第一字节就是H264 NALU Header部分。

H264 NALU(Network Abstract Layer Unit)组成

音视频--视频数据传输,音视频,音视频

H264帧是由一系列的NALU组成,NALU Header由一个字节组成,它的语法如下:

  +---------------+
  |0|1|2|3|4|5|6|7|
  +-+-+-+-+-+-+-+-+
  |F|NRI|  Type   |
  +---------------+

F: 1个比特. forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0.禁止位,0表示正常,1表示错误,一般都是0;

NRI: 2个比特. nal_ref_idc. 取00~11,表示这个NALU的重要性,如00的NALU解码器可以丢弃它而不影响图像的回放.

Type: 5个比特,重要 nal_unit_type. 这个NALU单元的类型.简述如下:

  Type   Packet      Type name                       
  ---------------------------------------------------------
  0      undefined                                    -
  1-23   NAL unit    Single NAL unit packet per H.264  
  24     STAP-A     Single-time aggregation packet    
  25     STAP-B     Single-time aggregation packet    
  26     MTAP16    Multi-time aggregation packet     
  27     MTAP24    Multi-time aggregation packet     
  28     FU-A      Fragmentation unit                
  29     FU-B      Fragmentation unit                 
  30-31  undefined          

之前提到过,单个H264仅用1-23类型,24以及以后的用在RTP协议中 H264数据的头部,用于标识传输过程中H264的类型。

H264封包过程

对于一个原始的 H.264 NALU 单元常由 [Start Code] [NALU Header][NALU Payload] 三部分组成, 其中 StartCode 用于标示这是一个NALU 单元的开始, 必须是 “00 00 00 01” 或 “00 00 01”, NALU 头仅一个字节, 其后都是NALU 单元内容.打包时去除 “00 00 01” 或 “00 00 00 01” 的开始码, 把其他数据封包的 RTP 包即可.
根据H264 NALU的数据长度和MTU(底层限制最大1500字节)进行比较的结果,RTP有三种打包模式:单一NALU模式、组合封包模式、分片封装模式

封包的代码实现可参考:https://github.com/hmgle/h264_to_rtp

单一NALU模式

对于NALU的长度小于MTU大小的包,一般采用单一NALU模式:文章来源地址https://www.toymoban.com/news/detail-636779.html

组合封包模式
分片封包模式

到了这里,关于音视频--视频数据传输的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【蓝牙协议栈】【BR/EDR】【AVDTP】音视频分布传输协议

            AVDTP即 AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL(音视频分配传输协议),主要负责 A/V stream的协商、建立及传输程序,还指定了设备之前传输A/V stream的消息格式.         AVDTP的传输机制和消息格式是以 RTP为基础的。RTP由 RTP Data Transfer Protocol (RTP)和 RTP Control Protocol(

    2024年03月09日
    浏览(31)
  • 音视频 ffmpeg命令提取音视频数据

    保留封装格式 提取视频 提取音频 推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核) https://xxetb.xet.tech/s/VsFMs

    2024年02月10日
    浏览(45)
  • 【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    在 Windows 系统中 , 使用 ffmpeg 命令 录制 音视频 , 需要先获取 系统的 音视频设备 信息 , 录制 音视频 本质上是从 系统音视频设备 中获取数据 ; 执行 命令 , 可以获取 系统中 ffmpeg 可用的 DirectShow 音视频输入设备 ; 命令参数解析 : -list_devices true : 列出所有 ffmpeg 的 指定类型的可

    2024年04月25日
    浏览(70)
  • 抖音视频批量下载软件功能|短视频数据挖掘软件

    《抖音视频批量下载软件——提升工作效率的利器》         在当今信息爆炸的时代,视频内容已经成为人们获取信息、娱乐放松的重要途径之一。而针对抖音视频的批量下载需求,我们推出了一款功能强大的软件,让您轻松实现视频批量提取,提高工作效率,让您事半功倍

    2024年03月09日
    浏览(36)
  • 音视频 ffmpeg命令提取PCM数据

    提取PCM 推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核) https://xxetb.xet.tech/s/VsFMs

    2024年02月09日
    浏览(44)
  • 音视频数据处理-H265/HEVC视频码流分析

    一、H265概述 H265/HEVC(Hight Efficiency Video Coding)是由ITU-T和ISO/IEC两大组织在H264/AVC的基础之上推出的新一代高效视频编码标准,主要为应对高清和超高清视频在网络传输和数据存储方面带来的挑战。上一篇文章对H264/AVC视频码流进行了详细的分析,本文继续从数据处理的角度对

    2024年02月11日
    浏览(35)
  • WebRTC系列-RTCDataChannel发送非音视频数据

    即时通讯中我们除了媒体数据的发送需求外,有时候需要发送非媒体数据;WebRTC提供了一种发送非音视频数据的方式就是打他RTCDataChannel,在之前的版本里是使用rtp来传输数据,在最新的版本里已经采用sctp协议来发送数据;这篇文章主要介绍js端的实现; RTCDataChannel 接口是

    2023年04月15日
    浏览(46)
  • 抖音视频评论采集软件|抖音数据抓取工具

            抖音视频评论采集软件是一款基于C#开发的高效、便捷的工具,旨在为用户提供全面的数据采集和分析服务。该软件不仅支持通过进行搜索抓取,还能够通过分享链接进行单个视频的抓取和下载,让用户轻松获取抖音视频评论数据。         其中,批量视频提

    2024年04月11日
    浏览(41)
  • 抖音视频批量下载工具|抖音数据抓取工具

            想要随时随地观看抖音平台上的精彩视频内容吗?不必担心!这款基于C#开发的抖音视频下载工具将成为您的得力助手,让您轻松畅享最新、最热的视频内容。 【多功能实用】 无论是批量视频提取还是固定视频下载,这款工具都能满足您的需求。通过输入进行

    2024年04月09日
    浏览(90)
  • ESP32-CAM视频传输至公网服务器并转发视频数据流

            有关esp32-cam目前大多数文章都是在写如何在内网(同一网络环境下)的视频传输, 即便是传输服务器上, 视频图像也只是显示在服务器中, 无法将视频数据流再转发到客户端. 先介绍一下大致思路, 很简单, esp32-cam把数据流发送到公网服务器, 服务器将数据原样透传给用

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包