CN113973214A - 视频流格式转换方法、装置和存储介质 - Google Patents

视频流格式转换方法、装置和存储介质 Download PDF

Info

Publication number
CN113973214A
CN113973214A CN202111155691.9A CN202111155691A CN113973214A CN 113973214 A CN113973214 A CN 113973214A CN 202111155691 A CN202111155691 A CN 202111155691A CN 113973214 A CN113973214 A CN 113973214A
Authority
CN
China
Prior art keywords
video stream
terminal
video
format
real time
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
Application number
CN202111155691.9A
Other languages
English (en)
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.)
Zhongtong Service Kexin Information Technology Co ltd
Original Assignee
Zhongtong Service Kexin Information 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 Zhongtong Service Kexin Information Technology Co ltd filed Critical Zhongtong Service Kexin Information Technology Co ltd
Priority to CN202111155691.9A priority Critical patent/CN113973214A/zh
Publication of CN113973214A publication Critical patent/CN113973214A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种视频流格式转换方法、装置和存储介质,通过获取用户通过第一终端输入的视频转码请求,视频转码请求包括待转码视频流的标识信息和第一终端的标识信息;根据视频转码请求,实时接收待转码格式的视频流;根据终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流;通过nginx将转换为目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。实现了对视频流的实时获取,对视频流格式的实时转换以及转换格式后的视频流的实时推送,而不需要用安装插件对视频流的格式进行转换,视频播放效果好。

Description

视频流格式转换方法、装置和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种在线视频流格式转换方法、装置和存储介质。
背景技术
随着直播行业的快速发展,用户通过电脑浏览器、手机浏览器,以及微信等可以随时随地的观看直播视频。其中,观看直播视频不仅包括观看各大直播APP上的直播,还包括观看监控摄像头实时拍摄的影像视频。
在视频技术领域,包括实时消息传输协议(Real Time Messaging Protocol,RTMP),基于HTTP的流媒体传输协议(HTTP Live Streaming,HLS),实时流传输协议(RealTime Streaming Protocol,RTSP),以及GB28181协议。
市面上的摄像头的视频流是RTSP格式的,然而,手机端支持的视频流的格式是RTMP格式,电脑端支持的视频流格式是HLS格式。因此,为了在手机端和电脑端观看直播视频,需要安装插件,将RTSP格式的的视频流转换为RTMP格式或者HLS格式。但是,安装插件,占用系统内存,视频播放性能低。
发明内容
本申请提供一种视频流格式转换方法、装置和存储介质,用以解决在对监控摄像头输送的视频流格式转换时,需要安装插件,导致占用系统内存,视频播放性能低的问题。
第一方面,本申请提供一种视频流格式转换方法,应用于在线视频流转换平台,包括:
获取用户通过第一终端输入的视频转码请求,所述视频转码请求包括待转码视频的标识信息和所述第一终端的标识信息;
根据所述视频转码请求,实时接收待转码格式的视频流;
根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流;
通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
可选的,所述获取视频转码请求之前,还包括:
接收用户通过第二终端输入的监控视频配置指令,所述监控视频配置指令用于将目标摄像头的视频流信息接入所述在线视频流转换平台,以将所述目标摄像头的视频流信息存入所述在线视频流转换平台的数据库中,其中,所述监控视频配置指令携带有目标摄像头的位置信息、IP地址;
从所述在线视频流转换平台的数据库中获取所述目标摄像头的视频流信息;
根据所述目标摄像头的视频流信息,向所述目标摄像头发送PING指令,并接收所述目标摄像头发送的PING响应指令;
根据所述PING响应指令,确定所述目标摄像头配置成功;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,实时接收所述目标摄像头输送的待转码格式的视频流;
其中,所述第一终端用于查看所述目标摄像头的监控视频。
可选的,所述方法还包括:
接收用户通过所述第一终端输入的存储视频配置指令,所述存储配置指令用于在所述在线视频流转换平台上对所述第一终端中存储的视频转换为目标格式的视频流时的配置参数进行配置,其中,所述配置参数包括视频分辨率、解码率;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,从所述第一终端中实时获取所述第一终端中存储的待转换的视频流。
可选的,所述根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流之后,还包括:
通过预设的应用程序编程接口(Application Programming Interface,API),向所述第一终端发送第一视频流格式转换结果,所述第一视频流格式转换结果用于指示所述待转码格式的视频流是否成功转换为适用于所述第一终端的目标格式的视频流。
可选的,所述获取用户通过第一终端输入的视频转码请求之后,还包括:
通过tcp和/或websocket长连接,在所述视频流转换过程中周期性向所述第一终端发送第二视频流格式转换结果,所述第二视频流格式转换结果用于指示所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流的当前进度。
可选的,所述根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流,还包括:
获取所述在线视频流转换平台对应的处理器的占用率;
当所述处理器的占用率大于预设占用率时,将当前转换为适用于所述第一终端的目标格式的视频流对应的视频存储到内存中;
所述通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放,包括:
获取内存中转换为适用于所述第一终端的目标格式的视频流对应的视频;
通过nginx将所述视频基于所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
第二方面,本申请提供一种视频流格式转换装置,其特征在于,应用于在线视频流转换平台,包括:
获取模块,用于获取用户通过第一终端输入的视频转码请求,所述视频转码请求包括待转码视频的标识信息和所述第一终端的标识信息;
接收模块,用于根据所述视频转码请求,实时接收待转码格式的视频流;
转换模块,用于根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流;
推送模块,用于通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
可选的,所述获取模块,还用于:
接收用户输入的监控视频配置指令,所述监控视频配置指令用于将目标摄像头的视频流信息接入所述在线视频流转换平台,以将所述目标摄像头的视频流信息存入所述在线视频流转换平台的数据库中;
从所述在线视频流转换平台的数据库中获取所述目标摄像头的视频流信息;
根据所述目标摄像头的视频流信息,向所述目标摄像头发送PING指令,并接收所述目标摄像头发送的PING响应指令;
根据所述PING响应指令,确定所述目标摄像头配置成功。
可选的,所述获取模块,还用于:
接收用户输入的存储视频配置指令,所述存储配置指令用于在所述在线视频流转换平台上对所述第一终端中存储的视频转换为目标格式的视频流时的配置参数进行配置;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,从所述第一终端中实时获取所述第一终端中存储的待转换的视频流。
可选的,所述接收模块在所述转换模块根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流之后,还用于:
通过预设的API,向所述第一终端发送第一视频流格式转换结果,所述第一视频流格式转换结果用于指示所述待转码格式的视频流是否成功转换为适用于所述第一终端的目标格式的视频流。
可选的,所述装置还包括:发送模块;
所述获取模块获取用户通过第一终端输入的视频转码请求之后,还包括:
所述发送模块,用于通过tcp和/或websocket长连接,在所述视频流转换过程中周期性向所述第一终端发送第二视频流格式转换结果,所述第二视频流格式转换结果用于指示所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流的当前进度。
可选的,所述转换模块根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流时,还用于:
获取处理器的占用率;
当所述处理器的占用率大于预设占用率时,将转换为适用于所述第一终端的目标格式的视频流对应的视频存储到内存中;
所述推动模块通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放时,具体用于:
获取内存中转换为适用于所述第一终端的目标格式的视频流对应的视频;
通过nginx将所述视频基于所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
第三方面,本申请提供一种电子设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令或程序,当处理器执行所述计算机执行指令或程序时,实现如第一方面任一项所述的方法。
第五方面,本申请实施例提供一种包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
本申请提供的视频流格式转换方法、装置和存储介质,通过获取用户通过第一终端输入的视频转码请求,视频转码请求包括待转码视频流的标识信息和第一终端的标识信息;根据视频转码请求,实时接收待转码格式的视频流;根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流;通过nginx将转换为目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。实现了对视频流的实时获取,对视频流格式的实时转换以及转换格式后的视频流的实时推送,而不需要用安装插件对视频流的格式进行转换,视频播放效果好。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的视频流格式转换方法的流程示意图;
图2为本申请一实施例提供的视频流格式转换方法的流程框图;
图3为本申请一实施例提供的ffmpeg转换视频流格式示意图;
图4为本申请一实施例提供的视频流格式转换装置的结构示意图;
图5为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,也属于本申请保护的范围。
现有技术中,市面上通用的摄像机的视频流大都是RTSP格式的,而手机、电脑等终端支持的视频流的格式分别为RTMP格式、HLS格式。因此,监控摄像头拍摄的实时视频在手机、电脑等终端上播放时,需要进行视频流格式转换。
目前,通过手机、电脑观看监控摄像头时,可以在手机端、电脑端安装插件来实现视频流转换,这种方式占用终端内存,播放效果差。或者,购买摄像头生产厂家售卖的与摄像头对应的视频转码机,但是,一台视频转码机可以转码的视频流有限,当监控摄像头数量多时,需要购买多台视频转码机,成本较高。
因此,为解决现有技术中存在的问题,本申请提出一种视频流格式转换方法,通过程序将视频流格式转换嵌入到转码服务器中,构建视频流转换平台,直接获取监控摄像头输送的视频流,并通过ffmpeg对视频流进行格式转换,然后通过nginx将转换为目标格式的视频流实时推送给用户。这种格式转换方式不需要在手机端、电脑端安装插件,也不需要购买视频转码机,适用于不同视频流格式的摄像头,兼容性强,终端播放效果好。
图1为本申请一实施例提供的视频流格式转换方法的流程示意图,图2为本申请一实施例提供的视频流格式转换方法的流程框图。其中,本实施例的执行主体例如可以为转码服务器,设置有在线视频流转换平台供用户使用。如图1所示,本实施例所述的方法包括:
S101、获取用户通过第一终端输入的视频转码请求。
其中,视频转码请求包括待转码视频的标识信息和第一终端的标识信息。
具体的,以监控摄像头为例进行说明。
其中,第一终端为用户会查看监控摄像头监控视频的终端。
多路监控摄像头接入该在线视频流转换平台,当用户需要观看目标摄像头对应位置的监控时,用户通过第一终端输入目标摄像头的标识信息,其中,标识信息例如可以是监控摄像头的编号。
需要说明的是,由于目标摄像头的视频流的传输协议与目标摄像头对应,因此,目标摄像头的标识信息也就是待转码视频流的标识信息。其中,待转码视频流的传输协议例如是RTSP协议。
并且,由于手机端和PC端上支持的视频流的格式不同,手机端支持的视频流格式为RTMP格式,PC端支持的视频流格式为HLS格式。因此,用户在第一终端上输入目标摄像头的标识信息时,还需要输入第一终端的标识信息,以使转码服务器通过第一终端的标识信息确定第一终端对应的视频流格式。
S102、根据视频转码请求,实时接收待转码格式的视频流。
具体的,转码服务器接收到视频转码请求后,根据目标摄像头的标识信息,确定目标摄像头并连接,接收目标摄像头传输的RTSP格式的视频流。
S103、根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流。
具体的,由于手机端和PC端上支持的视频流的格式不同,因此,转码服务器在对RTSP格式的视频流进行转码时,需要根据第一终端将RTSP格式的视频流转换为第一终端支持的视频流格式。
因此,转码服务器根据第一终端的标识信息,确定第一终端是手机端还是PC端,当第一终端是手机端时,将RTSP格式的视频流转码为RTMP格式的视频流,并将HLS格式的视频流推送到nginx的RTMP模块;当第一终端是PC端时,将RTSP格式的视频流转码为HLS格式的视频流,并将HLS格式的视频流推送到nginx的HLS模块。
如图3所示,以待转码格式的视频流格式为RTSP为例进行说明,ffmpeg获取到RTSP格式的视频流,其中,该视频流包括音频和视频,将RTSP格式的视频流拆分为视频流(该视频流单纯为视频流)和音频流,然后,对音频流进行解码,获得脉冲编码调制(Pulse CodeModulation,PCM),然后,对其进行编码,获得转换后的音频流。对视频流进行解码,获得YUV格式的图像,然后对YUV格式的图像进行编码,获得转换后的视频流(该视频流单纯为视频流)。最后将转换后的音频流和转换后的视频流(该视频流单纯为视频流)进行重组,获得转换后的视频流(该视频流包括视频流和音频流)。
S104、通过nginx将转换为所述目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。
具体的,nginx中的RTMP模块接收到RTMP格式的视频流时,将其实时推送给手机端,nginx中的HLS模块接收到HLS格式的视频流时,将其实时推送给PC端,在第一终端上进行实时播放,使用户查看目标摄像头的监控区域。
本实施例,转码服务器通过获取视频转码请求,视频转码请求包括待转码视频流的标识信息和第一终端的标识信息;根据视频转码请求,实时接收待转码格式的视频流;根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流;通过nginx将转换为目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。实现了对视频流的实时获取,对视频流格式的实时转换以及转换格式后的视频流的实时推送,而不需要用安装插件对视频流的格式进行转换,视频播放效果好。
在一些实施例中,S101之前,所述方法还包括:
S201、接收用户通过该第二终端输入的监控视频配置指令
其中,监控视频配置指令用于将目标摄像头的视频流信息接入在线视频流转换平台,以将目标摄像头的视频流信息存入在线视频流转换平台的数据库中,监控视频配置指令携带有目标摄像头的位置信息、IP地址;第一终端用于查看目标摄像头的监控视频;。
本实施例中,以监控摄像头的视频流协议为GB28181协议为例进行说明。
在对监控摄像头的视频流的格式进行转码前,需要将摄像头的视频流接入到线视频流转换平台,从而使监控摄像头的视频流信息存入在线视频流转换平台的数据库中。
具体的,对于监控摄像头,我国制定了安防行业统一的设备接入、流媒体传输协议,即GB28181协议,手机端、PC端不支持播放GB28181协议的视频流。
在对监控摄像头传输的视频流进行转码,也就是将监控摄像头接入到在线视频流转换平台时,首先确认其是否是GB28181协议。
如果监控摄像头的视频流传输协议是GB28181协议,则在第二终端上输入监控视频配置指令,也就是输入监控摄像头的视频流信息,从而将该监控摄像头接入在线视频流转换平台,将监控摄像头的视频流信息存入所述在线视频流转换平台的数据库中。这样,该监控摄像头传输的视频流可通过在线视频流转换平台进行视频流的格式转换。
需要说明的是,第二终端可以是任一终端,用于对监控摄像头进行配置,其中,第二终端和第一终端可以是同一终端。
其中,视频流信息包括:监控摄像头的位置信息、IP地址、视频流协议参数(例如,国标GB28181参数,包括:会话初始化协议(Session Initiation Protocol,SIP)地址、SIP服务器端口、SIP服务器地址等)等,位置信息例如可以为GPS信息,IP地址、视频流协议参数例如可以从监控摄像头的生产厂家的服务器获取。
需要说明的是,本申请还可以对RTSP格式的视频流进行转码,其中,在对RTSP格式的视频流进行转码前,需要在在线视频流转换平台上进行配置,其配置方法可参考GB28181协议的配置方法。
S202、从在线视频流转换平台的数据库中获取目标摄像头的视频流信息。
具体的,多路摄像头根据S201所述的方法进行配置,在多路摄像头配置完成后,依次从在线视频流转换平台的数据库中获取每台摄像头的视频流信息中的流地址信息,例如,监控摄像头的位置信息,IP地址等。
S203、根据目标摄像头的视频流信息,向目标摄像头发送PING指令,并接收目标摄像头发送的PING响应指令
具体的,根据每台监控摄像头的流地址信息,向每台监控摄像头依次发送PING指令,如果监控摄像头成功接入在线视频流转换平台,则监控摄像头接收到PING指令,并返回PING响应指令。
S204、根据PING响应指令,确定所述目标摄像头配置成功。
具体的,转码服务器接收到监控摄像头发送的PING响应指令,确认监控摄像头配置成功,可以对其传输的视频流进行转码服务。
可选的,如果转码服务器没有接收到监控摄像头发送的PING响应指令,则继续向下一台监控摄像头发送PING指令,待预设时长后,再次向没有接收到的PING响应指令的监控摄像头发送的PING指令,直至接收到该监控摄像头发送的PING响应指令,或者,在向没有接收到的PING响应指令的监控摄像头多次,例如3次,发送PING指令,但仍未接收到PING响应指令时,提示该监控摄像头配置失败,用户再次配置。
相应的,S102的一种可能的实现方式为:根据视频转码请求,实时接收目标摄像头输送的待转码格式的视频流。
本实施例,通过将监控摄像头提前进行配置,使监控摄像头接入在线视频流转换平台,并通过PING指令确定监控摄像头配置成功。当用户需要查看其中一台监控摄像头的监控视频时,转码服务器可以直接获取该监控摄像头的视频流,从而对视频流的格式进行转码服务,获得用户的第一终端支持看的视频流格式。这样,便于用户随意查看任一监控摄像头的监控视频,用户体验度高。
本申请提出的视频流格式转换方法,不仅可以对监控摄像头实时拍摄传输的视频流进行格式转换,也可以对存储的视频进行视频流格式转换,便于用户使用。例如,将MP格式存储的视频转换为RTMP格式的视频流,在直播APP中进行直播。
因此,在一些实施例中,方法还包括:
S301、接收用户通过第一终端输入的存储视频配置指令。
其中,存储配置指令用于在在线视频流转换平台上对第一终端中存储的视频转换为目标格式的视频流时的配置参数进行配置;
相应的,S102的一种可能的实现方式为:根据视频转码请求,从第一终端中实时获取第一终端中存储的待转换的视频流。
具体的,以视频格式为MP4为例进行说明。
用户需要将MP4格式的视频进行实时播放时,在人机交互界面上输入存储视频配置指令,也就是输入转码的配置参数。其中,配置参数例如包括:分辨率、解码率等。
参数配置完成后,通过转码服务器对MP4格式的视频进行转码。转码服务器接收到视频转码请求后,根据视频转码请求中的MP4格式的视频的标识信息确定该MP4格式的视频,从而获取该MP4格式的视频的视频流。
需要说明的是,本申请提出的视频流格式转换方法,还可以对其他格式的音视频进行转码,例如:视频编码格式:H.264/AVC、H.265/HEVC、FLV、M3U8等主流视频格式;音频编码格式:AAC、AC-3、ADPCM、AMR、DSD等,其转码方法可参考上述实施例,此处不再赘述。
视频流格式进行转码时,ffmpeg对接入的视频流进行解码、拆分、转码、重组,其中,在解码阶段,需要对视频进行抽帧,以及在解码和编码阶段,需要调整码率和视频的尺寸,这些都比较耗时,尤其是对MP4格式的视频进行转码时,耗时更长,视频文件越大处理越耗时。
以4K视频的操作为例,在解码阶段,抽帧操作耗时在30秒左右,在解码和编码阶段,调整码率和尺寸,将4K的视频转成720P的视频(文件大小从300MB左右减少为10MB左右),以便适合手机等移动网络观看,操作耗时在60秒左右。
因此,需要用户发送视频转码请求后,一直在占用处理器资源,等待转码结束,会导致处理器负载过多。
因此,在一些实施例中,在S103之后,还包括:通过预设的API,向第一终端发送第一视频流格式转换结果。
其中,第一视频流格式转换结果用于指示待转码格式的视频流是否成功转换为适用于第一终端的目标格式的视频流。
具体的,用户预留API,在用户发送视频转码请求后,释放处理器资源,等待转码服务器转码完成后,通过调用API,向第一终端发送视频流格式转换结果,以通知用户视频流格式转换时否成功,避免视频转码请求一直在占用处理器资源。
或者,在一些实施例中,S101之后,还包括:通过tcp和/或websocket长连接,在所述视频流转换过程中周期性向所述第一终端发送第二视频流格式转换结果。
其中,第二视频流格式转换结果用于指示待转码格式的视频流转换为适用于第一终端的目标格式的视频流的当前进度。
具体的,第一终端与转码服务器之间通过tcp和/或websocket建立长连接,用户发送视频转码请求后,释放处理器资源,转码服务器通过tcp和/或websocket长连接,周期性的向第一终端发送当前视频流格式转换的进度,避免视频转码请求一直在占用处理器资源。
处理器占用过高会影响视频流的转码效率,而ffmpeg在对视频流的格式进行转换时默认的转码是使用软件解码,然后软件编码,速度慢,会消耗大量的处理器资源。因此,在一些实施例中,执行S103时,所述方法还包括:
S401、获取在线视频流转换平台对应的处理器的占用率。
具体的,在ffmpeg对视频流的格式进行转换时,获取在线视频流转换平台对应的处理器的占用率。
S402、当处理器的占用率大于预设占用率时,将当前转换为适用于第一终端的目标格式的视频流对应的视频存储到内存中。
具体的,以将MP4格式的视频转码为适用于第一终端播放的视频流格式为例进行说明。
在对MP4格式的视频转码进行转码时,当处理器的占用率大于50%时,启用ffmpeg的内存转码,使用ffmpeg将当前转换好的视频存储到内存中,这样,内存中存储的视频时一个完整的视频文件。
相应的,S104的一种可能的实现方式为:
S1041、获取内存中转换为适用于第一终端的目标格式的视频流对应的视频。
S1042、通过nginx将视频基于目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。
具体的,获取内存中的视频文件,直接通过nginx将视频以适用于第一终端的视频流格式推送给第一终端,通过第一终端的播放器进行播放。
在一些实施例中,第一终端的播放器对视频文件播放结束后,向转码服务器发送视频文件播放结束指令,以释放处理器资源,防止因为转码服务器硬件资源占用过高造成的转码服务缓慢或异常。
图4为本申请一实施例提供的视频流格式转换装置的结构示意图。如图4所示,视频流格式转换装置包括:获取模块41、接收模块42、转换模块43和推送模块44。可选的,视频流格式转换装置还可以包括:发送模块45。
其中,获取模块41,用于获取用户通过第一终端输入的视频转码请求,视频转码请求包括待转码视频的标识信息和第一终端的标识信息;
接收模块42,用于根据视频转码请求,实时接收待转码格式的视频流;
转换模块43,用于根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流;
推送模块44,用于通过nginx将转换为目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。
可选的,获取模块41,还用于:
接收用户通过第二终端输入的监控视频配置指令,监控视频配置指令用于将目标摄像头的视频流信息接入在线视频流转换平台,以将目标摄像头的视频流信息存入在线视频流转换平台的数据库中,其中,所述监控视频配置指令携带有目标摄像头的位置信息、IP地址;
从在线视频流转换平台的数据库中获取目标摄像头的视频流信息;
根据目标摄像头的视频流信息,向目标摄像头发送PING指令,并接收目标摄像头发送的PING响应指令;
根据PING响应指令,确定目标摄像头配置成功;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,实时接收所述目标摄像头输送的待转码格式的视频流;
其中,所述第一终端用于查看所述目标摄像头的监控视频。
可选的,获取模块41,还用于:
接收用户通过所述第一终端输入的存储视频配置指令,存储配置指令用于在在线视频流转换平台上对第一终端中存储的视频转换为目标格式的视频流时的配置参数进行配置,其中,所述配置参数包括视频分辨率、解码率;
根据视频转码请求,实时接收待转码格式的视频流,包括:
根据视频转码请求,从第一终端中实时获取第一终端中存储的待转换的视频流。
可选的,接收模块42在转换模块43根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流之后,还用于:
通过预设的API,向第一终端发送第一视频流格式转换结果,所述第一视频流格式转换结果用于指示所述待转码格式的视频流是否成功转换为适用于所述第一终端的目标格式的视频流。
可选的,获取模块41获取用户通过第一终端输入的视频转码请求之后,还包括:
发送模块45,用于通过tcp和/或websocket长连接,在所述视频流转换过程中周期性向第一终端发送第二视频流格式转换结果,所述第二视频流格式转换结果用于指示所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流的当前进度。
可选的,转换模块43根据第一终端的标识信息,通过ffmpeg实时将待转码格式的视频流转换为适用于第一终端的目标格式的视频流时,还用于:
获取在线视频流转换平台对应的处理器的占用率;
当处理器的占用率大于预设占用率时,将当前转换为适用于第一终端的目标格式的视频流对应的视频存储到内存中;
推动模块通过nginx将转换为目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放时,具体用于:
获取内存中转换为适用于第一终端的目标格式的视频流对应的视频;
通过nginx将视频基于目标格式的视频流实时推送给第一终端,以在第一终端上进行实时播放。
本申请实施例提供的视频流格式转换装置,其具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本申请一实施例提供的电子设备的结构示意图。如图5所示,电子设备包括:处理器501和存储器502。
其中,所述存储器502存储计算机执行指令。
所述处理器501执行所述存储器502存储的计算机执行指令,使得所述处理器501执行上述任一实施例所述的方法。
本申请实施例提供的电子设备,其具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图5所示的实施例中,应理解,处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的视频流格式转换方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application SpecificIntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种视频流格式转换方法,其特征在于,应用于在线视频流转换平台,包括:
获取用户通过第一终端输入的视频转码请求,所述视频转码请求包括待转码视频流的标识信息和所述第一终端的标识信息;
根据所述视频转码请求,实时接收待转码格式的视频流;
根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流;
通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
2.根据权利要求1所述的方法,其特征在于,所述获取视频转码请求之前,还包括:
接收用户通过第二终端输入的监控视频配置指令,所述监控视频配置指令用于将目标摄像头的视频流信息接入所述在线视频流转换平台,以将所述目标摄像头的视频流信息存入所述在线视频流转换平台的数据库中,其中,所述监控视频配置指令携带有所述目标摄像头的位置信息、IP地址;
从所述在线视频流转换平台的数据库中获取所述目标摄像头的视频流信息;
根据所述目标摄像头的视频流信息,向所述目标摄像头发送PING指令,并接收所述目标摄像头发送的PING响应指令;
根据所述PING响应指令,确定所述目标摄像头配置成功;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,实时接收所述目标摄像头输送的待转码格式的视频流;
其中,所述第一终端用于查看所述目标摄像头的监控视频。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户通过所述第一终端输入的存储视频配置指令,所述存储配置指令用于在所述在线视频流转换平台上对所述第一终端中存储的视频转换为目标格式的视频流时的配置参数进行配置,其中,所述配置参数包括视频分辨率、解码率;
所述根据所述视频转码请求,实时接收待转码格式的视频流,包括:
根据所述视频转码请求,从所述第一终端中实时获取所述第一终端中存储的待转换的视频流。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流之后,还包括:
通过预设的应用程序编程接口API,向所述第一终端发送第一视频流格式转换结果,所述第一视频流格式转换结果用于指示所述待转码格式的视频流是否成功转换为适用于所述第一终端的目标格式的视频流。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述获取用户通过第一终端输入的视频转码请求之后,还包括:
通过tcp和/或websocket长连接,在所述视频流转换过程中周期性向所述第一终端发送第二视频流格式转换结果,所述第二视频流格式转换结果用于指示所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流的当前进度。
6.根据权利要求3所述的方法,其特征在于,所述根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流,还包括:
获取所述在线视频流转换平台对应的处理器的占用率;
当所述处理器的占用率大于预设占用率时,将当前转换为适用于所述第一终端的目标格式的视频流对应的视频存储到内存中;
所述通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放,包括:
获取内存中转换为适用于所述第一终端的目标格式的视频流对应的视频;
通过nginx将所述视频基于所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
7.一种视频流格式转换装置,其特征在于,应用于在线视频流转换平台,包括:
获取模块,用于获取用户通过第一终端输入的视频转码请求,所述视频转码请求包括待转码视频的标识信息和所述第一终端的标识信息;
接收模块,用于根据所述视频转码请求,实时接收待转码格式的视频流;
转换模块,用于根据所述第一终端的标识信息,通过ffmpeg实时将所述待转码格式的视频流转换为适用于所述第一终端的目标格式的视频流;
推送模块,用于通过nginx将转换为所述目标格式的视频流实时推送给所述第一终端,以在所述第一终端上进行实时播放。
8.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令或程序,当处理器执行所述计算机执行指令或程序时,实现如权利要求1-6任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN202111155691.9A 2021-09-30 2021-09-30 视频流格式转换方法、装置和存储介质 Pending CN113973214A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111155691.9A CN113973214A (zh) 2021-09-30 2021-09-30 视频流格式转换方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111155691.9A CN113973214A (zh) 2021-09-30 2021-09-30 视频流格式转换方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN113973214A true CN113973214A (zh) 2022-01-25

Family

ID=79587002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111155691.9A Pending CN113973214A (zh) 2021-09-30 2021-09-30 视频流格式转换方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN113973214A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827670A (zh) * 2022-06-30 2022-07-29 椭圆方程(深圳)信息技术有限公司 一种视频播放方法、装置及电子设备
CN115022680A (zh) * 2022-08-03 2022-09-06 海易科技(北京)有限公司 视频播放方法、装置、电子设备和计算机可读介质
CN115022676A (zh) * 2022-04-01 2022-09-06 重庆创通联达智能技术有限公司 视频流的推送方法、装置、电子设备及可读介质
CN115460438A (zh) * 2022-09-22 2022-12-09 西安诺瓦星云科技股份有限公司 视频推送方法、装置、非易失性存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702774A (zh) * 2009-10-23 2010-05-05 深圳中兴力维技术有限公司 应用于移动视频监控系统的移动视频码流定制装置及方法
CN103179433A (zh) * 2011-12-26 2013-06-26 中国移动通信集团上海有限公司 一种视频内容提供系统、方法及服务节点
CN106210611A (zh) * 2015-04-30 2016-12-07 中国电信股份有限公司 一种用于播放视频的方法、视频监控平台和系统
US20190335218A1 (en) * 2016-11-17 2019-10-31 Pandoratv Co., Ltd Method of real-time file format conversion streaming service
CN111147859A (zh) * 2019-12-31 2020-05-12 视联动力信息技术股份有限公司 一种视频处理方法和装置
CN111800521A (zh) * 2020-09-08 2020-10-20 武汉中科通达高新技术股份有限公司 一种前端设备控制方法及装置
CN112866413A (zh) * 2021-02-19 2021-05-28 北京金山云网络技术有限公司 数据传输方法、装置、电子设备和计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702774A (zh) * 2009-10-23 2010-05-05 深圳中兴力维技术有限公司 应用于移动视频监控系统的移动视频码流定制装置及方法
CN103179433A (zh) * 2011-12-26 2013-06-26 中国移动通信集团上海有限公司 一种视频内容提供系统、方法及服务节点
CN106210611A (zh) * 2015-04-30 2016-12-07 中国电信股份有限公司 一种用于播放视频的方法、视频监控平台和系统
US20190335218A1 (en) * 2016-11-17 2019-10-31 Pandoratv Co., Ltd Method of real-time file format conversion streaming service
CN111147859A (zh) * 2019-12-31 2020-05-12 视联动力信息技术股份有限公司 一种视频处理方法和装置
CN111800521A (zh) * 2020-09-08 2020-10-20 武汉中科通达高新技术股份有限公司 一种前端设备控制方法及装置
CN112866413A (zh) * 2021-02-19 2021-05-28 北京金山云网络技术有限公司 数据传输方法、装置、电子设备和计算机可读存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022676A (zh) * 2022-04-01 2022-09-06 重庆创通联达智能技术有限公司 视频流的推送方法、装置、电子设备及可读介质
CN115022676B (zh) * 2022-04-01 2024-02-13 重庆创通联达智能技术有限公司 视频流的推送方法、装置、电子设备及可读介质
CN114827670A (zh) * 2022-06-30 2022-07-29 椭圆方程(深圳)信息技术有限公司 一种视频播放方法、装置及电子设备
CN115022680A (zh) * 2022-08-03 2022-09-06 海易科技(北京)有限公司 视频播放方法、装置、电子设备和计算机可读介质
CN115022680B (zh) * 2022-08-03 2022-11-01 海易科技(北京)有限公司 视频播放方法、装置、电子设备和计算机可读介质
CN115460438A (zh) * 2022-09-22 2022-12-09 西安诺瓦星云科技股份有限公司 视频推送方法、装置、非易失性存储介质及电子设备
CN115460438B (zh) * 2022-09-22 2024-05-10 西安诺瓦星云科技股份有限公司 视频推送方法、装置、非易失性存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN113973214A (zh) 视频流格式转换方法、装置和存储介质
CN108712654B (zh) 一种音视频流的转码方法及设备
US10021318B2 (en) Method and apparatus in a motion video capturing system
CN112073423A (zh) 基于WebRTC进行浏览器推流的方法及系统
CN112752115B (zh) 直播数据传输方法、装置、设备及介质
WO2020155295A1 (zh) 一种直播数据处理方法、系统及服务器
CN111225222A (zh) 基于rtmp的屏幕数据的视频流播放方法、装置和系统
EP2822274A1 (en) Method for converting online media data or playing video and apparatus thereof
US10567825B2 (en) Cloud DVR storage
CN102625150A (zh) 一种媒体播放系统和方法
CN108055595B (zh) 视频图像的重定向方法、计算机可读存储介质
CN110740386B (zh) 直播切换方法、装置及存储介质
US11438645B2 (en) Media information processing method, related device, and computer storage medium
US10819951B2 (en) Recording video from a bitstream
WO2011120204A1 (en) Methods, apparatuses and computer program products for pausing video streaming content
US20160029053A1 (en) Method for transmitting media data and virtual desktop server
CN105577645A (zh) 基于代理的hls客户端装置及其实现方法
CN112354177A (zh) 基于webrtc的云游戏即时启动方法、装置及系统
CN112261377A (zh) web版监控视频播放方法、电子设备及存储介质
CN113938470A (zh) 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器
CN104581234B (zh) 一种机顶盒及基于机顶盒实现媒体数据转码的方法和系统
CN101848367A (zh) 基于文件的动态影像网络直播方法
CN107276990B (zh) 一种流媒体直播方法及装置
US11252471B2 (en) Method for managing the electricity consumption of an electronic device
CN113709447B (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