System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种在IM系统内发送视频消息的方法技术方案_技高网

一种在IM系统内发送视频消息的方法技术方案

技术编号:40784107 阅读:2 留言:0更新日期:2024-03-28 19:16
本申请公开了一种在IM系统内发送视频消息的方法,包括:步骤S11接收视频转换指令,创建视频id并发给发送端;步骤S12接收发送端发送视频分片;步骤S13接收视频消息并转发给接收端;步骤S14获取接收端发送的第一元信息和开始播放时间,根据第一元消息、开始播放时间与第二元信息生成动态m3u8文件,并将m3u8文件地址发送给接收端;第一元信息包括接收端已获取视频分片数量和本地缓存地址前缀;第二元消息包括:服务器接收的被视频id标记的视频分片的数量与服务器本地缓存地址前缀。通过本申请方法,极大程度上减少用户等待时间。

【技术实现步骤摘要】

本申请涉及互联网,特别是涉及一种在im系统内发送视频消息的方法。


技术介绍

1、随着移动互联网的发展,即时通讯(im)应用已经成为人们日常社交的主要方式之一。在im系统中,用户需要频繁地发送各种消息,如文字、图片、语音和视频消息。传统方法中im系统发送视频消息主要有两种实现方式:第一种是上传原文件,即直接将视频文件上传至服务器后再发送给对方,但是,视频文件因其体积较大,传输和处理时延较高,导致视频消息的发送和接收效率较低,发送消息的交互体验较差;第二种是压缩后上传,即客户端压缩原视频后再上传和发送。但压缩算法复杂,客户端运算能力有限,压缩效果容易影响视频质量。

2、中国专利文献中cn110636340b《视频文件的上传方法、存储设备、终端设备及存储介质》中提到,将视频进行切分后上传至云端服务器,服务器根据上传的视频构建分片索引表,视频播放终端可以根据分片索引表下载已上传的各个视频分片;这种方式,从一定程度上来说,可以降低传统方法用户的等待时间,但是这种方式,还是需要视频播放终端从服务器将视频分片下载后才可以进行播放,而视频下载还是需要耗费一定时间,因此,视频文件的播放操作的灵活性,以及用户的播放等待时长还待进一步提高。


技术实现思路

1、基于此,针对上述技术问题,提供一种一种在im系统内发送视频消息的方法,以降低现有技术发送视频消息用户等待时长。

2、第一方面,一种在im系统内发送视频消息的方法,应用于服务器,所述方法包括:

3、步骤s11:接收发送端发送的视频转换的指令,创建视频id并发送给发送端;

4、步骤s12:依次接收发送端发送的被视频id标记的视频分片,所述被视频id标记的视频分片包括:发送端将以ts封装格式保存的实时录制的视频以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后形成的;

5、步骤s13:接收所述发送端发送的视频消息,并将所述视频消息转发给接收端;所述视频消息包括视频id、总视频时长以及视频缩略图;

6、步骤s14:获取接收端发送的第一元信息和开始播放时间,根据所述第一元消息、开始播放时间与第二元信息生成动态m3u8文件,并将所述m3u8文件地址发送给接收端;所述m3u8文件地址用于接收端根据所述m3u8文件地址访问m3u8文件,以使接收端根据所述m3u8文件播放视频;所述第一元信息包括:接收端已下载的被所述视频id标记的视频分片的数量以及接收端本地缓存地址前缀;所述第二元消息包括:服务器接收的被视频id标记的视频分片的数量与服务器本地缓存地址前缀。

7、上述方案中,可选地,所述步骤s13后还包括:获取接收端发送的下载被所述视频id标记的视频分片指令,所述下载分片指令包含所述视频id;根据所述视频id查找对应的视频分片并发送给接收端。

8、上述方案中,进一步可选地,所述获取接收端发送的下载被所述视频id标记的视频分片指令后,获取接收端定时发送的第二元信息获取请求,并将实时更新的第二元信息发送给接收端,以使接收端判断上一次接收的第二元信息与本次接收的第二元信息中的视频分片数量是否相同,若否,则接收端向服务器发送新上传的视频分片下载指令;

9、若在步骤s14前,接收端判断出第二元消息与第一元消息中的视频分片数量相等,则执行步骤s14后生成的m3u8文件用于被接收端保存在本地。

10、上述方案中,可选地,所述步骤s13前还包括:若接收到发送端放弃本次录制的指令,则删除所有被所述视频id标记的视频片段。

11、上述方案中,可选地,所述被视频id标记的视频分片还包括:发送端将本地视频以ts格式进行转换,并以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后形成的。

12、上述方案中,进一步可选地,所述被视频id标记的视频分片以ts文件形式保存。

13、第二方面,一种在im系统内发送视频消息的方法,应用于接收端,所述方法包括:

14、步骤s21:接收所述视频消息,所述视频消息包括视频id、总视频时长以及视频缩略图;所述视频id为服务器接收到发送端发送的视频转换的指令后,创建视频id并发送给发送端;

15、步骤s22:接收用户输入的播放视频的指令;

16、步骤s23:将实时更新的第一元信息以及开始播放时间发送给服务器,以使服务器根据所述第一元消息、开始播放时间与第二元信息生成动态m3u8文件,并将m3u8文件地址并发送给接收端;所述第一元信息包括:接收端已下载的被所述视频id标记的视频分片数量以及接收端本地缓存地址前缀;所述第二元信息包括:服务器接收的被视频id标记的视频分片的数量与服务器本地缓存地址前缀;所述被视频id标记的视频分片为发送端将以ts封装格式保存的实时录制的视频以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后发送至服务器中;

17、步骤s24:根据所述m3u8文件地址访问m3u8文件,根据所述m3u8文件播放视频;

18、步骤s25:重复执行步骤s23-步骤s24,直到根据访问的m3u8文件判断出发送端将所有被所述视频id标记的所有视频分片上传完毕。

19、上述方案中,可选地,所述步骤s21后还包括:生成下载被所述视频id标记的视频分片指令并发送至服务器,所述下载分片指令包含所述视频id;

20、获取服务器发送的所述视频id对应的视频分片。

21、上述方案中,可选地,所述生成下载被所述视频id标记的视频分片指令并发送至服务器后,向服务器定时发送第二元消息获取请求,并接收所述第二元消息;

22、判断最新接收的第二元消息与上一次接收的第二元消息视频分片数量是否相等,若是,则向服务器发送下载新上传的视频分片的指令;

23、若在步骤s22前,判断出所述第二元消息与所述第一元消息中的视频分片数量相等,则执行步骤s22-s23后,将所述m3u8文件文件保存在本地。

24、上述方案中,所述被视频id标记的视频分片还包括:发送端将本地视频以以ts格式进行转换,并以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后发送至服务器中。

25、本申请至少具有以下有益效果:

26、本申请使用ts封装格式保存视频,并将视频进行分片上传至服务器,接收端收到发送端发送到的视频消息后,不管发送端是否将分片是否上传完毕,也不必等待上传的分片全部下载完毕,接收端便可将自身下载分片的情况生成发送至服务器,服务器根据生成m3u8文件,播放器根据m3u8文件实现播放。也即所生成的m3u8文件中,若是本地已经下载的分片,m3u8文件中的分片地址指向接收端本地存储地址,若未下载,则指向服务端存储的地址。因此,通过本申请的方法,并不需要等待将所有的分片都下载到本地才可以进行播放,而是不论是否下载分片以及是否全部分片下载下来,都可以根据下载情况动态生成m3u8本文档来自技高网...

【技术保护点】

1.一种在IM系统内发送视频消息的方法,其特征在于,应用于服务器,所述方法包括:

2.根据权利要求1所述的在IM系统内发送视频消息的方法,其特征在于,所述步骤S13后还包括:获取接收端发送的下载被所述视频id标记的视频分片指令,所述下载分片指令包含所述视频id;根据所述视频id查找对应的视频分片并发送给接收端。

3.根据权利要求2所述的在IM系统内发送视频消息的方法,其特征在于,所述获取接收端发送的下载被所述视频id标记的视频分片指令后,获取接收端定时发送的第二元信息获取请求,并将实时更新的第二元信息发送给接收端,以使接收端判断上一次接收的第二元信息与本次接收的第二元信息中的视频分片数量是否相同,若否,则接收端向服务器发送新上传的视频分片下载指令;

4.根据权利要求1所述的在IM系统内发送视频消息的方法,其特征在于,所述步骤S13前还包括:若接收到发送端放弃本次录制的指令,则删除所有被所述视频id标记的视频片段。

5.根据权利要求1所述的在IM系统内发送视频消息的方法,其特征在于,所述被视频id标记的视频分片还包括:发送端将本地视频以ts格式进行转换,并以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后形成的。

6.根据权利要求5所述的在IM系统内发送视频消息的方法,其特征在于,所述被视频id标记的视频分片以ts文件形式保存。

7.一种在IM系统内发送视频消息的方法,其特征在于,应用于接收端,所述方法包括:

8.根据权利要求7所述的在IM系统内发送视频消息的方法,其特征在于,所述步骤S21后还包括:生成下载被所述视频id标记的视频分片指令并发送至服务器,所述下载分片指令包含所述视频id;

9.根据权利要求8所述的在IM系统内发送视频消息的方法,其特征在于,所述生成下载被所述视频id标记的视频分片指令并发送至服务器后,向服务器定时发送第二元消息获取请求,并接收所述第二元消息;

10.根据权利要求7所述的在IM系统内发送视频消息的方法,其特征在于,所述被视频id标记的视频分片还包括:发送端将本地视频以以ts格式进行转换,并以固定时间间隔进行分片处理,将每个视频分片利用所述视频id进行标识后发送至服务器中。

...

【技术特征摘要】

1.一种在im系统内发送视频消息的方法,其特征在于,应用于服务器,所述方法包括:

2.根据权利要求1所述的在im系统内发送视频消息的方法,其特征在于,所述步骤s13后还包括:获取接收端发送的下载被所述视频id标记的视频分片指令,所述下载分片指令包含所述视频id;根据所述视频id查找对应的视频分片并发送给接收端。

3.根据权利要求2所述的在im系统内发送视频消息的方法,其特征在于,所述获取接收端发送的下载被所述视频id标记的视频分片指令后,获取接收端定时发送的第二元信息获取请求,并将实时更新的第二元信息发送给接收端,以使接收端判断上一次接收的第二元信息与本次接收的第二元信息中的视频分片数量是否相同,若否,则接收端向服务器发送新上传的视频分片下载指令;

4.根据权利要求1所述的在im系统内发送视频消息的方法,其特征在于,所述步骤s13前还包括:若接收到发送端放弃本次录制的指令,则删除所有被所述视频id标记的视频片段。

5.根据权利要求1所述的在im系统内发送视频消息的方法,其特征在于,所述被视频id标记的视频分片还包括:发...

【专利技术属性】
技术研发人员:邓旻昊
申请(专利权)人:北京安信智通科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1