CN113382212B - 播放实时音视频流的方法、装置及电子设备 - Google Patents

播放实时音视频流的方法、装置及电子设备 Download PDF

Info

Publication number
CN113382212B
CN113382212B CN202110927433.1A CN202110927433A CN113382212B CN 113382212 B CN113382212 B CN 113382212B CN 202110927433 A CN202110927433 A CN 202110927433A CN 113382212 B CN113382212 B CN 113382212B
Authority
CN
China
Prior art keywords
video
audio
packet
data
time stamp
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.)
Active
Application number
CN202110927433.1A
Other languages
English (en)
Other versions
CN113382212A (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.)
Shenzhen Yuwei Information & Technology Development Co ltd
Original Assignee
Shenzhen Yuwei Information & Technology Development 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 Shenzhen Yuwei Information & Technology Development Co ltd filed Critical Shenzhen Yuwei Information & Technology Development Co ltd
Priority to CN202110927433.1A priority Critical patent/CN113382212B/zh
Publication of CN113382212A publication Critical patent/CN113382212A/zh
Application granted granted Critical
Publication of CN113382212B publication Critical patent/CN113382212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • H04N7/185Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • G07C5/0866Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种播放实时音视频流的方法、装置及电子设备,包括:接收终端的音视频数据;解析所述音视频数据以获得视频包和音频包,从所述视频包获取视频流数据;对所述视频流数据进行解码,得到并保存图片帧数据;对所述图片帧数据中的时间戳进行处理;重新合成视频流数据,并重新打包得到视频包。根据本申请的方法能够提高平台播放视频的流畅性和稳定性,减少视频播放卡顿现象。

Description

播放实时音视频流的方法、装置及电子设备
技术领域
本发明涉及音视频流媒体领域,具体涉及一种播放实时音视频流的方法、装置及电子设备。
背景技术
道路运输车辆安装的卫星定位系统车载视频终端需要与企业的视频监控平台间传输音视频数据,音视频流服务器负责与客户端播放软件进行码流通信。由于实际情况中通讯网络存在较大不确定性和不稳定性,车辆在道路上行驶时,进入隧道或者位于山区,网络信号不良,车载终端音视频流发送超时,导致出现了一些实时视频播放卡顿,手机APP实时视频播放不稳定,最终导致用户使用不流畅,平台体验不佳。
发明内容
本申请旨在提供一种播放实时音视频流的方法,通过获取YUV图片数据并重新合成音视频流,保证视频稳定播放,从而提高用户体验。对音频时间戳和视频时间戳做比较和优化处理,避免因时间戳差异过大而导致播放卡顿和音视频不同步问题。
根据本申请的一方面,提出一种播放实时音视频流的方法,包括:
接收终端的音视频数据;
解析所述音视频数据以获得视频包和音频包,从所述视频包获取视频流数据;
对所述视频流数据进行解码,得到并保存图片帧数据;
对所述图片帧数据中的时间戳进行处理;
将所述图片帧数据重新合成视频流数据,并将视频流数据重新打包得到视频包;
将所述音频包重新打包。
根据一些实施例,前述方法还包括:
对时间戳进行重新计算:
Tnew= T +(100 – T mod 100);
其中,Tnew为重新计算后的新时间戳,T为原时间戳。
根据一些实施例,前述方法还包括:
判断第一个关键帧时间戳是否为零,不为零则重置为零;
对于第一个关键帧之后的图片帧的时间戳,按帧率依次递增。
根据一些实施例,前述方法还包括:
判断所述接收音视频数据是否超时;
如果超时,使用最后保存的所述图片帧数据或预留的所需图片,对时间戳进行处理,并合成视频流数据。
根据一些实施例,前述方法还包括:
对所述音频包的时间戳T1和所述视频包的时间戳T2进行比较;
如果T1与T2差值的绝对值小于第一阈值,将所述音频包打包;
否则,继续等待下一个视频包。
根据一些实施例,前述方法还包括:
如果所述音频包的时间戳T1小于所述视频包的时间戳T2,且差值的绝对值不小于第一阈值,将该音频包丢弃。
根据一些实施例,前述方法还包括:
如果所述音频包的时间戳T1大于所述视频包的时间戳T2,且差值大于第二阈值,将该音频包丢弃。
根据本申请的另一方面,提供一种播放实时音视频流的装置,包括:
接收模块,用于接收音视频数据包;
解析模块,用于解析所述音视频数据包以获得视频包和音频包;
解码模块,对所述视频流数据进行解码,得到图片帧;
时间戳处理模块,用于对所述图片帧的时间戳进行处理;
打包模块,用于将视频和音频数据重新打包。
根据本申请的另一方面,提供一种电子设备,包括:
存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中任一项所述的方法。
根据本申请示例实施例,通过对车载终端发送的音视频数据进行解析,获取YUV图片数据并重新合成音视频流发给流媒体服务。如果车载终端信号不好时,重新合成视频流时填充最后收到的YUV图片(或者用户想要的图片),可以稳定地给流媒体服务发送音视频流,保证视频稳定播放,从而提高用户体验。
根据本申请示例实施例,通过对音频时间戳和视频时间戳做比较和优化处理,避免因时间戳差异过大而导致播放卡顿和音视频不同步问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求保护的范围。
图1示出根据本申请示例实施例的车载终端数据传输系统示意图。
图2示出根据本申请示例实施例的播放实时音视频流方法示意图。
图3示出根据本申请示例实施例的播放实时音视频流方法流程图。
图4示出根据本申请示例实施例的播放实时音视频流装置的框图。
图5示出根据一示例性实施例的一种电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
车辆在道路上行驶时,进入隧道或者位于山区,网络信号不良,车载终端音视频流发送超时,会导致出现一些实时视频播放卡顿现象。例如,长途客运车行驶路线长,往往会经过一些地形复杂的地区,比如山区,此时由于山区信号不良,导致在通过车载终端对车辆进行监控时,实时视频播放卡顿,不能及时掌握车辆和路况信息,使用户体验不佳。
本发明提出了基于合成音视频流机制来提升平台播放实时视频稳定性的方法。当收到车载终端的音视频数据时,将其拆分为视频包和音频包。对视频包进行拆分,将H264/H265数据解析出来送进H264/H265解码器,解码出来一帧一帧的YUV数据,按需记录并保存最新的一帧或者多帧YUV图片。假如车载终端网络信号不好,数据发送超时,使用记录的最后收到的YUV图片进行填充(也可以按照需要填充想要的图片)。重新将YUV合成H264/H265视频流,将合成的H264/H265视频流重新打包成rtp包发给流媒体播放。这样可以保证前端播放器可以一直收到稳定的视频流,能够流畅地播放实时视频,从而提高平台体验效果。
以下结合附图对本申请的示例实施例进行说明。
图1示出根据本申请示例实施例的车载终端数据传输系统示意图。
如图1所示,车载终端数据传输系统包括车载终端设备101,网络102,服务器103以及前端104。
应该理解,图1中的终端、服务器设备和网络的数目仅仅是示意性的。根据现实需要,可以具有任意数目的终端、服务器设备和网络。
网络102可用以在车载终端设备101和服务器103之间提供互联网通信链路的介质,可以包括多种连接类型,例如移动通信链路等。
车载终端设备101可以是具有显示屏的电子设备,包括一个或多个处理器及存储装置,可通过网络102和服务器103进行交互,用以接收或发送消息等。
根据示例实施例,本申请中服务器103转发前端104发送的监控视频请求至车载终端设备101,并接收监控设备101发送的监控视频,对监控视频进行处理后发送至前端104进行播放。
根据示例实施例,前端104即为可以调用查看监控视频的用户端。其中可以包括多种电子设备例如计算机或者便携终端等。
可选地,车载终端设备101可应用于多种商用车辆,如客车、货运车、危险品车、公交车、新能源车、校车、商砼车、渣土车及出租车等。
图2示出根据本申请示例实施例的播放实时音视频流方法示意图。
在S201,接收终端的音视频数据。
根据一些实施例,车载视频终端与企业视频监控平台间传输音视频数据。一路实时音视频传输通道可传输一路视频信息或一路音频信息,也可传输一路视频信息和一路音频信息。
实时音视频传输通道约定有如下两种:
采用 TCP 方式时,每个 TCP 连接可承载多路音视频通道。
采用 UDP 方式时,每个 UDP 端口可承载多路音视频通道。
在车载视频终端与视频监控平台间传输的音视频数据报文属于码流数据报文,该报文格式主要用于网络实时音视频传输、网络录像回放、语音对话、语音监听、语音广播等。
在S203,解析音视频数据以获得视频包和音频包,从视频包获取视频流数据。
当收到车载终端发送的音视频数据包时,将数据包拆分为视频包和音频包。例如,按照JTT1078-2016《道路运输车辆卫星定位系统车载视频通信协议》将数据包拆分为视频包和音频包,并获取视频包中的H264/H265数据。
根据一些实施例,解析包括解协议和解封装。
解协议的作用就是将流媒体协议的数据解析为标准的相应的封装格式数据。根据一些实施例,音视频在网络上传播的时候常常采用各种流媒体协议,例如HTTP、RTMP或者是MMS等等。这些协议在传输音视频数据的同时,也会传输一些信令信息。这些信令数据包括对播放的控制(播放、暂停、停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留音视频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。
解封装的作用就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。根据一些实施例,封装的格式种类很多,例如MP4、MKV、RMVB、TS、FLV、AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据经过解封装操作后,输出H.264或H.265编码的视频码流和AAC编码的音频码流。
在S205,解码视频流数据获取并保存图片帧数据。
解码的作用就是将视频/音频压缩编码数据解码成为非压缩的视频/音频原始数据。根据一些实施例,音频的压缩编码标准包含AAC、MP3、AC-3等等,视频的压缩编码标准则包含H.264、MPEG2、VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P、RGB等等。
根据一些实施例,将H264/H265数据送进H264/H265解码器,解码出来一帧一帧的YUV数据,并按需保存最新的一帧或多帧YUV数据。
H264为MPEG4的第十部分,是一个标准。国际上两个视频专家组(VCEG和MPEG)合作提出的标准,两个专家组各有各的叫法,所以既叫H.264,也叫AVC。
MPEG是Moving Pictures Experts Group(动态图像专家组)的简称,是国际标准化组织(ISO)成立的专责制定有关运动图像压缩编码标准的工作组所制定的国际通用标准。MPEG4是网络视频图像压缩标准之一。
H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
YUV图像格式为亮度参量和色度参量分开表示的像素格式,其中“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
在S207,对图片帧的时间戳进行处理。
根据一些实施例,对时间戳进行处理针对时间戳跳变以及因时间长产生的误差问题。
根据一些实施例,对时间戳的处理是对时间戳进行重新计算,具体为在原时间戳基础上增加值为:100减去原时间戳对100取余,单位为毫秒,表示如下:
Tnew= T +(100 – T mod 100);
其中,Tnew为重新计算后的新时间戳,T为原时间戳,mod为求余计算。
可选的,也可对其他值进行取余计算。
例如:收到的一个I帧包时间戳为114521,114521对100求余,结果为21,重新计算就是114521+(100-21)=114600,经过处理后发给前端播放器的包时间戳会在原来的基础上加79。这个处理主要针对I帧,因为视频播放中I帧是主要的。
根据一些实施例,对时间戳进行的处理还包括:
判断第一个关键帧时间戳是否为零,不为零则重置为零;
对于第一个关键帧之后的图片帧的时间戳,按帧率依次递增。
例如:帧率为10FPS,如果第一帧的时间戳重置为0,之后按1秒/10PFS=0.1秒=100毫秒来递增每一帧的时间戳,这里每一帧包括视频帧的I帧、P帧和B帧。
I 帧:参考帧或者关键帧,可以理解为是一帧完整画面,解码时只需要本帧数据就解码成一幅完整的图片,数据量比较大。
P帧:差别帧,只有与前面的帧或I帧的差别数据,需要依赖前面已编码图像作为参考图像,才能解码成一幅完整的图片,数据量小。
B帧:双向差别帧,也就是B帧记录的是本帧与前后帧的差别,需要依赖前后帧和I帧才能解码出一幅完整的图片,数据量小。
根据一些实施例,第一个I帧时间戳不为0,则对该帧时间戳重置为0,之后的P帧/B帧则按帧率依次递增;一直到第二个I帧为止,假设最后递增的一帧时间戳为T1,对于第二个I帧,对时间戳进行增加100-mod毫秒计算,得到一个新的时间戳T2;这时理论上T2>T1,那么如果这时T2<T1,则将T2直接改为上一帧P帧/B帧的时间戳+1000毫秒/帧率。
对终端的音视频时间戳重新计算,可以避免时间戳跳变,时间戳不从0开始等问题导致的视频播放问题,给前端播放器提供了稳定的音视频流,提高了平台播放视频的流畅性和稳定性,减少了视频播放卡顿现象,进而提高了客户使用体验。
在S209,对音视频数据重新打包。
根据一些实施例,将视频流和音频流重新打包成rtp包,例如,可按照JTT1078-2016《道路运输车辆卫星定位系统车载视频通信协议》进行打包。
根据一些实施例,音视频包还需要经过流媒体服务器的处理,然后生成rtmp流或者http ps流等,最后前端播放器才根据这些数据流去播放视频。
图3示出根据本申请另一示例实施例的播放实时音视频流方法流程图。
在S301,S303,判断所述接收音视频数据是否超时;如果超时,使用最后保存的所述图片帧数据,对时间戳进行处理,并合成视频流数据。
根据一些实施例,没有收到终端数据时,使用保存的最新图片帧信息里包含的时间戳,在此基础上进行累加处理,再将处理后的数据合成视频流数据。
根据另外一些实施例,没有收到终端数据时,也可使用预留的图片,再根据保存的最新图片帧里包含的时间戳,进行处理,然后合成视频流数据。
在S305,S307,对音视频数据重新打包并对音频包时间戳和视频包时间戳进行比较。
根据一些实施例,在对音频数据进行重新打包时,对音频包时间戳和视频包时间戳进行比较,相差在第一阈值以内,例如200ms,可以将音频包、视频包分别打包成rtp包发给前端播放。否则等待下一包视频包再比较。
音视频同步的作用就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的音/视频数据,并将视频音频数据送至系统的显卡和声卡播放出来。
在S309,S311,判断如果所述音频包的时间戳T1小于所述视频包的时间戳T2,且差值的绝对值不小于第一阈值,例如200ms,将该音频包丢弃。
如果音频包时间戳T1比视频包时间戳T2大,且差值大于第二时间阈值,例如:3s、5s或10s,视具体需求而定,将其视为异常包,为避免播放卡顿和音视频不同步,将该异常包丢弃。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU 执行的计算机程序。在该计算机程序被CPU 执行时,执行本申请提供的上述方法所限定的上述功能。的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过对示例实施例的描述,本领域技术人员易于理解,根据本申请实施例的播放实时音视频流的方法至少具有以下优点中的一个或多个。
根据示例实施例,通过对车载终端发送的音视频数据进行解析,获取YUV图片数据并重新合成音视频流发给流媒体服务。如果车载终端信号不好时,重新合成视频流时填充最后收到的YUV图片(或者用户想要的图片),可以稳定地给流媒体服务发送音视频流,保证视频稳定播放,从而提高用户体验。
根据示例实施例,通过对音频时间戳和视频时间戳做比较和优化处理,避免因时间戳差异过大而导致播放卡顿和音视频不同步问题。
下面描述本申请的装置实施例,其可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,可参照本申请方法实施例。
图4示出根据一示例性实施例的播放实时音视频流装置的框图。图4所示装置可以执行前述根据本申请实施例的播放实时音视频流的方法。
如图4所示,播放实时音视频流的装置可包括:接收模块410、解析模块420、解码模块430、时间戳处理模块440、打包模块450。
参见图4并参照前面的描述:
接收模块,用于接收音视频数据包;
解析模块,用于解析所述音视频数据包以获得视频包和音频包;
解码模块,对所述视频流数据进行解码,得到图片帧;
时间戳处理模块,用于对所述图片帧的时间戳进行处理;
打包模块,用于将视频和音频数据重新打包。
装置执行与前面提供的方法类似的功能,其他功能可参见前面的描述,此处不再赘述。
图5示出根据一示例性实施例的一种电子设备的框图。
下面参照图5来描述根据本申请的这种实施方式的电子设备200。图5显示的电子设备200仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,存储单元存储有程序代码,程序代码可以被处理单元210执行,使得处理单元210执行本说明书描述的根据本申请各种示例性实施方式的方法。例如,处理单元210可以执行如图2、图3中所示的方法。
存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (10)

1.一种播放实时音视频流的方法,其特征在于,包括:
接收来自终端的音视频数据;
解析所述音视频数据以获得视频包和音频包,从所述视频包获取视频流数据;
对所述视频流数据进行解码,得到并保存图片帧数据;
对所述图片帧数据中的时间戳进行重新计算,以消除时间戳跳变和误差;
将对时间戳进行重新计算之后的所述图片帧数据重新合成视频流数据,并将视频流数据重新打包得到视频包;
将所述音频包重新打包。
2.根据权利要求1所述的方法,其特征在于,对所述图片帧数据中的时间戳进行重新计算,包括:
对时间戳进行重新计算的公式如下:
Tnew= T +(100 – T mod 100);
其中,Tnew为重新计算后的新时间戳,T为原时间戳。
3.根据权利要求1所述的方法,其特征在于,对所述图片帧数据中的时间戳进行重新计算,还包括:
判断第一个关键帧时间戳是否为零,不为零则重置为零;
对于第一个关键帧之后的图片帧的时间戳,按帧率依次递增。
4.根据权利要求1所述的方法,其特征在于,还包括:
判断所述接收来自终端的音视频数据是否超时;
如果超时,使用最后保存的所述图片帧数据,对时间戳进行重新计算,并合成视频流数据。
5.根据权利要求4所述的方法,其特征在于,对时间戳进行重新计算,包括:
对时间戳进行重新计算的公式如下:
Tnew= T +(100 – T mod 100);
其中,Tnew为重新计算后的新时间戳,T为最后保存的所述图片帧数据中的时间戳。
6.根据权利要求1所述的方法,其特征在于,还包括:
在将所述音频包重新打包之前,对所述音频包的时间戳T1和所述视频包的时间戳T2进行比较;
如果T1与T2差值的绝对值小于第一阈值,将所述音频包打包;
否则,继续等待下一个视频包。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果所述音频包的时间戳T1小于所述视频包的时间戳T2,且差值的绝对值不小于第一阈值,将该音频包丢弃。
8.根据权利要求6所述的方法,其特征在于,还包括:
如果所述音频包的时间戳T1大于所述视频包的时间戳T2,且差值大于第二阈值,将该音频包丢弃。
9.一种播放实时音视频流的装置,其特征在于,包括:
接收模块,用于接收音视频数据包;
解析模块,用于解析所述音视频数据包以获得视频包和音频包以及从所述视频包获取视频流数据;
解码模块,对所述视频流数据进行解码,得到图片帧;
时间戳处理模块,用于对所述图片帧的时间戳进行重新计算,以消除时间戳跳变和误差,将对时间戳进行重新计算之后的所述图片帧数据重新合成视频流数据;
打包模块,用于将重新合成的视频流数据和所述音频包重新打包。
10.一种电子设备,其特征在于,包括:
存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-8中任一项所述的方法。
CN202110927433.1A 2021-08-13 2021-08-13 播放实时音视频流的方法、装置及电子设备 Active CN113382212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110927433.1A CN113382212B (zh) 2021-08-13 2021-08-13 播放实时音视频流的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110927433.1A CN113382212B (zh) 2021-08-13 2021-08-13 播放实时音视频流的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113382212A CN113382212A (zh) 2021-09-10
CN113382212B true CN113382212B (zh) 2021-11-16

Family

ID=77577196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110927433.1A Active CN113382212B (zh) 2021-08-13 2021-08-13 播放实时音视频流的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113382212B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114173081A (zh) * 2021-12-13 2022-03-11 济南大学 一种远程音视频方法及系统
CN114979763A (zh) * 2022-04-13 2022-08-30 深圳市有为信息技术发展有限公司 视频回放时的播放控制方法和装置、视频回放系统
CN115208864B (zh) * 2022-08-12 2024-02-06 阿波罗智联(北京)科技有限公司 数据传输方法、装置、设备、车辆及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595114A (zh) * 2011-01-13 2012-07-18 安凯(广州)微电子技术有限公司 一种在低端嵌入式产品上播放视频的方法及终端
CN103686311A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种音视频播放方法和装置
CN103747287A (zh) * 2014-01-13 2014-04-23 合一网络技术(北京)有限公司 应用于flash的视频播放速度调整的方法及系统
CN105657524A (zh) * 2016-01-13 2016-06-08 上海视云网络科技有限公司 一种视频间无缝切换的方法
CN107690073A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4347322B2 (ja) * 2006-07-14 2009-10-21 ソニー株式会社 受信装置および方法、並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595114A (zh) * 2011-01-13 2012-07-18 安凯(广州)微电子技术有限公司 一种在低端嵌入式产品上播放视频的方法及终端
CN103686311A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种音视频播放方法和装置
CN103747287A (zh) * 2014-01-13 2014-04-23 合一网络技术(北京)有限公司 应用于flash的视频播放速度调整的方法及系统
CN105657524A (zh) * 2016-01-13 2016-06-08 上海视云网络科技有限公司 一种视频间无缝切换的方法
CN107690073A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器

Also Published As

Publication number Publication date
CN113382212A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN113382212B (zh) 播放实时音视频流的方法、装置及电子设备
US8788933B2 (en) Time-shifted presentation of media streams
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
TWI401918B (zh) 傳送指示接收器緩衝架構之緩衝參數信號的通訊方法
US10177958B2 (en) Method for synchronously taking audio and video in order to proceed one-to-multi multimedia stream
US10862940B1 (en) Low latency live video on a communication session
TW201301899A (zh) 減少視訊編碼及解碼中之延遲
US20130204973A1 (en) Method for transmitting a scalable http stream for natural reproduction upon the occurrence of expression-switching during http streaming
CN113271479B (zh) 播放处理方法、装置及相关设备
CN114339382A (zh) 视频播放方法、装置、设备及计算机存储介质
US20080101409A1 (en) Packetization
CN113382278B (zh) 视频推送方法、装置、电子设备和可读存储介质
CN112399257A (zh) 云桌面视频播放方法、服务器、终端及存储介质
US20090310942A1 (en) Information processing apparatus and method for reproducing video image
CN113490047A (zh) 一种Android音视频播放方法
CN107431834B (zh) 传输设备、传输方法、接收设备、以及接收方法
US20120251086A1 (en) Trick mode technique for a bandwidth limited channel
CN113873176A (zh) 一种媒体文件合并方法及装置
JP2004289745A (ja) 動画像復号化方法および装置
EP3306942A1 (en) Transmission device, transmission method, receiving device, and receiving method
JP2001359071A (ja) データ配信装置及び方法、データ配信システム
CN115842919B (zh) 一种基于硬件加速的视频低延迟传输方法
CN114173157B (zh) 视频流传输方法及装置、电子设备、存储介质
CN109495793B (zh) 一种弹幕写入方法、装置、设备及介质
CN114584538B (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