CN111064973A - 一种基于ipv9的直播系统 - Google Patents
一种基于ipv9的直播系统 Download PDFInfo
- Publication number
- CN111064973A CN111064973A CN201911192298.XA CN201911192298A CN111064973A CN 111064973 A CN111064973 A CN 111064973A CN 201911192298 A CN201911192298 A CN 201911192298A CN 111064973 A CN111064973 A CN 111064973A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- server
- live broadcast
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004806 packaging method and process Methods 0.000 claims abstract description 17
- 238000009826 distribution Methods 0.000 claims abstract description 4
- 238000007781 pre-processing Methods 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 20
- 238000013461 design Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 241001501942 Suricata suricatta Species 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 244000269722 Thea sinensis Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于IPV9的直播系统,包括音视频采集模块:实现对主播的PC端的音视频信息采集、实时编码,然后通过流媒体协议把音视频流推送到服务器。服务器模块:接收主播推送的音视频信息,把音视频信息转码切片成TS格式以用于HLS协议拉流。网页播放器模块:用户通过浏览器访问服务器上的网页资源,然后在网页上选择想要观看的正在直播的主播的直播间,进入直播间会自动播放主播的实时视频。推流端:主要通过摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到CDN进行分发。因此,本发明充分发挥了HTML5原生播放环境在多媒体播放上的硬件加速能力,从而极大提升播放性能。
Description
技术领域
本发明涉及一种基于IPV9的直播系统,属于计算机技术领域。
背景技术
随着通信技术和电子设备制造业的迅速发展,移动端的设备从开始的功能简单的,只能语音通话、发送短信息、发送图片的非智能手机,已经发展到现在的功能非常强大,内容非常丰富的智能手机。智能手机的发展又极大地推动着移动互联网的迅速发展,而移动互联网上的丰富的内容和信息正改变着人们传统的生活方式和通讯方式。人们在满足基本的通讯需求之后,开始追求更方便的生活服务和更个性化的社交及娱乐方式。视频直播正是一种实时互动的社交及娱乐的方式。直播并不是个新鲜的玩意,从更加广泛的角度来看,直播已经有了很久的历史了,只是在不同的时代展示形式不同。古时的戏园茶园也可以算作是直播的范围。到了现代,借助于通讯技术和互联网的发展,人们观看直播的方式多了电视和电脑。近些年,智能手机和移动互联网的发展,让人们基本可以随时随地的观看到自己想看的直播。经过这么多年的发展,特别是最近几年,直播的内容也增多了。最开的电视直播主要是新闻直播和体育赛事的直播,这时直播的门槛还比较高。到了互联网时代,主播有一台电脑就可以开始直播,内容也多是唱歌跳舞,后来由于游戏和电竞的发展又增加了游戏直播内容。近些年随着移动互联网的发展,和3G、4G通信技术的普及,似乎已经发展到了全民“随时随走随播随看”,这时的直播行业已经覆盖到了大部分的人,各种人群都有。
在未来,图片、音频、视频等多媒体业务将还会有较大的增大。在将来,企业的日常办公,线上远程教育,政府部门直播,电商营销直播等会有较大的发展。如何解决在这些应用场景中的问题,以及提高直播视频的质量,降低直播的时延,提高直播的交互性等,这些研究都具有重要的实践意义。
视频直播按照传播方式可以分为两大类:电视直播和网络直播。电视直播最早可以追溯到20世纪50年代的第一次成功的篮球比赛。在这之后电视直播也多用于各种体育赛事的直播、实时新闻的的直播和大型晚会的直播。网络直播的发展时间较短,20世纪90年代的中期中国正式接入互联网,这时互联网上的的网络聊天室可以算是前网络直播阶段。2008年前后,欢聚时代推出的YY语音聊天、刘岩创立的六房间、傅政军的9158等各种秀场直播可以算是互联网时代网络视频直播的雏形。最近的2015年可以算是中国网络直播元年,在2015 年左右国内的上线大量了直播平台,如映客、虎牙、斗鱼、熊猫等。据统计2015国内的网络直播平台达到了200多家,这时视频直播已经由PC端走向了移动端,进入移动互联网时代的直播阶段。
在2015年诞生的各种直播平台其实是借鉴同时期的国外的直播平台,比如Periscope和 Meerkat。国外流行的视频直播平台还有YouTube Live,Twitch,Livestream,afreecaTV等。
对于一家直播平台来说,想要吸引并留住观众,除了要有能满足各种观众的丰富的内容外,还需要有过硬的技术支撑。“不卡顿不掉线低延迟”应该是一个直播平台最低的要求。要满足上述要求,这其中涉及的关键技术有:一是音视频的编解码及压缩和解压缩方案;二是直播系统的服务器性能;三是流媒体传输协议。
音视频的编码及压缩的标准主要是由ITU-T(ITU TelecommunicationStandardization Sector,国际电信联盟电信标准分局)和ISO(InternationalOrganization for Standardization,国际标准化组织)这两个组织制定的。从1984年的H.120到2003年的H.264/MPEG-4AVC (Advanced Video Coding,高级视频编码)。H.264之前的H.263也是主要应用于视频通话和视频会议方面,虽然H.263和H.264都采用的是DTC(Discrete Cosine Transform,离散余弦变换)和DPCM(Differential Pulse CodeModulation,差分脉冲编码调制)混合的编码结构,但是H.264相比于H.263有更大的优势,H.264标准不仅在图像内容预测方面提高了编码效率、改善图像质量,还增加了容错能力和网络适应能力。H.264标准性能的提高是以其复杂度为代价的,所以H.264编解码对CPU的处理能力要求更高。相关专家们也在为下一代的视频编解码标准H.265研究技术方案。
直播系统的服务器性能决定着一个直播平台能否长久存在的关键因素之一。对于直播服务器的要求是:带宽充足、延迟低、存储能力充足、具有故障转移功能。服务器是一种CPU 运算速度更快、负载能力更高、稳定运行时间更长、数据吞吐能力更强的计算机。世界上第一台服务器是1964年,IBM开发的System 360大型机,运算速度快,价格贵。此后随着集成电路技术、单晶硅电路技术等多种技术的发展和应用。服务器的体积越来越小,运算性能越来越强价格也越来越低,而且应用于不同场景、满足不同需求的服务器产品被开放出来并推向市场。服务器的硬件是一个服务器系统的基础,服务器软件也是决定服务器系统性能的关键。流媒体服务器是是应用于直播场景的服务器,目前有很多的流媒体服务器软件,有收费的、有开源的。
较为主流的流媒体服务器开源软件有:Red5、live555、FMS(Flash MediaServer)、NGINX 的流媒体插件nginx-rtmp-module等。它们支持的视频文件格式、流媒体传输协议不一样,服务器的性能和应用场景不一样。
比如,Red5支持把MP4、FLV、3GP等格式的视频文件转换成视频流,MP3、AAC等格式的音频文件转成成音频流。其支持RTMP,RTMPT,RTMPS和RTMPE传输协议,具有在线录制,在线聊天,视频会议等基本功能。
优点:完全开源,几乎实现FMS所有功能。比较适合一些小型网站使用。
缺点:基本java的开源流媒体服务器red5.性能较差,稳定性不够,距离稳定、大容量的商业化应用尚有一定的差距。
Live 555是一个跨平台的流媒体解决方案,使用C++发开的开源项目。Live 555支持 mkv,mpg,ogg,mp3和wav等格式的流化。Live 555主要支持RTSP传输协议。
NGINX是一款高性能的HTTP和反向代理服务器,同时也是一IMAP/POP3/SMTP代理服务器。Nginx有着高并发、性能好和占用内存少等特点,而且安装简单,配置文件简单,容易启动。其作为流媒体服务器主要是依赖于NRM(Nginx-rtmp-module)。
优点:部署方便,性能较好,http渐进式下载,支持进度拖拽、防盗链等功能
缺点:不算真正的流媒体服务器,伪流媒体服务器。
Adobe的FMS是流视频和实时通信领域业界领先的解决方案,该产品可以快速搭建起一套流媒体直播、点播服务器。FMS支持的MP4\FLV\F4V\MPEG-TS文件,支持HTTP,RTMP,HLS传输协议。借助于Adobe Flash Player在网络上应用的广泛性,因此,FMS成为诸多多媒体应用的服务器端主要应用平台。
优点:专业厂商产品,性能优良、稳定。多平台支持。借助最新的flash player可以实现 P2P通信。
缺点:是一个商业版本,费用比较贵。
流媒体传输协议。推流基本使用RTMP协议,而拉流播放时CDN会根据不同的用户客户端,通过不同的协议传输数据比如:HLS、RTMP、RTSP等。
HLS(HTTP Live Streaming)是苹果公司开发的标准。HLS是苹果公司最初为iPhone、iPad、 iPod、iTouch等移动设备而开发的流媒体传输协议,为苹果公司的移动设备提供音视频直播和点播方案。因为HLS协议是基于HTTP的,所以HLS继承了HTTP的许多优点。HLS请求使用HTTP传输,所以可以穿过任何允许HTTP数据通过的防火墙或代理服务器,并且允许在网络环境变化时自动切换流。而HTTP允许用户使用普通的Web服务器轻松的将媒体内容部署到流中,而不需要专门的流媒体服务器。因此也可以使用基于HTTP的CDN(ContentDelivery Network,内容分发网络)来传输媒体流。HLS还支持关闭字幕,快速转发,反向播放,备用音视频,插入广告,以及内容保护等功能。
HLS的优势是有代价的,HLS也有一个较大的劣势:HLS直播的视频流延迟较高,一般在10秒以上。如果参数配置不妥当,延时会达到30秒以上,所以对于实时性和互动性要求高的直播场景一般不建议使用HLS。
因为HLS协议在服务器端把一个实时视频在不同的比特率,分辨率和质量级别上创建多个版本的音视频。然后把这多个版本的音视频分割成一系列的文件,这些小文件被称为媒体段。同时会在服务器端为每个版本的音视频创建一个媒体播放列表文件。这些媒体播放列表会保存在M3U格式的文本文件中。然后客户端根据媒体播放列表不断的下载媒体端播放,就实现了直播。
发明内容
本发明采用如下技术方案:
一种基于IPV9的直播系统,其特征在于,包括:
音视频采集模块:实现对主播的PC端的音视频信息采集、实时编码,然后通过流媒体协议把音视频流推送到服务器。
服务器模块:接收主播推送的音视频信息,把音视频信息转码切片成TS格式以用于HLS 协议拉流。
网页播放器模块:用户通过浏览器访问服务器上的网页资源,然后在网页上选择想要观看的正在直播的主播的直播间,进入直播间会自动播放主播的实时视频。
推流端:主要通过摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到CDN进行分发。
在上述的一种基于IPV9的直播系统,服务器模块包括:
Nginx核心模块:提供Nginx最基本的核心服务,包括进程管理、权限控制、错误日志记录、配置文件解析、事件驱动机制、进程管理。
Nginx-rtmp-module模块:Nginx-rtmp-module模块是Nginx的第三方模块,是一个基于 Nginx的流媒体服务器,Nginx-rtmp-module模块用于接收推流端推送的流媒体,并把流媒体分割成TS文件,支持播放端HLS拉流。
Swoole模块:用于实现客户端和服务器之间建立websocket长连接,进而实现弹幕消息的发送和接收。
cpolar模块:用于将直播系统的网站公布到互联网上。
在上述的一种基于IPV9的直播系统,推流端包括:
音频采集:通过读取主播电脑的声卡,获取主播声卡的音频采样数据。音频采样数据一般为PCM编码后的数据。
视频采集:通过读取主播电脑的摄像头,采集主播摄像头的像素数据。视频像素数据一般为YUV格式的数据。
音频编码:把音频采样数据压缩成为音频码流,从而降低音频的数据量。本系统的推流端中采用的是AAC编码,可以将音频数据压缩10倍以上。
视频编码:把采集到视频像素数据压缩成为视频码流,从而降低视频的数据量。本系统的推流端中采用的是h.264编码,可以将图像数据压缩100倍以上。
音视频封装:把AAC编码的音频码流和h.264编码的视频码流按照一定的格式封装。本直播系统的推流端中采用的是FLV封装格式,FLV格式包含头文件,数据由大小不固定的Tag 构成。
音视频推流:本直播系统的推流采用RTMP协议,把音视频封装后的存储路径改为流媒体服务器的地址即可。FFmpeg会直接把封装的音视频推送到流媒体服务器,需要流媒体服务器支持RTMP协议推流。
视频预览:把采集到视频像素数据预览在电脑屏幕上,以便于主播实时了解推流的视频信息。
在上述的一种基于IPV9的直播系统,网页播放器模块是一个基于HTML5的网页播放器,包括前端显示模块和后台控制模块;
前端显示模块包括:
视频播放区:用于播放从服务器获取的实时音视频流。
弹幕显示区:用于显示直播间观众发送的实时弹幕。
用户控制区:用于用户控制播放、暂停、全屏观看以及弹幕的显示与关闭,
后台控制模块包括:
视频播放与控制模块:采用HTML5播放视频的标准,video标签。video标签自带的播放控件中有播放、停止、全屏播放、音量控制、进度条等功能。
弹幕输入与控制模块:采用CSS和JavaScript设计。其中CSS用于控制弹幕的样式,例如颜色和字体大小等。JavaScript用于控制弹幕随机显示的位置。
向服务器发送或接收服务器弹幕信息模块::采用JavaScript建立客户端与服务器的 websocket连接,用于向服务器发送弹幕信息和从服务器接收弹幕信息。
因此,本发明具有如下优点:1)直播的视频流延迟低;2)采用HTML5多媒体流式播放模型,充分发挥了HTML5原生播放环境在多媒体播放上的硬件加速能力,从而极大提升播放性能;3)CPU资源占比低且耗电量少,用户体验好。
附图说明
图1是直播系统架构图。
图2是服务端架构图。
图3是推流端结构图。
图4是网页播放器结构图。
图5-1是Nginx配置测试图。
图5-2是推流应用程序主界面图。
图5-3是服务器端的运行效果图。
图5-4是推流应用程序的主界面图。
图5-5是直播效果图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
1、系统架构。
一个完整的直播系统至少要包含三个部分,分别是直播视频源、直播视频的转发、直播视频的播放器。本系统的设计方案是基于前文所以提到的技术和工具来完成的。本系统能实现实时音视频的采集、音视频的实时推流,然后通过服务器分发音视频,最终让用户看到实时的直播。
整个直播系统由三个模块组成,分别是音视频采集模块、服务器模块、网页播放器模块。
(1)音视频采集模块:实现对主播的PC端的音视频信息采集、实时编码,然后通过流媒体协议把音视频流推送到服务器。
(2)服务器模块:接收主播推送的音视频信息,把音视频信息转码切片成TS格式以用于HLS协议拉流。
(3)网页播放器模块:用户通过浏览器访问服务器上的网页资源,然后在网页上选择想要观看的正在直播的主播的直播间,进入直播间会自动播放主播的实时视频。
2、服务器端架构。
服务器端采用Nginx提供HTTP服务,NRM提供流媒体服务,Swoole创建创建WebSocket 服务器实现客户端和服务器端的双向通信。cpolar内网穿透工具把直播系统的网站公开到互联网上。
服务器端由四个主要的模块组成:Nginx核心模块、Nginx-rtmp-module模块、Swoole模块和cpolar模块。
(1)Nginx核心模块:核心模块时Nginx服务器正常运行必不可少的模块,如同操作系统的内核。它提供了Nginx最基本的核心服务,例如进程管理、权限控制、错误日志记录等。 Nginx的标准HTTP模块支持标准的HTTP的功能。在本系统中,Nginx的核心模块用于处理客户端的HTTP请求。
(2)Nginx-rtmp-module模块:NRM模块是Nginx的第三方模块,是一个基于Nginx的流媒体服务器,在本系统中NRM用于接收推流端推送的流媒体,并把流媒体分割成TS文件,支持播放端HLS拉流。
(3)Swoole模块:用于实现客户端和服务器之间建立websocket长连接,进而实现弹幕消息的发送和接收。
(4)cpolar模块:用于将直播系统的网站公布到互联网上。
3、推流端架构
本直播系统推流端的设计基于FFmpeg和SDL。FFmpeg用于解决音频和视频的采集、编码、封装以及把音视频信息推流到服务器的问题。SDL用于解决推流端视频采集的预览问题。
推流端由七个模块组成:音频采集、视频采集、音频编码、视频编码、音视频封装、音视频推流以及视频预览。
(1)音频采集:通过读取主播电脑的声卡,获取主播声卡的音频采样数据。音频采样数据一般为PCM编码后的数据。
(2)视频采集:通过读取主播电脑的摄像头,采集主播摄像头的像素数据。视频像素数据一般为YUV格式的数据。
(3)音频编码:把音频采样数据压缩成为音频码流,从而降低音频的数据量。本系统的推流端中采用的是AAC编码,可以将音频数据压缩10倍以上。
(4)视频编码:把采集到视频像素数据压缩成为视频码流,从而降低视频的数据量。本系统的推流端中采用的是h.264编码,可以将图像数据压缩100倍以上。
(5)音视频封装:把AAC编码的音频码流和h.264编码的视频码流按照一定的格式封装。本直播系统的推流端中采用的是FLV封装格式,FLV格式包含头文件,数据由大小不固定的Tag构成。
(6)音视频推流:本直播系统的推流采用RTMP协议,把音视频封装后的存储路径改为流媒体服务器的地址即可。FFmpeg会直接把封装的音视频推送到流媒体服务器,需要流媒体服务器支持RTMP协议推流。
(7)视频预览:把采集到视频像素数据预览在电脑屏幕上,以便于主播实时了解推流的视频信息。
4、网页播放器架构
本系统的播放器采用基于HTML5的网页播放器。把网页播放器设计成为一个直播间直播间形式,分为三个功能区:视频播放区、弹幕显示区和用户控制区。
(1)视频播放区:用于播放从服务器获取的实时音视频流。
(2)弹幕显示区:用于显示直播间观众发送的实时弹幕。
(3)用户控制区:用于用户控制播放、暂停、全屏观看以及弹幕的显示与关闭。
根据直播间的功能需求,把网页播放器的设计分为三个模块。视频播放与控制模块、弹幕显示模块以及向服务器发送或接收服务器弹幕信息模块。
(1)视频播放与控制模块:采用HTML5播放视频的标准,video标签。video标签自带的播放控件中有播放、停止、全屏播放、音量控制、进度条等功能。
(2)弹幕输入与控制模块:采用CSS和JavaScript设计。其中CSS用于控制弹幕的样式,例如颜色和字体大小等。JavaScript用于控制弹幕随机显示的位置。
(3)向服务器发送或接收服务器弹幕信息模块::采用JavaScript建立客户端与服务器的websocket连接,用于向服务器发送弹幕信息和从服务器接收弹幕信息。
5、系统实现及测试
本章节将首先会分别对服务器端、推流端和播放端进行详细的设计并分别实现功能。最后一个小节会把服务器端、推流端和播放端连接起来进行直播系统联调。
5.1服务器端架构实现。
5.1.1 Nginx与NRM的安装和配置
Nginx可以在不同的操作系统、不同的环境中安装。本系统采用Linux发行版中的Ubuntu 18.04LTS操作系统。本小节实现在Ubuntu 18.04LTS上安装Nginx-1.14.2版本,并配置Nginx 服务器正常提供web服务。
(1)在安装Nginx之前,要先安装好Nginx需要的工具和库,例如gcc、gcc++、zlib、pcre、openssl。
(2)在Ubuntu终端(Terminal)输入如下命令即可:sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
(3)然后在命令行输入如下命令下载Nginx-1.14.2:wget http://nginx.org/download/nginx-1.14.2.tar.gz
(4)解压Nginx-1.14.2.tar.gz命令:tar-zxvf nginx-1.14.2.tar.gz
(5)编译安装Nginx命令:./configure和make&&sudo make install
(6)等待编译完成,并输出:make[1]:离开目录“/XXX/XXX/nginx-1.14.2”。表明Nginx 安装成功。接下来是配置Nginx提供HTTP服务,并用浏览器验证是否配置成功。
(7)进入Nginx的配置文件夹,用vim编辑器打开Nginx的默认配置文件——nginx.conf。然后输入如下配置,保存并退出。不需要重启Nginx,只需让Nginx重新加载配置文件,即可让Nginx按照配置文件运行。Nginx配置文件修改内容如表4-1所示。
表4-1 Nginx配置文件表
然后用浏览器打开“localhost”,浏览器打开的网页显示如图5-1所示,即表明Nginx的 HTTP服务配置正常。
然后让Nginx重新加载配置,即可让Nginx支持RTMP协议和HLS协议。接下来用OBS直播软件和VLC播放器测试Nginx是否支持RTMP推流和HLS拉流。
5.1.2 Swoole的安装与配置
因为Swoole是标准的PHP扩展,所以swoole的运行需要PHP的支持。首先安装PHP-FPM (PHP-fastCGI process manager),执行如下命令即可安装PHP-FPM:sudo aptinstall php-fpm php-mysql。然后需要修改一下php进程服务的扩展配置文件www.conf。让php-fpm监听 127.0.0.1:9000,配合Nginx使用。
配置完PHP之后,还需要修改Nginx的配置文件nginx.conf以让Nginx支持PHP。在需要支持PHP的server段内添加表4-3中的代码即可。
表4-3 Nginx支持PHP配置文件表
让Nginx重新加载nginx.conf配置文件,然后测试Nginx和PHP的配置是否正常。
5.2推流端的架构实现
在本文的第三章第三小节中已经提出了本直播系统中推流端的设计方案,并把整个推流端的设计方案分为七个小的模块。在本小节中将根据推流端的设计方案和推流端的结构图,利用FFmpeg开源库和SDL开源库使用C/C++开发一个MFC桌面应用程序。
5.2.1 FFmpeg与SDL的配置
5.2.2推流应用程序的实现
本直播系统采用FFmpeg实现音视频源的采集、编码、封装和推流,使用SDL实现采集的音视频的预览。
在读取系统设备之前需要先使用avdevice_register_all()函数注册libavdevice,然后才能实现系统设备的调用。原本从系统的设备采集的是PCM音频采样数据和YUV像素数据,但是 FFmpeg为了统一接口,把所有的输入都认为是一种封装格式。所以在使用libavdevice时,要先使用av_find_input_format()函数查找用于输入的设备。
推流应用程序最开始要进行FFmpeg的各种结构体的初始化,打开输入音频设备和输入视频设备,对输出音频编码器的参数和视频编码器的编码参数分别进行设置。对音频和视频采集时,分别创建音频处理线程和视频采集线程。两个线程独立工作,分别从音频采集设备和视频采集设备读取数据,然后进行解码和编码等操作。最终把音频流和视频流写入到文件中,当两个线程同时向一个文件中写入数据时,需要用到互斥量,当一个线程操作共享数据的时候,把共享数据锁住,操作完后再把锁打开,这样其他线程可以操作共享数据,从而达到保护临界区安全的目的。
如图5-2所示,是推流应用程序的主界面图。从图中可以看出,当主播输入推流地址,然后点击开始推流按钮后就可以开始向流媒体服务器推流。点击菜单栏的帮助选项可以获取推流软件的使用帮助。点击打开预览和关闭预览按钮,主播可以选择是否预览从摄像头采集到的视频信息。
5.3网页播放端的架构实现
本直播系统的网页播放器借鉴了一些大型直播平台的直播间的设计风格。用HTML5的 video标签直接实现了网页视频播放的功能,没有在网页中嵌入播放Flash播放器。这里使用 video.js播放器,video.js有自定义的播放器皮肤、插件、组件、语言等选项配置。首先在HTML 代码的head标签内引入video.js的CSS文件和JavaScript文件。然后在body标签内新建一个 div标签,在div标签内使用video-js标签,并在标签内设置播放器的宽和高等属性。在video-js 标签内使用source标签定义视频的资源,即直播音视频流在流媒体服务器中的位置。代码如表4-4所示。
表4-4 HTML5实现播放器代码表
接下来是实现弹幕功能。弹幕功能的实现首先要有一个输入弹幕的HTML表单用input 标签实现,发送按钮用button标签实现。弹幕的开关控制和透明度控制,分别使用了checkbox 类型的input标签和range类型的input标签。然后用CSS设置弹幕输入框,弹幕发送按钮,弹幕开关的样式。关键代码如表4-4所示。
表4-5 HTML5实现弹幕功能代码表
以上只是实现了HTML页面的设置,要能发送弹幕还需要JavaScript来操作HTML的元素,以及用JavaScript来建立与服务器的websocket连接。
实现弹幕的显示,首先要从弹幕输入框中读取到用户输入的信息,当用户点击发送按钮的时候立即获取输入框中的内容。要用到document.getElementById()方法,根据元素的ID找到HTML标签节点,返回一个对象。返回的对象有一个value属性,既是标签的内容值。
获取到弹幕输入框输入框数据后简单的用正则表达式判断一下,用户输入的弹幕是否合法。如果用户输入的弹幕不合法,则弹出一个提示框,提示用户从新输入。如果用户输入的弹幕合法,则将value属性的值发送给服务器。然后由服务器再继续处理。
客户端要把弹幕发送给服务器,首先需要建立客户端与浏览器websocket连接。首先使用WebSocket构造函数新建一个WebSocket实例对象,并把服务器的地址给进去,然后客户端就会与服务器进行连接。服务器与客户端的连接建立以后,用新建的WebSocket实例对象的onopen、onclose、onmessage和onerror属性绑定WebSocket实例对象的事件,用send()方法向服务器发送数据。
(1):websocket.onopen:用于指定连接成功的回调函数。
(2):websocket.onclose:用于指定连接关闭后的回调函数。
(3):websocket.onerror:用于指定报错时的回调函数。
当接收到服务器发送回来的弹幕消息时,用document.createElement("span")方法生成一个span标签用于显示弹幕。用append()方法把新生成的span元素添加到指定的HTML标签节点下,即实现了弹幕功能。JavaScript实现websocket连接的关键代码如表4-6所示。
表4-6 JavaScript实现websocket连接关键代码表
5.4直播系统联调
首先打开Ubuntu 18.04LTS操作系统,开启三个终端,分别进入Nginx启动服务管理文件夹、swoole文件夹和cpolar文件夹。启动Nginx服务器,用php启动websocket服务器和 cpolar工具。接着在Windows操作系统上打开推流应用程序,在URL输入框中输入推流的URL,点击开始推流,即可开始采集主播电脑的摄像头和声卡数据向流媒体服务器推送。观众打开在电脑端或者移动端上打开浏览器输入直播系统的网站即可开始观看直播。服务器端的运行效果如图5-3所示。
最上面的一个终端是用于启动Nginx服务器的。中间的终端是用于启动websocket服务器,websocket服务器已经接收到了观众发送的弹幕信息。
推流应用程序的主界面图如图5-4所示。在界面的上端是URL输入框,当主播输入流媒体服务器的地址后,可以点击开始推流按钮开始推流。
观众打开浏览器输入由cpolar分配的域名,即可进入直播系统的网页,然后开始观看直播。观众可以在页面下方的弹幕输入框中输入弹幕,然后点击发送即可发送弹幕。观看直播的效果图如图5-5所示。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (4)
1.一种基于IPV9的直播系统,其特征在于,包括:
音视频采集模块:实现对主播的PC端的音视频信息采集、实时编码,然后通过流媒体协议把音视频流推送到服务器;
服务器模块:接收主播推送的音视频信息,把音视频信息转码切片成TS格式以用于HLS协议拉流;
网页播放器模块:用户通过浏览器访问服务器上的网页资源,然后在网页上选择想要观看的正在直播的主播的直播间,进入直播间会自动播放主播的实时视频;
推流端:主要通过摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到CDN进行分发。
2.根据权利要求1所述的一种基于IPV9的直播系统,其特征在于,服务器模块包括:
Nginx核心模块:提供Nginx最基本的核心服务,包括进程管理、权限控制、错误日志记录、配置文件解析、事件驱动机制、进程管理;
Nginx-rtmp-module模块:Nginx-rtmp-module模块是Nginx的第三方模块,是一个基于Nginx的流媒体服务器,Nginx-rtmp-module模块用于接收推流端推送的流媒体,并把流媒体分割成TS文件,支持播放端HLS拉流;
Swoole模块:用于实现客户端和服务器之间建立websocket长连接,进而实现弹幕消息的发送和接收;
cpolar模块:用于将直播系统的网站公布到互联网上。
3.根据权利要求1所述的一种基于IPV9的直播系统,其特征在于,推流端包括:
音频采集:通过读取主播电脑的声卡,获取主播声卡的音频采样数据;音频采样数据一般为PCM编码后的数据;
视频采集:通过读取主播电脑的摄像头,采集主播摄像头的像素数据;视频像素数据一般为YUV格式的数据;
音频编码:把音频采样数据压缩成为音频码流,从而降低音频的数据量;本系统的推流端中采用的是AAC编码,可以将音频数据压缩10倍以上;
视频编码:把采集到视频像素数据压缩成为视频码流,从而降低视频的数据量;本系统的推流端中采用的是h.264编码,可以将图像数据压缩100倍以上;
音视频封装:把AAC编码的音频码流和h.264编码的视频码流按照一定的格式封装;本直播系统的推流端中采用的是FLV封装格式,FLV格式包含头文件,数据由大小不固定的Tag构成;
音视频推流:本直播系统的推流采用RTMP协议,把音视频封装后的存储路径改为流媒体服务器的地址即可;FFmpeg会直接把封装的音视频推送到流媒体服务器,需要流媒体服务器支持RTMP协议推流;
视频预览:把采集到视频像素数据预览在电脑屏幕上,以便于主播实时了解推流的视频信息。
4.根据权利要求1所述的一种基于IPV9的直播系统,其特征在于,网页播放器模块是一个基于HTML5的网页播放器,包括前端显示模块和后台控制模块;
前端显示模块包括:
视频播放区:用于播放从服务器获取的实时音视频流;
弹幕显示区:用于显示直播间观众发送的实时弹幕;
用户控制区:用于用户控制播放、暂停、全屏观看以及弹幕的显示与关闭,
后台控制模块包括:
视频播放与控制模块:采用HTML5播放视频的标准,video标签;video标签自带的播放控件中有播放、停止、全屏播放、音量控制、进度条等功能;
弹幕输入与控制模块:采用CSS和JavaScript设计;其中CSS用于控制弹幕的样式,例如颜色和字体大小等;JavaScript用于控制弹幕随机显示的位置;
向服务器发送或接收服务器弹幕信息模块::采用JavaScript建立客户端与服务器的websocket连接,用于向服务器发送弹幕信息和从服务器接收弹幕信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911192298.XA CN111064973A (zh) | 2019-11-28 | 2019-11-28 | 一种基于ipv9的直播系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911192298.XA CN111064973A (zh) | 2019-11-28 | 2019-11-28 | 一种基于ipv9的直播系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111064973A true CN111064973A (zh) | 2020-04-24 |
Family
ID=70299134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911192298.XA Pending CN111064973A (zh) | 2019-11-28 | 2019-11-28 | 一种基于ipv9的直播系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064973A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405312A (zh) * | 2020-04-26 | 2020-07-10 | 广州酷狗计算机科技有限公司 | 直播推流方法、装置、终端、服务器及存储介质 |
CN113259737A (zh) * | 2021-05-12 | 2021-08-13 | 中移智行网络科技有限公司 | 监控方法、相关设备及可读存储介质 |
CN113271479A (zh) * | 2021-05-17 | 2021-08-17 | 中移智行网络科技有限公司 | 播放处理方法、装置及相关设备 |
CN113727144A (zh) * | 2021-09-02 | 2021-11-30 | 中国联合网络通信集团有限公司 | 基于混合云的高清直播系统及流媒体方法 |
CN113938695A (zh) * | 2021-10-08 | 2022-01-14 | 中邮建技术有限公司 | 一种查看视频直播的设计方法 |
CN113965769A (zh) * | 2021-10-19 | 2022-01-21 | 创盛视联数码科技(北京)有限公司 | 一种在线教育的直播系统 |
CN114007138A (zh) * | 2021-11-01 | 2022-02-01 | 南京淡兰消防科技有限公司 | 通过rtsp视频流转flv格式实现h5网页端以video控件播放的方法 |
CN114025191A (zh) * | 2021-11-04 | 2022-02-08 | 北京睿芯高通量科技有限公司 | 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统 |
CN114640655A (zh) * | 2020-12-16 | 2022-06-17 | 慧盾信息安全科技(北京)有限公司 | 一种基于hls视频播放的安全视频调阅系统和方法 |
CN115174999A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的真4k家庭影院5g网络点播系统 |
CN115174998A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的真4k家庭影院宽带城域网点播系统 |
CN115174974A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的智慧影院系统 |
CN115278279A (zh) * | 2022-07-06 | 2022-11-01 | 海南乾唐视联信息技术有限公司 | 一种音视频数据的处理方法和系统 |
CN115914181A (zh) * | 2022-10-27 | 2023-04-04 | 中国建设银行股份有限公司大连市分行 | 一种视频流推送系统 |
CN116074544A (zh) * | 2022-11-15 | 2023-05-05 | 深圳壹秘科技有限公司 | 多平台直播方法、系统、设备及介质 |
WO2024051518A1 (zh) * | 2022-09-07 | 2024-03-14 | 抖音视界有限公司 | 直播方法、装置、电子设备以及存储介质 |
CN118102004A (zh) * | 2024-01-31 | 2024-05-28 | 中山亿联智能科技有限公司 | 一种高效率高可用低成本网络直播服务系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN103561337A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种基于智能电视的网络直播方法和装置 |
CN105025327A (zh) * | 2015-07-14 | 2015-11-04 | 福建富士通信息软件有限公司 | 一种移动终端现场直播的方法及系统 |
CN105657443A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市云宙多媒体技术有限公司 | 一种直播时移播放方法和系统 |
CN106060674A (zh) * | 2016-06-27 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | 一种在前端实现智能视频直播的系统及方法 |
CN106331739A (zh) * | 2016-09-05 | 2017-01-11 | 广州爱九游信息技术有限公司 | 直播方法、设备、服务器、系统以及直播状态监控方法 |
CN107846633A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 一种直播方法及系统 |
-
2019
- 2019-11-28 CN CN201911192298.XA patent/CN111064973A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN103561337A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种基于智能电视的网络直播方法和装置 |
CN105025327A (zh) * | 2015-07-14 | 2015-11-04 | 福建富士通信息软件有限公司 | 一种移动终端现场直播的方法及系统 |
CN105657443A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市云宙多媒体技术有限公司 | 一种直播时移播放方法和系统 |
CN106060674A (zh) * | 2016-06-27 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | 一种在前端实现智能视频直播的系统及方法 |
CN106331739A (zh) * | 2016-09-05 | 2017-01-11 | 广州爱九游信息技术有限公司 | 直播方法、设备、服务器、系统以及直播状态监控方法 |
CN107846633A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 一种直播方法及系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405312A (zh) * | 2020-04-26 | 2020-07-10 | 广州酷狗计算机科技有限公司 | 直播推流方法、装置、终端、服务器及存储介质 |
CN114640655A (zh) * | 2020-12-16 | 2022-06-17 | 慧盾信息安全科技(北京)有限公司 | 一种基于hls视频播放的安全视频调阅系统和方法 |
CN114640655B (zh) * | 2020-12-16 | 2024-05-14 | 慧盾信息安全科技(北京)有限公司 | 一种基于hls视频播放的安全视频调阅系统和方法 |
CN113259737A (zh) * | 2021-05-12 | 2021-08-13 | 中移智行网络科技有限公司 | 监控方法、相关设备及可读存储介质 |
CN113271479A (zh) * | 2021-05-17 | 2021-08-17 | 中移智行网络科技有限公司 | 播放处理方法、装置及相关设备 |
CN113727144A (zh) * | 2021-09-02 | 2021-11-30 | 中国联合网络通信集团有限公司 | 基于混合云的高清直播系统及流媒体方法 |
CN113938695A (zh) * | 2021-10-08 | 2022-01-14 | 中邮建技术有限公司 | 一种查看视频直播的设计方法 |
CN113965769B (zh) * | 2021-10-19 | 2023-08-08 | 创盛视联数码科技(北京)有限公司 | 一种在线教育的直播系统 |
CN113965769A (zh) * | 2021-10-19 | 2022-01-21 | 创盛视联数码科技(北京)有限公司 | 一种在线教育的直播系统 |
CN114007138A (zh) * | 2021-11-01 | 2022-02-01 | 南京淡兰消防科技有限公司 | 通过rtsp视频流转flv格式实现h5网页端以video控件播放的方法 |
CN114025191A (zh) * | 2021-11-04 | 2022-02-08 | 北京睿芯高通量科技有限公司 | 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统 |
CN114025191B (zh) * | 2021-11-04 | 2023-08-15 | 北京睿芯高通量科技有限公司 | 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统 |
CN115174974B (zh) * | 2022-05-25 | 2023-09-29 | 楼培德 | 基于未来网络的智慧影院系统 |
CN115174974A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的智慧影院系统 |
CN115174998A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的真4k家庭影院宽带城域网点播系统 |
CN115174999B (zh) * | 2022-05-25 | 2023-12-19 | 楼培德 | 基于未来网络的真4k家庭影院5g网络点播系统 |
CN115174999A (zh) * | 2022-05-25 | 2022-10-11 | 楼培德 | 基于未来网络的真4k家庭影院5g网络点播系统 |
CN115278279A (zh) * | 2022-07-06 | 2022-11-01 | 海南乾唐视联信息技术有限公司 | 一种音视频数据的处理方法和系统 |
WO2024051518A1 (zh) * | 2022-09-07 | 2024-03-14 | 抖音视界有限公司 | 直播方法、装置、电子设备以及存储介质 |
CN115914181A (zh) * | 2022-10-27 | 2023-04-04 | 中国建设银行股份有限公司大连市分行 | 一种视频流推送系统 |
CN116074544A (zh) * | 2022-11-15 | 2023-05-05 | 深圳壹秘科技有限公司 | 多平台直播方法、系统、设备及介质 |
CN118102004A (zh) * | 2024-01-31 | 2024-05-28 | 中山亿联智能科技有限公司 | 一种高效率高可用低成本网络直播服务系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111064973A (zh) | 一种基于ipv9的直播系统 | |
CN111064972A (zh) | 一种基于ipv9的视频直播控制方法 | |
US20200213637A1 (en) | Media Content Redirection | |
US10306293B2 (en) | Systems and methods of server based interactive content injection | |
KR101927016B1 (ko) | 멀티미디어 파일 라이브 방송 방법, 시스템 및 서버 | |
US7558760B2 (en) | Real-time key frame generation | |
US9344517B2 (en) | Downloading and adaptive streaming of multimedia content to a device with cache assist | |
WO2017063399A1 (zh) | 一种视频播放方法和装置 | |
US10887645B2 (en) | Processing media data using file tracks for web content | |
US20140281014A1 (en) | Insertion of Graphic Overlays into a Stream | |
Durak et al. | Evaluating the performance of Apple’s low-latency HLS | |
CN105354002A (zh) | 一种实现多屏间视频无缝切换的系统及方法 | |
EP3741132A1 (en) | Processing dynamic web content of an iso bmff web resource track | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换系统及其工作方法 | |
Dufourd et al. | An MPEG standard for rich media services | |
US20130046862A1 (en) | Method and Apparatus for Callback Supplementation of Media Program Metadata | |
CN205230019U (zh) | 一种实现多屏间视频无缝切换的系统 | |
CN116233490A (zh) | 视频合成方法、系统、装置、电子设备及存储介质 | |
CN112532719A (zh) | 信息流的推送方法、装置、设备及计算机可读存储介质 | |
CN114501166B (zh) | Dash点播快进快退方法及系统 | |
CN113364728B (zh) | 媒体内容接收方法、装置、存储介质和计算机设备 | |
Gibbon et al. | Browsing and Retrieval of Full Broadcast-Quality Video | |
CN205139894U (zh) | 一种实现多屏间视频无缝切换的终端 | |
CN117956198A (zh) | 一种应用于大屏端的多机位多配置参数的直播解决方案 | |
CN115665117A (zh) | 一种网页端视频流播放方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200424 |