CN107071536A - 用户切换清晰度加载视频流的方法及系统 - Google Patents

用户切换清晰度加载视频流的方法及系统 Download PDF

Info

Publication number
CN107071536A
CN107071536A CN201710197615.1A CN201710197615A CN107071536A CN 107071536 A CN107071536 A CN 107071536A CN 201710197615 A CN201710197615 A CN 201710197615A CN 107071536 A CN107071536 A CN 107071536A
Authority
CN
China
Prior art keywords
definition
circuit
user
video
video flowing
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.)
Granted
Application number
CN201710197615.1A
Other languages
English (en)
Other versions
CN107071536B (zh
Inventor
汪刚
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Shenzhen Litong Zhiyuan Technology Transfer Center Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710197615.1A priority Critical patent/CN107071536B/zh
Publication of CN107071536A publication Critical patent/CN107071536A/zh
Application granted granted Critical
Publication of CN107071536B publication Critical patent/CN107071536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Studio Circuits (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种用户切换清晰度加载视频流的方法及系统,涉及互联网移动端应用开发领域。该方法包括以下步骤:构建线路切换的界面,如果按钮携带的清晰度和当前播放的清晰度一致,且所属线路与当前线路一致,不加载视频流;存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。本发明能根据视频流的清晰度,实现灵活切换线路来加载视频流,提高用户的观看体验。

Description

用户切换清晰度加载视频流的方法及系统
技术领域
本发明涉及互联网移动端应用开发领域,具体是涉及一种用户切换清晰度加载视频流的方法及系统。
背景技术
在移动端的APP(APPlication,应用)进行视频或者直播的时候,由于用户的网速有快有慢,如果用户的网速比较慢,观看高清视频或者超清视频可能会比较卡,影响用户的观看体验。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种用户切换清晰度加载视频流的方法及系统,能够根据视频流的清晰度,实现灵活切换线路来加载视频流,提高用户的观看体验。
本发明提供一种用户切换清晰度加载视频流的方法,包括以下步骤:
A、构建线路切换的界面,当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;
B、如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;
C、存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
D、定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
在上述技术方案的基础上,步骤A中,所述构建线路切换的界面的过程如下:
A1、搭建线路切换的界面;
A2、在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
A3、每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
在上述技术方案的基础上,步骤B中还包括以下步骤:如果没有中断执行按钮加载视频流函数,则将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
在上述技术方案的基础上,步骤D中,所述根据用户选择的清晰度拉取视频流来播放的过程如下:
D1、判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
D2、调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;
D3、调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行D1~D3,保证获取的拉流地址的正确性,保证视频正确播放。
在上述技术方案的基础上,步骤D2中,所述拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
本发明该提供一种用户切换清晰度加载视频流的系统,该系统包括线路切换界面构建单元、加载单元、存储单元、动画设置单元、拉流播放单元,其中:
线路切换界面构建单元用于:构建线路切换的界面;
加载单元用于:当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;
存储单元用于:存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;
动画设置单元用于:设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
拉流播放单元用于:定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
在上述技术方案的基础上,所述线路切换界面构建单元构建线路切换的界面的过程如下:
搭建线路切换的界面;
在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
在上述技术方案的基础上,该系统还包括显示单元,所述显示单元用于:如果所述加载单元没有中断执行按钮加载视频流函数,显示单元将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
在上述技术方案的基础上,所述拉流播放单元根据用户选择的清晰度拉取视频流来播放的过程如下:
判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;
调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行以上步骤,保证获取的拉流地址的正确性,保证视频正确播放。
在上述技术方案的基础上,所述拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
与现有技术相比,本发明的优点如下:
(1)本发明搭建线路切换的界面,在直播或点播中,用户点击线路切换的中的某一个线路和清晰度的按钮后,系统根据这个按钮所携带的清晰度信息去拉取对应的视频流。本发明能够根据视频流的清晰度,实现灵活切换线路来加载视频流,提高用户的观看体验。
在直播或点播中,如果用户的网速比较慢,观看高清视频或者超清视频可能会比较卡,用户需要切换清晰度,如果切换到普清,可能可以消除播放的时候的卡顿现象;如果用户网速比较快,可以切换到高清或者超清,观看更清晰的视频,提高观看体验。
(2)本发明构建线路切换的界面,当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数。本发明创建了一个线路切换的界面,这个界面的布局是有多个线路供用户选择,每个线路下面有“超清、高清、普清”中的一种,方便用户切换到合适的线路,这样可以避免一个线路无法播放的时候,用户还有其他的线路可以选择。
(3)如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流。如果用户选择的清晰度和线路和当前播放的视频流的清晰度和线路一致,不做任何操作,减少了不必要的拉流,能够提升用户的观看体验。
(4)本发明存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息。用户选择按钮之后,这个按钮携带了这个按钮的清晰度状态和所在线路,将按钮的清晰度状态和所在线路,都传递给按钮加载视频流函数,按钮加载视频流函数就可以保留这些按钮的清晰度的状态和属于哪个线路的状态,方便下一次用户启动App的时候,去拉取上一次选择的线路房间信息和上一次选择的清晰度状态的视频流。
(5)本发明判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址。本发明实现了视频流播放地址分割,分割为120秒的视频流,每5秒检查一下视频流的有效性,120秒的视频共用一个视频流资地址的方法,保证获取的单个视频流较小,保证播放的时候拉取的视频流不是很大,避免用户看一秒拉取过多的视频流,5秒检查一次地址的有效性,快过期前去拉取最新的留地址,保证了视频播放的有效性。
(6)本发明调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流。本发明根据用户选择的清晰度,拼接一个视频流播放地址,利用这个视频流播放地址去加载对应清晰度的视频流,实现了简单、快捷地根据用户清晰度去拉取对应的视频流。
(7)本发明调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;如果视频流错误,及时释放播放器,在直播功能中,占用内存最大的是视频播放器,如果加载视频流错误,去释放播放器,保证有效的降低直播间控制器的内存占用。
(8)本发明在整个视频的播放过程中,定期重复执行,保证获取的拉流地址的正确性,保证视频正确播放。整个视频的播放步骤是一个循环的过程,能够实现有效、方便地播放视频。
附图说明
图1是本发明实施例中用户切换清晰度加载视频流的方法的流程图。
图2是本发明实施例中构建线路切换的界面的流程图。
图3是本发明实施例中根据用户选择的清晰度拉取视频流来播放的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种用户切换清晰度加载视频流的方法,包括以下步骤:
A、构建线路切换的界面,当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;
B、如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;如果没有中断执行按钮加载视频流函数,则将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度;
C、存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
D、定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
参见图2所示,步骤A中,构建线路切换的界面的过程如下:
A1、搭建线路切换的界面;
A2、在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
A3、每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
参见图3所示,步骤D中,根据用户选择的清晰度拉取视频流来播放的过程如下:
D1、判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
D2、调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;
D3、调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行D1~D3,保证获取的拉流地址的正确性,保证视频正确播放。
步骤D2中,所述拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
本发明还提供一种用户切换清晰度加载视频流的系统,该系统包括线路切换界面构建单元、加载单元、存储单元、动画设置单元、拉流播放单元,其中:
线路切换界面构建单元用于:构建线路切换的界面;
加载单元用于:当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;
存储单元用于:存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;
动画设置单元用于:设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
拉流播放单元用于:定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
线路切换界面构建单元构建线路切换的界面的过程如下:
搭建线路切换的界面;
在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
该系统还包括显示单元,显示单元用于:如果所述加载单元没有中断执行按钮加载视频流函数,显示单元将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
拉流播放单元根据用户选择的清晰度拉取视频流来播放的过程如下:
判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址;
调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行以上步骤,保证获取的拉流地址的正确性,保证视频正确播放。
下面结合具体函数来进行说明。
A、参见图1所示,构建线路切换的界面,当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数。
参见图2所示,步骤A中,构建线路切换的界面的过程如下:
A1、使用UIViewController或者TableView,搭建线路切换的界面;
A2、在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面可能有“高清、普清、超清”三个按钮中的1~3个;
A3、每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
步骤A的优点:创建了一个线路切换的界面,这个界面的布局是有多个线路供用户选择,每个线路下面有“超清、高清、普清”中的一种,方便用户切换到合适的线路,这样可以避免一个线路无法播放的时候,用户还有其他的线路可以选择。
B、如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,说明选择的线路和清晰度就是当前播放的线路和清晰度,直接中断执行按钮加载视频流函数,同时切换线路界面消失,不加载任何视频流;如果没有中断执行按钮加载视频流函数,则将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
步骤B的优点:如果用户选择的清晰度和线路和当前播放的视频流的清晰度和线路一致,不做任何操作,减少了不必要的拉流,能够提升用户的观看体验。
C、使用UserDefaults,存储当前用户选择的线路和清晰度,下一次用户启动App,来到直播间的时候,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,使用self.currentDefinition=btn.definition,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,线路切换的界面消失之后,请求loadRoomInfo接口,重新加载直播间或者视频的信息。
请求loadRoomInfo接口的时候,loadRoomInfo接口需要传入一个参数,该参数是用户选择的那一条线路的参数_currentCdn,loadRoomInfo接口去这个线路下请求房间信息。
步骤C的优点:用户选择按钮之后,这个按钮携带了这个按钮的清晰度状态和所在线路,将按钮的清晰度状态和所在线路,都传递给按钮加载视频流函数cdnBTnClick,cdnBTnClick函数就可以保留这些按钮的清晰度的状态和属于哪个线路的状态,方便下一次用户启动App的时候,去拉取上一次选择的线路房间信息和上一次选择的清晰度状态的视频流。
D、定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。为了获得稳定的视频流,可以每5秒检查视频流是否正确,每2分钟检查一下视频流是否有效,检查方法是videoSourceCheck。
参见图3所示,步骤D中,根据用户选择的清晰度拉取视频流来播放的过程如下:
D1、使用函数isViewVisable,判断视频流所在的父类的图层view是否存在;如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间availableDeadline;
使用函数语句if([_currentVideoSource.availableDeadlinetimeIntervalSinceDate:[NSDate date]]<=120),将视频流的失效时间和当前的时间进行比较,[NSDate date]是获取当前的时间,时间比较函数是timeIntervalSinceDate,如果两者的时间差小于预设的时间间隔,例如120秒,则请求新的视频流的地址;
D2、调用视频流请求接口,获取视频流播放地址_currentVideoSource;获得视频流播放地址_currentVideoSource后,使用函数-(NSString*)getVideoUr:(Definition)definition,根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;
拉流地址的生成过程是:
使用视频流播放地址_currentVideoSource,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
获得拉流地址后,使用播放器的setOptionValue函数,拉起最新的视频流;
D3、调用视频流请求接口,如果不能获得最新的视频流播放地址,就使用函数releasePlayer,销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行D1~D3,例如,每5秒重复一次D1~D3,保证获取的拉流地址的正确性,同时保证了视频播放。
步骤D1实现了视频流播放地址分割,分割为120秒的视频流,每5秒检查一下视频流的有效性,120秒的视频共用一个视频流资地址的方法,保证获取的单个视频流较小,保证播放的时候拉取的视频流不是很大,避免用户看一秒拉取过多的视频流,5秒检查一次地址的有效性,快过期前去拉取最新的留地址,保证了视频播放的有效性。
步骤D2根据用户选择的清晰度,拼接一个视频流播放地址,利用这个视频流播放地址去加载对应清晰度的视频流,实现了简单、快捷地根据用户清晰度去拉取对应的视频流。
步骤D3中,如果视频流错误,及时释放播放器,在直播功能中,占用内存最大的是视频播放器,如果加载视频流错误,去释放播放器,保证有效的降低直播间控制器的内存占用。
整个步骤D是一个循环的过程,能够实现有效、方便地播放视频。
综上所述,本发明实施例搭建线路切换的界面,在直播或点播中,用户点击线路切换的中的某一个线路和清晰度的按钮后,系统根据这个按钮所携带的清晰度信息去拉取对应的视频流。本发明能够根据视频流的清晰度,实现灵活切换线路来加载视频流,提高用户的观看体验。
在直播或点播中,如果用户的网速比较慢,观看高清视频或者超清视频可能会比较卡,用户需要切换清晰度,如果切换到普清,可能可以消除播放的时候的卡顿现象;如果用户网速比较快,可以切换到高清或者超清,观看更清晰的视频,提高观看体验。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。

Claims (10)

1.一种用户切换清晰度加载视频流的方法,其特征在于,包括以下步骤:
A、构建线路切换的界面,当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;
B、如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;
C、存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
D、定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
2.如权利要求1所述的用户切换清晰度加载视频流的方法,其特征在于:步骤A中,所述构建线路切换的界面的过程如下:
A1、搭建线路切换的界面;
A2、在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
A3、每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
3.如权利要求1所述的用户切换清晰度加载视频流的方法,其特征在于:步骤B中还包括以下步骤:如果没有中断执行按钮加载视频流函数,则将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
4.如权利要求1所述的用户切换清晰度加载视频流的方法,其特征在于:步骤D中,所述根据用户选择的清晰度拉取视频流来播放的过程如下:
D1、判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
D2、调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;
D3、调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行D1~D3,保证获取的拉流地址的正确性,保证视频正确播放。
5.如权利要求4所述的用户切换清晰度加载视频流的方法,其特征在于:步骤D2中,所述拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
6.一种用户切换清晰度加载视频流的系统,其特征在于,该系统包括线路切换界面构建单元、加载单元、存储单元、动画设置单元、拉流播放单元,其中:
线路切换界面构建单元用于:构建线路切换的界面;
加载单元用于:当用户点击某一个按钮的时候,该按钮将自身对应的清晰度状态和属于哪一个线路的信息,传递给按钮加载视频流函数;如果按钮所携带的当前清晰度和当前播放的视频流的清晰度一致,且按钮所属的线路与当前播放视频流的线路一致,中断执行按钮加载视频流函数,线路切换的界面消失,不加载视频流;
存储单元用于:存储当前用户选择的线路和清晰度,下一次用户来到直播间时,对于已经存储有线路和清晰度的用户,优先给该用户拉取已存储线路和对应清晰度的视频流,保存按钮当前选择的线路和清晰度;
动画设置单元用于:设置动画,使线路切换的界面消失,重新加载直播间或者视频的信息;
拉流播放单元用于:定期检查视频流是否正确有效,根据用户选择的清晰度拉取视频流来播放。
7.如权利要求6所述的用户切换清晰度加载视频流的系统,其特征在于:所述线路切换界面构建单元构建线路切换的界面的过程如下:
搭建线路切换的界面;
在搭建的线路切换的界面上,添加切换线路的按钮,每个线路下面有“高清、普清、超清”三个按钮中的1~3个;
每个按钮上面有线路的清晰度、按钮属于哪个线路的信息,每个按钮的清晰度状态为“高清、普清、超清”中的一种。
8.如权利要求6所述的用户切换清晰度加载视频流的系统,其特征在于:该系统还包括显示单元,所述显示单元用于:如果所述加载单元没有中断执行按钮加载视频流函数,显示单元将按钮对应的视频流的清晰度显示在直播或者视频播放的播放器中,让用户知道自己选中的是哪一种清晰度。
9.如权利要求6所述的用户切换清晰度加载视频流的系统,其特征在于:所述拉流播放单元根据用户选择的清晰度拉取视频流来播放的过程如下:
判断视频流所在的父类的图层是否存在,如果存在,获得每一段视频流的模型对象,该模型对象包含视频流播放地址的链接和失效时间,将视频流的失效时间和当前的时间进行比较,如果两者的时间差小于预设的时间间隔,则请求新的视频流的地址;
调用视频流请求接口,获取视频流播放地址;根据用户选择的清晰度,生成和用户选择的清晰度相关的拉流地址;获得拉流地址后,使用播放器拉起最新的视频流;
调用视频流请求接口,如果不能获得最新的视频流播放地址,则销毁视频播放器,释放播放器内存,告知用户视频流错误,在播放器上给用户提供一个重置按钮,刷新直播间的数据,重新开始播放;在整个视频的播放过程中,定期重复执行以上步骤,保证获取的拉流地址的正确性,保证视频正确播放。
10.如权利要求9所述的用户切换清晰度加载视频流的系统,其特征在于:所述拉流地址的生成过程是:使用视频流播放地址,拼接上清晰度的字符串,高清是@“high”,普清是@“normal”,超清是@“super”,生成和用户选择的清晰度相关的拉流地址。
CN201710197615.1A 2017-03-29 2017-03-29 用户切换清晰度加载视频流的方法及系统 Active CN107071536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710197615.1A CN107071536B (zh) 2017-03-29 2017-03-29 用户切换清晰度加载视频流的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710197615.1A CN107071536B (zh) 2017-03-29 2017-03-29 用户切换清晰度加载视频流的方法及系统

Publications (2)

Publication Number Publication Date
CN107071536A true CN107071536A (zh) 2017-08-18
CN107071536B CN107071536B (zh) 2019-07-09

Family

ID=59620563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710197615.1A Active CN107071536B (zh) 2017-03-29 2017-03-29 用户切换清晰度加载视频流的方法及系统

Country Status (1)

Country Link
CN (1) CN107071536B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144612A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109144613A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109168039A (zh) * 2018-10-22 2019-01-08 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109413457A (zh) * 2018-10-18 2019-03-01 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109451361A (zh) * 2018-10-18 2019-03-08 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109688420A (zh) * 2018-12-27 2019-04-26 北京潘达互娱科技有限公司 直播界面展示方法、设备及存储介质
CN109803151A (zh) * 2017-11-16 2019-05-24 腾讯科技(深圳)有限公司 多媒体数据流切换方法、装置、存储介质及电子装置
CN109982120A (zh) * 2017-12-28 2019-07-05 飞狐信息技术(天津)有限公司 一种多媒体播放方法及装置
CN110740296A (zh) * 2019-09-30 2020-01-31 视联动力信息技术股份有限公司 一种视联网监控视频流的处理方法及装置
CN113825020A (zh) * 2021-09-18 2021-12-21 北京百度网讯科技有限公司 视频清晰度切换方法、装置、设备、存储介质及程序产品
CN114727132A (zh) * 2021-01-05 2022-07-08 武汉斗鱼网络科技有限公司 清晰度地址的获取方法、装置、设备及存储介质
CN115037951A (zh) * 2021-03-05 2022-09-09 上海哔哩哔哩科技有限公司 直播处理方法及装置
CN115623228A (zh) * 2021-07-13 2023-01-17 北京字节跳动网络技术有限公司 网络直播的清晰度切换方法、装置和客户端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009152739A (ja) * 2007-12-19 2009-07-09 Funai Electric Co Ltd デジタル放送信号受信装置
CN103533300A (zh) * 2013-04-16 2014-01-22 北京淳中视讯科技有限公司 图像预监方法、装置及系统
CN105872604A (zh) * 2016-06-15 2016-08-17 武汉斗鱼网络科技有限公司 基于不同用户状态的直播视频流推送方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009152739A (ja) * 2007-12-19 2009-07-09 Funai Electric Co Ltd デジタル放送信号受信装置
CN103533300A (zh) * 2013-04-16 2014-01-22 北京淳中视讯科技有限公司 图像预监方法、装置及系统
CN105872604A (zh) * 2016-06-15 2016-08-17 武汉斗鱼网络科技有限公司 基于不同用户状态的直播视频流推送方法及系统

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803151A (zh) * 2017-11-16 2019-05-24 腾讯科技(深圳)有限公司 多媒体数据流切换方法、装置、存储介质及电子装置
CN109803151B (zh) * 2017-11-16 2022-02-08 腾讯科技(深圳)有限公司 多媒体数据流切换方法、装置、存储介质及电子装置
CN109982120B (zh) * 2017-12-28 2021-06-15 飞狐信息技术(天津)有限公司 一种多媒体播放方法及装置
CN109982120A (zh) * 2017-12-28 2019-07-05 飞狐信息技术(天津)有限公司 一种多媒体播放方法及装置
CN109144612B (zh) * 2018-09-03 2021-10-15 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109144612A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109144613B (zh) * 2018-09-03 2021-10-15 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109144613A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109451361A (zh) * 2018-10-18 2019-03-08 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109413457A (zh) * 2018-10-18 2019-03-01 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109413457B (zh) * 2018-10-18 2021-11-09 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109451361B (zh) * 2018-10-18 2022-01-04 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109168039A (zh) * 2018-10-22 2019-01-08 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109688420A (zh) * 2018-12-27 2019-04-26 北京潘达互娱科技有限公司 直播界面展示方法、设备及存储介质
CN110740296A (zh) * 2019-09-30 2020-01-31 视联动力信息技术股份有限公司 一种视联网监控视频流的处理方法及装置
CN114727132B (zh) * 2021-01-05 2024-01-12 上海新天策数字科技有限公司 清晰度地址的获取方法、装置、设备及存储介质
CN114727132A (zh) * 2021-01-05 2022-07-08 武汉斗鱼网络科技有限公司 清晰度地址的获取方法、装置、设备及存储介质
CN115037951A (zh) * 2021-03-05 2022-09-09 上海哔哩哔哩科技有限公司 直播处理方法及装置
CN115037951B (zh) * 2021-03-05 2024-03-12 上海哔哩哔哩科技有限公司 直播处理方法及装置
CN115623228A (zh) * 2021-07-13 2023-01-17 北京字节跳动网络技术有限公司 网络直播的清晰度切换方法、装置和客户端
CN113825020B (zh) * 2021-09-18 2023-09-29 北京百度网讯科技有限公司 视频清晰度切换方法、装置、设备、存储介质及程序产品
CN113825020A (zh) * 2021-09-18 2021-12-21 北京百度网讯科技有限公司 视频清晰度切换方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN107071536B (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN107071536A (zh) 用户切换清晰度加载视频流的方法及系统
KR102710712B1 (ko) 생방송 데이터 표시 방법 및 장치, 디바이스 및 저장 매체
CN108495195B (zh) 一种网络直播排行榜生成方法、装置、设备及存储介质
CN105992056B (zh) 一种视频解码的方法和装置
CN110795056B (zh) 调节显示参数的方法、装置、终端及存储介质
CN106095551B (zh) 展示媒体文件的方法和装置
CN108595224A (zh) 应用程序提示方法、装置、存储介质及终端
CN107957906A (zh) 终端设备的应用程序管理方法、计算机装置、计算机可读存储介质
CN113727130A (zh) 直播间的消息提示方法、系统、装置及计算机设备
CN113179417A (zh) 虚拟物品的赠送方法、装置、终端及计算机可读存储介质
CN110505528A (zh) 直播中游戏匹配的方法、装置、设备和可读存储介质
CN110837420A (zh) 资源调度方法、装置、终端及存储介质
CN104615432B (zh) 闪屏信息处理方法及客户端
CN113660504A (zh) 消息展示方法、装置、电子设备以及存储介质
CN114666671B (zh) 直播点赞互动方法、装置、设备及存储介质
CN105807890B (zh) 一种信息展示方法、装置及电子设备
CN113727129A (zh) 直播互动方法、装置、系统、设备及存储介质
CN108521599B (zh) 一种虚拟礼物的展示方法、装置、终端和存储介质
CN106973328B (zh) 一种信息加载方法及装置
WO2023029862A1 (zh) 弹幕显示方法、装置、设备及存储介质
CN114020376B (zh) 一种处理方法及设备
CN114115773B (zh) 帧率调节方法、装置、存储介质及终端设备
CN107315554B (zh) 一种用户界面显示方法及装置
CN115297371A (zh) 一种自适应播放器的生成方法及自适应播放器设备
CN110688188A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231208

Address after: B1101, No. 150, Shangzao Building, Gaofeng Community, Dalang Street, Longhua District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Litong Zhiyuan Technology Transfer Center Co.,Ltd.

Address before: 510000 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20231208

Address after: 510000 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.