本文精选自《广播与电视技术》2025第10期,阅读原文请访问“广电猎酷”小程序“”。
互联网和视音频技术的不断迭代更新,以及微信、抖音和小红书等社交网络的崛起,使得音视频等海量数据信息不断涌现。即使对上述信息采用了数据压缩技术,其数据量仍然非常庞大。流媒体技术的广泛应用使人们更容易获取音视频数据,但是这也对抖动时延有着较高要求,而且目前多种传输协议的应用也造成了相对不统一。本文在对当前主流视音频网络传输技术研究的基础上,通过不同协议的互操作性,实现 UDP 、RTP 、HLS 和 SRT 多个协议的直接传输转换。
本文作者:
王红胜,曹凯,吴鹏,徐超
国家广播电视总局广播电视科学研究院
第一作者简介:
王红胜,男, 1986年10月,毕业于中国传媒大学,硕士学位,国家广播电视总局广播电视科学研究院高级工程师。主要从事广播电视、网络视听、软件系统和 信息安全等方面的技术研究与测试。
NO.1
音视频数据和传输协议
1.1音视频数据
信息的基本构成单元包括音频数据、视频数据和元数据,原始数据经过编码压缩,可以提高传输效率。音视频封装是将已经编码压缩好的视频流、音频流以及字幕按照一定的方式放到一个文件中,封装格式不会影响音视频的质量[1] 。音视频数据需要通过流媒体传输协议在互联网上进行传输,目前主流的媒体传输协议有基于RTSP/RTP的实时流媒体协议和基于HTTP的渐进下载流媒体网络传输协议,前者是建立在UDP协议上的,后者主要包括 HLS 协议、SRT协议等流媒体传输的实现,一般采用 HTTP/TCP来传输控制信息,用RTP/UDP来传输实时多媒体数据。
1.2传输协议
1.用户数据报协议(UDP,User Datagram Protocol)属于传输层协议,不同于 TCP 多数应用在可靠性传输和要求精度高的应用场景,UDP 是一种无连接的、不可靠的数据传输协议,但是其实时性比较好,传输效率也比较高,适用于对实时性要求比较高、少量丢包不敏感的场景。
2.实时传输协议(RTP,Real-time Transport Protocol)用来为网上的音频、视频等多种需要实时传输的多媒体数据提供端到端的实时传输服务,并对互联网上传输音视频的数据包格式进行详细说明,该协议是创建在 UDP 协议上的,由头部和负载两个部分组成。
3.基于 HTTP的自适应码率流媒体传输协议(HLS,HTTP live streaming)是Apple的一种动态码率自适应技术,主要用于 PC 和 Apple 终端的音视频服务。它的工作原理是把整个流分成一个个小的基于 HTTP的文件来下载,开始流媒体会话时,下载一个包含元数据的 M3U8 播放列表文件用于寻找可用的媒体流。该协议只请求基本的 HTTP报文,由于其可以穿过任何允许 HTTP数据通过的防火墙或代理服务器,故多使用CDN 来传输媒体流。
4.安全可靠传输协议(SRT,Secure Reliable Transport)使用 AES 进行数据加密,运用 FEC 进行前向纠错,并且有流量控制、拥塞控制。SRT 有三种模式,分别是 Caller、Listener和 rendezvous 模式。由于其低延时和安全可靠的特性,在直播、多流、视频编码、网关等网络领域得到越来越多的应用,同时该协议与编解码器无关,可支持任何多类音视频编解码器。
NO.2
多协议IP网络音视频传输系统设计
2.1系统流程设计
基于多协议的 IP 网络音视频传输系统流程图如图 1 所示, 信号源主要包括两个部分,分别是本地音视频文件和通过 IP 方式传输的实时音视频码流文件,该传输系统通过对码流文件进行 UDP、RTP、HLS 或 SRT 协议转换后,实现数据的重新封装,通过 IP 方式再次输出该码流,输出的码流可以实现码流分析,或者通过转码/解码工具的分析解码,最终实现终端呈现。系统可以适配支持UDP、RTP、HLS或SRT等多种传输协议。
![]()
图1 系统流程图
2.2数据流程设计
基于多协议的 IP 网络音视频传输系统数据流程图如图 2 所示,对于本地和通过 IP 方式传输的两种不同来源的码流文件,分别进行文件解析和网络解析,对其中的音视频数据进行提取,可以根据需要改变音频和视频数据的编码方式,对码流进行解码之后再次按照需求进行编码,或者在不改变其码流编码方式的前提下,进入数据处理通道,针对不同的传输协议,进行不同方式的协议封装,HLS 协议采用 M3U8 封装格式通过HTTP 服务器进行传输,对 TS 格式封装的码流通过 UDP、RTP 和 SRT 协议直接进行传输。
![]()
图2 数据流程图
2.3技术架构设计
基于多协议的 IP 网络音视频传输系统技术架构图如图 3 所示,将该软件系统定义为 MediaTrans ,通过软件的配置模块和播放模块来实现用户的界面交互,协议模块和网络基础模块是实现协议相互转换的关键模块,主要通过 ASIO 高性能网络库和 C++ 封装库,系统整体上以 C++ 作为开发语言,同时界面框架采用 QT 框架,实现最终码流信号的稳定输出。
![]()
图3 技术架构图
2.4模块结构设计
基于多协议的 IP 网络音视频传输系统模块结构图如图 4 所示,输入模块主要实现文件或者网络输入源的定位解析,重编码模块实现程序的再次转换,输出模块实现各种输出协议,上述三个模块形成主要类,完成软件系统中输入源和输出协议部分;同时叠加播放预览模块和配置方案加载模块,进而实现软件系统的整体运行需求。
![]()
图4 模块结构图
2.5类图模块设计
基于多协议的 IP 网络音视频传输系统主要服务类图和输出协议类图如图5和图6所示。主要服务类图包括本地文件和网络文件读取、音视频编码和数据封装,输出协议类图主要是此次系统所用到的 UDP、RTP 、HLS 和 SRT 协议。
![]()
图5 主要服务类图
![]()
图6 输出协议类图
NO.3
多协议IP网络音视频传输系统实现
基于多协议的 IP 网络音视频传输系统是为音视频流通过多种网络协议进行发送和传输而定义的,可实现 UDP 、RTP、 SRT 和 HLS 等多种协议在内的码流传输和发送。系统主页面如图 7 所示。页面整体分为四个部分,分别是信号源方案配置、输入源管理、输出协议管理、当前输入源。页面可以实现对视音频流从输入到输出的全流程管理,直观显示当前的视音频流和传输通道实时状态。
![]()
图7 系统主页面
3.1方案配置管理
系统支持对信号源的方案进行编辑配置,如图8 所示。支持加载已有的方案,对当前方案的参数保存或添加为新方案,也支持删除方案。
![]()
图8 信号源方案配置
3.2输入源管理
支持对信号的输入源进行管理,软件的信源可按照需求选择本地文件或者通过 UDP 协议实时传送的流,如图 9 所示。
![]()
图9 本地文件添加
3.3输出协议管理
支持输出协议的管理,输出协议的添加、删除和编辑,可选择 UDP 协议、RTP 协议、SRT 协议和 HLS 协议,可以设置相应协议的 IP 地址和端口,如图 10 所示。
![]()
图10 输出协议选择
3.4当前输入源管理
软件可以实现输入信源的类型、时长、码率、视频参数和音频参数等信息的显示,能够对当前输入的信源进行播放显示和声音的开/关选择;同时还可以实现对输出协议的管理配置,对输出码流的码率、帧率和模式等转码参数的选择。 软件还可以对当前码流输出通路的状态进行显示,如图 11 所示。
![]()
图11 当前视音频参数
NO.4
未来展望
视音频内容是人们获取信息的主要途径,流媒体技术、 Web3.0 和去中心化的互联网也为用户提供了广泛的可访问性,在短视频爆炸式增长的今天,抖音、今日头条和小红书等短视频网站已经成为流量的源泉。基于多协议的 IP 网络音视频传输系统的应用实现,为未来融合媒体发展中的传输协议适配提供了探索方向。
end
![]()
参考文献
[1] 王红胜, 雷兴国, 曹凯. IP音视频数据传输流质量评价方法研究[J]. 广播与电视技术, 2022, 49(12): 45-48.
[2] Information technology - Generic coding of moving pictures and associated audio information: Systems: ISO/IEC13818-1: 2007[S] . International Organization for Standardization[iso], 2007.
[3] 葛宝尧. 基于SRT协议的流媒体传输系统的研究与实现[D]. 西安: 西安电子科技大学, 2021.
《广播与电视技术》、“广电猎酷”广告经营与商务合作代理:
北京中广信通文化传媒有限公司
联系人:李聪
联系电话:18518221868
好文共赏请转发 有话要说请留言
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.