流媒体信源模拟方法及装置与流程

未命名 10-18 阅读:148 评论:0


1.本发明属于流媒体技术领域,具体涉及一种流媒体信源模拟方法及装置。


背景技术:

2.当前,随着流媒体视频技术的快速发展,流媒体视频处理技术在视频直播领域中扮演着越来越重要的角色。而对流媒体处理系统测试中很重要的一点是验证流媒体处理系统对不同流媒体信源的兼容性、稳定性。因此,测试过程需要获取不同的参数、协议类型以及存在网络环境损伤的流媒体信源。
3.现有解决方案通常是搭建各种不同类型的流媒体服务以支持不同的协议,并使用客户端推流。然而,在环境搭建和配置方面存在许多不便。此外,还需要额外的网络模拟器,用来模拟真实互联网环境下的各种传输情况,如网络延迟、丢包和乱序等。因此,现有方案中需要使用多个独立设备来完成各个任务,增加了复杂性和成本。


技术实现要素:

4.鉴于以上存在的问题,本发明提供一种流媒体信源模拟方法及装置,用于提供更全面的流媒体测试信源,满足不同场景的需求,并能够模拟真实互联网环境下的各种传输情况。
5.为解决上述技术问题,本发明采用如下的技术方案:
6.本发明实施例一方面提供一种流媒体信源模拟方法,包括以下步骤:
7.在全流程控制器中配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;
8.在全流程控制器中配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;
9.在全流程控制器中配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;
10.配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源。
11.一种可能的实现方式中,设置全流程控制器提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制。
12.一种可能的实现方式中,进一步包括:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控制。
13.一种可能的实现方式中,配置流媒体服务包括:通过修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视
频流数据,将输入转换为不同协议的输出。
14.一种可能的实现方式中,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。
15.本发明实施例又一方面提供一种流媒体信源模拟装置,包括全流程控制器、推流端、流媒体服务和网络模拟器,
16.全流程控制器用于配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;
17.全流程控制器用于配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;
18.全流程控制器用于配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;
19.配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源。
20.一种可能的实现方式中,全流程控制器用于提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制。
21.一种可能的实现方式中,进一步包括:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控制。
22.一种可能的实现方式中,配置流媒体服务包括:通过修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,将输入转换为不同协议的输出。
23.一种可能的实现方式中,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。
24.采用本发明具有如下的有益效果:
25.(1)可以提供灵活的参数设置:用户可以灵活地设置测试参数,包括推流端的转码参数、输出协议和流媒体服务的配置,以满足不同场景和需求的直播测试。
26.(2)可以提供灵活的流媒体信源模拟:本发明技术方案中的网络模拟器,使用软件方式替待一般的网络损伤仪,能够匹配到单个流媒体流量,并模拟各种网络条件,包括高延迟、低带宽、丢包等。
27.(3)可以降低测试成本和复杂性:本发明技术方案中将推流端、流媒体服务和网络模拟器集成到一个系统中,减少了所需的设备和工具的数量,降低了测试成本和复杂性。
附图说明
28.图1为本发明实施例的流媒体信源模拟方法的步骤流程图;
29.图2为本发明实施例的流媒体信源模拟装置的原理框图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.参见图1,所示为本发明实施例的一种流媒体信源模拟方法的步骤流程图,包括以下步骤:
32.s10,在全流程控制器中配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;
33.s20,在全流程控制器中配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;
34.s30,在全流程控制器中配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;
35.s40,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源,以用于下游流媒体处理系统的测试。
36.本发明一实施例中,设置全流程控制器提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制,具体实现可以采用通用的前后台方式实现。其提供的主要功能有:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控。
37.本发明一实施例中,配置流媒体服务包括:通过修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,将输入转换为不同协议的输出。以选择流媒体服务器软件(例如srs)作为示例。可以通过修改其文件设置协议类型、流媒体传输参数和输出路径等。配置完成后,流媒体服务准备好接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出。如可以配置为推流端推送srt协议直播流,流媒体相应输出对应的rtmp、httpflv、hls、srt等协议,更具体地,当流媒体接收到url为:
38.srt://127.0.0.1:10080?streamid=#!::r=live/sports,m=publish的流媒体信源时,经过处理后输出对应的其他协议的流媒体,假设流媒体服务地址为192.168.1.100,则其他设备可以获取到以下流媒体信源:
39.rtmp:rtmp://192.168.1.100:1935/live/sports
40.httpflv:rtmp://192.168.1.100:1936/live/sports.flv
41.hls:http://192.168.1.100:8080/live/sports.m3u8
42.srt:srt://192.168.1.100:10080?streamid=#!::r=live/sports,m=request。
43.本发明一实施例中,配置推流端参数过程可具体包括:
44.输入设置:用户可以选择从本地的视频素材文件列表中,选择一个作为输入视频源;
45.视频处理参数:可以设置视频处理参数为透传或编码,当选择编码时,用户可以进一步选择视频编码器、音频编码器,其中视频编码参数一般包含输出分辨率、视频码率,音频编码参数一般包含音频码率,采样率等。
46.输出设置:设置输出协议和url等参数。
47.假设要推送一个srt协议的信源,转码编码器为h264,参数为分辨率1920x1080,视频码率为3mbps,音频编码方式保持和源一样。则可以使用如下命令达到效果:
48.ffmpeg-re-stream_loop-1-i/home/sources/sports.ts-c:vlibx264-s1920x1080-b:v3m-c:acopy-fmpegts
49.'srt://192.168.1.100:10080?streamid=#!::r=live/livestream,m=publish'
50.启动推流后,流媒体服务即可提供不同协议的流媒体信源。
51.本发明一实施例中,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。为了更加灵活地筛选根据路由进行筛选,可以将后端流媒体处理系统的ip在网络模拟器中进行设置。假设后端流媒体处理系统的ip为192.168.1.200,且要测试的流媒体协议url为rtmp://192.168.1.100:1935/live/sports,则可知流媒体信源流量的匹配方式为目标地址为192.168.1.200端口为1935。
52.基于此信息,如果想要模拟网络带宽为5m,延迟100ms,丢包率5%,则可以使用linux服务器的tc进行具体的网络模拟,具体如下:
53.#创建一个根类别,并设置总带宽限制为5mbps
54.tcqdiscadddeveth0roothandle1:htbdefault10
55.tcclassadddeveth0parent1:classid1:1htbrate5mbitceil5mbit
56.#添加一个延迟和丢包的队列规则
57.tcqdiscadddeveth0parent1:1handle10:netemdelay100msloss5%
58.#创建一个过滤器匹配目标ip和端口,并将流量重定向到队列10中
59.tcfilteradddeveth0parent1:protocolipprio1u32matchipdst
60.192.168.1.200matchipdport19350xffffflowid1:1
61.以上设置完成后,就可以用192.168.1.200的流媒体处理系统上获得一个流媒体模拟信源,其url地址为rtmp://192.168.1.100:1935/live/sports,视频参数为编码器为h264,参数为分辨率1920x1080,视频码率为3mbps。网络模拟设置为:网络带宽为5m,延迟100ms,丢包率5%。
62.以上设置的流媒体信源模拟方法可以提供方便、逼真的流媒体信号模拟,能模拟各种真实网络环境下的传输情况,包括网络延迟、带宽限制、丢包率和乱序等。通过使用流媒体服务器和推流端的结合,能够实现快速、高效的直播测试,节省了手动设置和搭建测试环境的时间和工作量。同时提供了用户友好的界面和配置选项,使用户可以方便地设置推流参数、流媒体服务器配置和网络模拟器参数,以满足不同测试需求。
63.与本发明方法实施例对应的,参见图2,本发明同时提供了一种流媒体信源模拟装置,包括全流程控制器、推流端、流媒体服务和网络模拟器,其中全流程控制器用于配置推
流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;全流程控制器用于配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;全流程控制器用于配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源,以用于下游流媒体处理系统的测试。
64.本发明一实施例中,全流程控制器用于提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制,具体实现可以采用通用的前后台方式实现。其提供的主要功能有:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控制。
65.本发明一实施例中,配置流媒体服务包括:通过修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,将输入转换为不同协议的输出。以选择流媒体服务器软件(例如srs)作为示例。可以通过修改其文件设置协议类型、流媒体传输参数和输出路径等。配置完成后,流媒体服务准备好接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出。如可以配置为推流端推送srt协议直播流,流媒体相应输出对应的rtmp、httpflv、hls、srt等协议,更具体地,当流媒体接收到url为:
66.srt://127.0.0.1:10080?streamid=#!::r=live/sports,m=publish的流媒体信源时,经过处理后输出对应的其他协议的流媒体,假设流媒体服务地址为192.168.1.100,则其他设备可以获取到以下流媒体信源:
67.rtmp:rtmp://192.168.1.100:1935/live/sports
68.httpflv:rtmp://192.168.1.100:1936/live/sports.flv
69.hls:http://192.168.1.100:8080/live/sports.m3u8
70.srt:srt://192.168.1.100:10080?streamid=#!::r=live/sports,m=request。
71.本发明一实施例中,配置推流端参数过程可具体包括:
72.输入设置:用户可以选择从本地的视频素材文件列表中,选择一个作为输入视频源;
73.视频处理参数:可以设置视频处理参数为透传或编码,当选择编码时,用户可以进一步选择视频编码器、音频编码器,其中视频编码参数一般包含输出分辨率、视频码率,音频编码参数一般包含音频码率,采样率等。
74.输出设置:设置输出协议和url等参数。
75.假设要推送一个srt协议的信源,转码编码器为h264,参数为分辨率1920x1080,视频码率为3mbps,音频编码方式保持和源一样。则可以使用如下命令达到效果:
76.ffmpeg-re-stream_loop-1-i/home/sources/sports.ts-c:vlibx264-s1920x1080-b:v3m-c:acopy-fmpegts
77.'srt://192.168.1.100:10080?streamid=#!::r=live/livestream,m=publish'
78.启动推流后,流媒体服务即可提供不同协议的流媒体信源。
79.本发明一实施例中,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。为了更加灵活地筛选根据路由进行筛选,可以将后端流媒体处理系统的ip在网络模拟器中进行设置。假设后端流媒体处理系统的ip为192.168.1.200,且要测试的流媒体协议url为rtmp://192.168.1.100:1935/live/sports,则可知流媒体信源流量的匹配方式为目标地址为192.168.1.200端口为1935。
80.基于此信息,如果想要模拟网络带宽为5m,延迟100ms,丢包率5%,则可以使用linux服务器的tc进行具体的网络模拟,具体如下:
81.#创建一个根类别,并设置总带宽限制为5mbps
82.tcqdiscadddeveth0roothandle1:htbdefault10
83.tcclassadddeveth0parent1:classid1:1htbrate5mbitceil5mbit
84.#添加一个延迟和丢包的队列规则
85.tcqdiscadddeveth0parent1:1handle10:netemdelay100msloss5%
86.#创建一个过滤器匹配目标ip和端口,并将流量重定向到队列10中
87.tcfilteradddeveth0parent1:protocolipprio1u32matchipdst
88.192.168.1.200matchipdport19350xffffflowid1:1
89.以上设置完成后,就可以用192.168.1.200的流媒体处理系统上获得一个流媒体模拟信源,其url地址为rtmp://192.168.1.100:1935/live/sports,视频参数为编码器为h264,参数为分辨率1920x1080,视频码率为3mbps。网络模拟设置为:网络带宽为5m,延迟100ms,丢包率5%。
90.通过以上设置的流媒体信源模拟装置,推流端将视频流推送到流媒体服务。推流端具有灵活的参数设置,包括转码参数、输出协议等,以满足不同场景和需求的直播测试。流媒体服务接收推流端传输的视频流,并提供流媒体传输功能。流媒体服务可根据用户设置的配置进行操作,如开启的转封装协议。网络模拟器匹配待模拟的流媒体流量,模拟真实互联网环境中的网络条件。网络模拟器可以模拟网络延迟、丢包、乱序等情况。全流程控制器提供一个易用的用户操作界面,对以上三个模块进行配置管理,以及全流程的任务控制。可以提供方便、逼真的流媒体信号模拟,能模拟各种真实网络环境下的传输情况,包括网络延迟、带宽限制、丢包率和乱序等。通过使用流媒体服务器和推流端的结合,能够实现快速、高效的直播测试,节省了手动设置和搭建测试环境的时间和工作量。同时提供了用户友好的界面和配置选项,使用户可以方便地设置推流参数、流媒体服务器配置和网络模拟器参数,以满足不同测试需求。
91.应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

技术特征:
1.一种流媒体信源模拟方法,其特征在于,包括以下步骤:在全流程控制器中配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;在全流程控制器中配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;在全流程控制器中配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源。2.如权利要求1所述的流媒体信源模拟方法,其特征在于,设置全流程控制器提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制。3.如权利要求2所述的流媒体信源模拟方法,其特征在于,进一步包括:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控制。4.如权利要求1所述的流媒体信源模拟方法,其特征在于,配置流媒体服务包括:通过修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,将输入转换为不同协议的输出。5.如权利要求1所述的流媒体信源模拟方法,其特征在于,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。6.一种流媒体信源模拟装置,其特征在于,包括全流程控制器、推流端、流媒体服务和网络模拟器,全流程控制器用于配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;全流程控制器用于配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;全流程控制器用于配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;如果需要调整流媒体模拟信源的参数,在全流程控制器中对流媒体服务、推流端参数、网络模拟器参数进行配置修改,重新启动相应模块即可,通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源。7.如权利要求6所述的流媒体信源模拟装置,其特征在于,全流程控制器用于提供web页面,对流媒体服务、推流端和网络模拟器进行配置修改和控制。8.如权利要求7所述的流媒体信源模拟装置,其特征在于,进一步包括:在web页面进行流媒体服务的配置,对流媒体服务进行启停控制;在web页面进行推流参数的配置,对推流端程序进行启停控制;在web页面进行网络模拟器的配置,对网络模拟器进行启停控制。9.如权利要求6所述的流媒体信源模拟装置,其特征在于,配置流媒体服务包括:通过
修改包括文件设置协议类型、流媒体传输参数和输出路径的参数,配置完成后,流媒体服务接收并处理推流端传来的视频流数据,将输入转换为不同协议的输出。10.如权利要求6所述的流媒体信源模拟装置,其特征在于,网络模拟参数包括模拟网络延迟、丢包和乱序中的至少一种。

技术总结
本发明公开了一种流媒体信源模拟方法及装置,其中,方法包括以下步骤:在全流程控制器中配置推流端参数,根据需求设置推流端的参数,配置完成后启动推流端进行推流;在全流程控制器中配置流媒体服务,接收推流端传输的视频流,并将一种协议转换成多种其他协议,配置完成后启动流媒体服务;在全流程控制器中配置网络模拟器,选择需要进行模拟的流媒体信源地址,设置网络模拟参数,配置完成后启动网络模拟器;配置完成后,流媒体服务接收并处理推流端传来的视频流数据,以便将输入转换为不同协议的输出;通过改变设置得到由不同视频素材,不同编码方式及封装协议,以及经过网络损伤模拟的流媒体信源。拟的流媒体信源。拟的流媒体信源。


技术研发人员:汪鹏 金煜烜 卜欣冉 段美玲
受保护的技术使用者:杭州当虹科技股份有限公司
技术研发日:2023.06.13
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐