CN105338424B - 一种视频处理方法及*** - Google Patents

一种视频处理方法及*** Download PDF

Info

Publication number
CN105338424B
CN105338424B CN201510718386.4A CN201510718386A CN105338424B CN 105338424 B CN105338424 B CN 105338424B CN 201510718386 A CN201510718386 A CN 201510718386A CN 105338424 B CN105338424 B CN 105338424B
Authority
CN
China
Prior art keywords
video
slicing files
file
server
processed
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
CN201510718386.4A
Other languages
English (en)
Other versions
CN105338424A (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia 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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201510718386.4A priority Critical patent/CN105338424B/zh
Publication of CN105338424A publication Critical patent/CN105338424A/zh
Application granted granted Critical
Publication of CN105338424B publication Critical patent/CN105338424B/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频处理方法及***,所述方法包括:在客户端,获取待处理视频文件,将其拆分为若干个分片文件并压缩后分别上传至服务端;在服务端,待接收到所有分片文件后对其解压缩并存入分布式文件***中;下载待处理视频文件的各分片文件,对其进行压缩解码,之后将新的分片文件存入分布式文件***中;将各分片文件合并为一个完整的视频文件。本发明在客户端将视频文件由大文件拆分成小文件,分片并行上传,不仅可以提高传输效率,还可以减少网络流量耗费;服务端在集群下将多个小文件并行解码压缩处理,减少了处理时间;不仅可以单独播放还可以分块分段播放,适用于环境复杂的视频播放领域,大大提升了用户体验。

Description

一种视频处理方法及***
技术领域
本发明涉及通信技术领域,尤其涉及一种视频处理方法及***。
背景技术
随着移动互联网的快速发展,越来越多的社交平台从图片分享转向了视频分享。视频集成了声音、文字、图像的媒介,能够更为快捷地令人看懂内容。特别是短视频具备的动情快、传播高效的优势,令短视频成为众多社交应用的主流营销手段。然而,目前的视频处理效率亟需提升,以确保良好的用户体验。
发明内容
本发明的主要目的在于提出一种视频处理方法及***,提高视频处理效率,提升用户体验。
为实现上述目的,本发明提供了一种视频处理方法,该方法包括步骤:
客户端获取待处理视频文件,将其拆分为若干个分片文件并压缩后分别上传至服务端;
所述服务端接收来自客户端的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩并存入分布式文件***中;
从分布式文件***中下载待处理视频文件的各分片文件,对各分片文件进行压缩解码,之后将新的分片文件存入分布式文件***中;
从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
可选的,获取待处理视频文件的方法为:按照预设的分辨率、大小和/或时长阈值来选择本地视频文件或者实时录制视频文件。
可选的,所述服务端接收分片文件的步骤包括:
在收到第一个有效分片文件时,即建立一相应的文件信息并将所述文件信息存储于本地磁盘中;
在后续每接收到一有效分片文件时,更新所述文件信息;
待待处理视频文件的所有分片文件都上传后,使用一解压缩工具对每个分片文件进行解压缩,之后存入分布式文件***中。
可选的,所述客户端将分片文件通过Http分别上传至服务端,每个分片文件的Http头部格式为:视频文件名称+校验码+分片文件序号+分片开始位置-分片文件结束位置/文件大小。
可选的,在服务端,从分布式文件***中下载待处理视频文件的各分片文件后,通过服务器集群对各分片文件进行并行压缩解码处理。
可选的,所述通过服务器集群对各分布文件进行并行压缩解码的处理步骤进一步包括:
在接收到待处理视频文件的所有分片文件后,生成视频处理请求;
根据所述视频处理请求,从分布式文件***中取得待处理视频文件的各分片文件信息,为每个分片文件生成一对应的压缩解码任务并放入视频压缩解码处理队列中;
各个视频压缩解码服务器从所述视频压缩解码处理队列中取得任务,然后从分布式文件***中下载原分片文件,对此原分片文件解码压缩成新的分片文件后存入分布式文件***中;
可选的,所述将各分片文件合并处理的步骤进一步包括:
待待处理视频文件的所有分片文件完成解码压缩处理后,生成一相应的合并任务放入合并队列中;
视频合并处理服务器从合并队列取得任务,将所有新的分片文件合并为一完整的视频文件后存入分布式文件***中。
一种视频处理***,包括客户端和服务端,
所述客户端,用于将待处理视频文件拆分为若干个分片文件,压缩处理后上传至服务端;
所述服务端,用于接收来自客户端的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩并存入分布式文件***中;还用于从分布式文件***中下载待处理视频文件的各分片文件,对各分片文件进行压缩解码,之后将新的分片文件存入分布式文件***中;以及,从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
可选的,所述服务端包括:上传服务器、调度服务器、视频压缩解码处理服务集群、视频合并处理服务集群、分布式文件***,
所述上传服务器,用于接收客户端上传的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩、存入分布式文件***中,并向调度服务器发送该待处理视频文件的视频处理请求;
所述调度服务器,用于在接收到视频处理请求时,对视频压缩解码处理服务集群、视频合并处理服务集群中的服务器进行调度,完成分片文件的压缩解码及合并处理;
所述视频压缩解码处理服务集群,包括多个视频压缩解码处理服务器,用于从分布式文件***中下载待处理视频文件的各分片文件,对其进行压缩解码,之后将新的分片文件存入分布式文件***中;
所述视频合并处理服务集群,包括有多个视频合并处理服务器,用于从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
可选的,所述客户端具体为:手机、平板电脑、笔记本电脑,台式机;该客户端具体包括:
视频文件获取模块,用于从本地数据库中选择已录制的视频文件,或者实时录制视频文件,作为待处理视频文件;
文件拆分模块,用于拆分所述待处理视频文件,获得若干个分片文件;
文件压缩模块,用于将各分片文件分别压缩;
文件上传模块,用于将压缩后的各分片文件通过http上传至服务端。
与现有技术相比,本发明具有以下技术效果:
1)本发明在客户端将视频文件由大文件拆分成小文件,分片并行上传,不仅可以提高传输效率,而且可以减少传输失败后需要重传造成的流量耗费;
2)服务端在集群下将多个小文件并行解码压缩处理,大大减少了处理时间;之后再进行合并成一个视频文件,不仅可以单独播放还可以分块分段播放,适用于环境复杂的视频播放领域,大大提升了用户体验。
附图说明
图1为实现本发明各个实施例的移动终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信***示意图;
图3为本发明实施例一提供的客户端的预处理方法流程图;
图4为本发明实施例一提供的服务端的视频处理方法流程图;
图5为本发明实施例一提供的视频处理***架构图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的移动终端的硬件结构示意图。
移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信***或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播***接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFLO@)的数据广播***、地面数字广播综合服务(ISDB-T)等等的数字广播***接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播***以及上述数字广播***。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160(或者其它类型的存储介质)中。
移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
短程通信模块114是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
位置信息模块115是用于检查或获取移动终端的位置信息的模块。位置信息模块的典型示例是GPS(全球定位***)。根据当前的技术,GPS模块115计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三角测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,GPS模块115能够通过实时地连续计算当前位置信息来计算速度信息。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风1220,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机1210。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
感测单元140检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元140可以感测该滑动型电话是打开还是关闭。另外,感测单元140能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。感测单元140可以包括接近传感器1410将在下面结合触摸屏来对此进行描述。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
警报单元153可以提供输出以将事件的发生通知给移动终端100。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或视频输出之外,警报单元153可以以不同的方式提供输出以通知事件的发生。例如,警报单元153可以以振动的形式提供输出,当接收到呼叫、消息或一些其它进入通信(incoming communication)时,警报单元153可以提供触觉输出(即,振动)以将其通知给用户。通过提供这样的触觉输出,即使在用户的移动电话处于用户的口袋中时,用户也能够识别出各种事件的发生。警报单元153也可以经由显示单元151或音频输出模块152提供通知事件的发生的输出。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块1810,多媒体模块1810可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信***以及基于卫星的通信***来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信***。
这样的通信***可以使用不同的空中接口和/或物理层。例如,由通信***使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信***(UMTS)(特别地,长期演进(LTE))、全球移动通信***(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信***,但是这样的教导同样适用于其它类型的***。
参考图2,CDMA无线通信***可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的***可以包括多个BSC2750。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子***(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在***内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位***(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信***的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端硬件结构以及通信***,提出本发明各个实施例。
实施例一
本实施例中,视频处理方法的核心思想为:
1)将视频文件由大文件裁剪成小文件,分片上传,不仅可以提高传输效率,而且可以减少传输失败后需要重传造成的客户端的流量耗费;
2)将裁剪得到的多个小文件并行解码压缩处理,减少处理时间;之后再进行合并成一个文件,该文件已经很小,可以由业务***使用进行分享;
3)多个小文件可以用于更高级的分块分段播放。
基于上述核心思想,本实施例中的视频处理方法包括:客户端的预处理步骤,以及服务端的处理步骤。下面将分别进行详细描述。
一、客户端的预处理
请参阅图3,客户端的预处理步骤包括:
步骤301、在客户端预先安装文件拆分工具和文件压缩工具。文件拆分工具可以采用ffmpeg工具,文件压缩工具可以采用gzip工具。
步骤302、客户端获取待处理视频文件;该视频文件可以由客户端实时录制,也可以选择本地存储的视频文件。
为了能够进一步加快处理效率,在录制视频文件时,可控制摄像头的分辨率及录制时长,优选分辨率为480p、优选时长为1min以内;在选择本地视频文件时,可限制视频文件的大小,优选为100M以内。
需要注意的是,在对视频文件命名时,要保证客户端生成的文件名是唯一的,参考使用Snowflake是twitter开源的ID生成服务器来生成新文件名;然后裁剪后的文件名为增加递增序号,参考如下:
原文件:
aaaaaaaaaaaaaaaa.mp4
n个小文件:
aaaaaaaaaaaaaaaa_0.mp4
aaaaaaaaaaaaaaaa_1.mp4
……
aaaaaaaaaaaaaaaa_n-1.mp4。
步骤303、应用文件拆分工具(如ffmpeg工具),将待处理的视频文件拆分为若干个小视频文件。本步骤中,可以将视频文件按照预设时长来拆分,如10s。
步骤304、应用文件压缩工具(如gzip工具),将各个小视频文件分别进行压缩,通过http将这些小视频文件上传至服务端。
在通过http上传文件之前,Http请求头部设置规则如下:
File-Range aaaaaaaaaaaaaaaa.mp4checksum 0/n
Content-Range bytes 0-1023/4096。
说明如下:
aaaaaaaaaaaaaaaa.mp4:为文件名,用于判断小文件属于同一个视频文件;
checksum为文件的crc32校验码,用于校验文件在传输时是否丢失数据;
0/n:n个小文件的第0个文件;
0-1023/4096:分片开始位置-分片结束位置/文件大小(小文件的大小)。
上述流程中,客户端通过对视频文件拆分及压缩后再上传,不仅可以提高传输效率,还可以减少传输过程中耗费的网络流量,另外还可提高传输成功率,在部分小文件传输失败时仅重传该部分小文件即可。
二、服务端的处理
请参阅图4,服务端的处理流程包括:
步骤401、上传服务器接收客户端上传的分片视频文件。
上传服务器在收到分片文件后,先对文件进行crc32校验,若crc32校验失败,返回错误给客户端,让客户端重新传输;
在收到第一个有效分片视频文件后,即建立一个文件信息存储(如存储在数据库中),将该文件暂存储在本地磁盘中,后续分片上传后更新该文件信息(文件信息结构见下面),待所有的分片视频文件都上传后,对每个文件使用gunzip工具进行解压缩后,存入分布式文件***中,信息中slice_files->file为文件在分布式文件***中的存放路径。
本步骤中,上传服务器建立的文件信息结构如下:
说明:
file:原文件名
outfile:最终合并的文件路径
slice_num:分片的文件数,n
slice_files:文件文件信息数组
slice_files->slice_no:分片序号,从0到(n-1)
slice_files->file:分片原文件路径
slice_files->outfile:分片解码压缩后的输出路径。
步骤402、在判断所有分片视频文件都接收完毕后,上传服务器向调度服务器发送当前视频文件(如file=aaaaaaaaaaaaaaaa.mp4)的视频处理请求。
步骤403、调度服务收到处理请求后,根据视频文件从数据库中取得文件的分片信息,将每个分片视频文件生成一个处理请求放入视频压缩解码处理队列中。
在队列中的信息如下,包括了分片视频文件的名称:
步骤404、视频解码压缩处理服务器从视频压缩解码处理队列中取得任务,然后从分布式文件***中下载原分片视频文件,使用ffmpeg工具进行解码压缩,将新文件存入分布式文件***,并通知调度服务器。
步骤405、调度服务器接收单个分片文件处理完成通知后,根据target_file找到文件信息并更新slice_files中对应的分片文件信息。
步骤406、待最后一个分片文件完成压缩处理后,调度服务器生成一个合并任务放入合并队列中。
在队列中的信息如下:
步骤407、视频合并处理服务节点从队列中获取任务,根据信息,分别从分布式文件***中将新的分片视频文件下载到本地,然后使用ffmpeg将个视频分片文件按分片序号顺序的合并为一个完整的视频文件,将新的视频文件存入分布式文件***中,将结果通知调度服务器。
步骤408、调度服务器收到合并结果后,根据file将信息更新到文件信息中。
上述流程中,视频处理队列包括两类,分别是解码压缩处理任务队列和合并处理任务队列,每个分片文件需要对应产生一个解码压缩任务,因而整个处理流程中将会产生n+1个任务,即n个小文件的解码压缩任务和1个将这n个解码压缩后的文件进行合并的任务。
实施例二
如图5所示,本实施例二提供了一种视频处理***,包括客户端500和服务端600,两者通过网络通信连接。
客户端500,包括多个终端,终端的类型可以为任意手机、平板电脑、台式电脑等但不局限于此,
每个客户端500具体包括:
视频文件获取模块510,用于从本地数据库中选择已录制的视频文件,或者实时录制视频文件,作为待处理视频文件;当然,选择或者新录制的视频文件尽量满足预先设定的条件,如分辨率、文件大小等,以保证优良的处理效果;
文件拆分模块520,用于通过ffmpeg工具将待处理视频文件拆分,获得若干个小文件(也可以称之为分片文件);
文件压缩模块530,用于通过gzip工具将各个小文件分别压缩,以进一步减小文件大小;
文件上传模块540,用于将压缩后的各个小文件通过http上传至服务端。
服务端600,具体包括:上传服务器610、调度服务器620、视频压缩解码处理服务集群630、视频合并处理服务集群640、分布式文件***650。
上传服务器610,用于接收客户端上传的分片文件,在接收到分片文件时先将其暂存本地磁盘中,待所有分片文件都上传后对每个分片文件解压缩后存入分布式文件***650中,同时向调度服务器620发送该视频文件的视频处理请求。
调度服务器620,用于在接收到视频处理请求时,根据该视频文件的分片信息生成若干个分片文件的压缩解码处理任务并放入视频压缩解码处理队列,由视频压缩解码处理服务器进行处理;还用于在所有分片文件压缩解码处理完成后生成合并任务放入合并队列中;
视频压缩解码处理服务集群630,包括多个视频压缩解码处理服务器,用于分别从分布式文件***中下载原分片文件,使用ffmpeg工具进行解码压缩后,将新的分片文件存入分布式文件***,并通知调度服务器;该集群可以实现多个分片文件的并行处理,提高处理效率;
视频合并处理服务集群640,包括有多个视频合并处理服务器,用于从合并队列中获取合并任务信息,据此从分布式文件***中将新的分片文件下载至本地,再使用ffmpeg工具将各视频分片文件按分片序号顺序的合并为一个完整的视频文件,将新的视频文件存入分布式文件***中,之后将结果通知调度服务器。
本实施例中,客户端将视频文件进行拆分、压缩后上传,可以减小耗费的网络流量,提高传输效率;服务端在集群下可以对这些分片文件进行并行处理,可以缩短处理时间,处理后再进行合并成一个完整的视频文件,这样就有多个分片文件和一个完整的大文件,在视频播放领域,可以进行分块播放和单独播放,适合各种复杂的应用环境,提升用户的体验。
往复需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种视频处理方法,其特征在于,该方法包括步骤:
客户端获取待处理视频文件,将其拆分为若干个分片文件并压缩后分别上传至服务端;
所述服务端接收来自客户端的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩并存入分布式文件***中;
从分布式文件***中下载待处理视频文件的各分片文件,对各分片文件进行并行压缩解码,之后将新的分片文件存入分布式文件***中;
从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
2.如权利要求1所述的视频处理方法,其特征在于,获取待处理视频文件的方法为:按照预设的分辨率、大小和/或时长阈值来选择本地视频文件或者实时录制视频文件。
3.如权利要求1所述的视频处理方法,其特征在于,所述服务端接收分片文件的步骤包括:
在收到第一个有效分片文件时,即建立一相应的文件信息并将所述文件信息存储于本地磁盘中;
在后续每接收到一有效分片文件时,更新所述文件信息;
待待处理视频文件的所有分片文件都上传后,使用一解压缩工具对每个分片文件进行解压缩,之后存入分布式文件***中。
4.如权利要求1所述的视频处理方法,其特征在于,所述客户端将分片文件通过Http分别上传至服务端,每个分片文件的Http头部格式为:视频文件名称+校验码+分片文件序号+分片开始位置-分片文件结束位置/文件大小。
5.如权利要求1所述的视频处理方法,其特征在于,所述对各分片文件进行并行压缩解码的处理步骤进一步包括:
在接收到待处理视频文件的所有分片文件后,生成视频处理请求;
根据所述视频处理请求,从分布式文件***中取得待处理视频文件的各分片文件信息,为每个分片文件生成一对应的压缩解码任务并放入视频压缩解码处理队列中;
各个视频压缩解码服务器从所述视频压缩解码处理队列中取得任务,然后从分布式文件***中下载原分片文件,对此原分片文件解码压缩成新的分片文件后存入分布式文件***中。
6.如权利要求5所述的视频处理方法,其特征在于,所述将各分片文件合并处理的步骤进一步包括:
待待处理视频文件的所有分片文件完成解码压缩处理后,生成一相应的合并任务放入合并队列中;
视频合并处理服务器从合并队列取得任务,将所有新的分片文件合并为一完整的视频文件后存入分布式文件***中。
7.一种视频处理***,包括客户端和服务端,其特征在于,
所述客户端,用于将待处理视频文件拆分为若干个分片文件,压缩处理后上传至服务端;
所述服务端,用于接收来自客户端的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩并存入分布式文件***中;还用于从分布式文件***中下载待处理视频文件的各分片文件,对各分片文件进行并行压缩解码,之后将新的分片文件存入分布式文件***中;以及,从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
8.如权利要求7所述的视频处理***,其特征在于,所述服务端包括:上传服务器、调度服务器、视频压缩解码处理服务集群、视频合并处理服务集群、分布式文件***,
所述上传服务器,用于接收客户端上传的分片文件,待接收到待处理视频文件的所有分片文件后对其解压缩、存入分布式文件***中,并向调度服务器发送该待处理视频文件的视频处理请求;
所述调度服务器,用于在接收到视频处理请求时,对视频压缩解码处理服务集群、视频合并处理服务集群中的服务器进行调度,完成分片文件的压缩解码及合并处理;
所述视频压缩解码处理服务集群,包括多个视频压缩解码处理服务器,用于从分布式文件***中下载待处理视频文件的各分片文件,对其进行压缩解码,之后将新的分片文件存入分布式文件***中;
所述视频合并处理服务集群,包括有多个视频合并处理服务器,用于从分布式文件***中获取新的分片文件,将各分片文件合并为一个完整的视频文件,将新的视频文件存入分布式文件***中。
9.如权利要求7所述的视频处理***,其特征在于,所述客户端具体为:手机、平板电脑、笔记本电脑,台式机;该客户端具体包括:
视频文件获取模块,用于从本地数据库中选择已录制的视频文件,或者实时录制视频文件,作为待处理视频文件;
文件拆分模块,用于拆分所述待处理视频文件,获得若干个分片文件;
文件压缩模块,用于将各分片文件分别压缩;
文件上传模块,用于将压缩后的各分片文件通过http上传至服务端。
CN201510718386.4A 2015-10-29 2015-10-29 一种视频处理方法及*** Active CN105338424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510718386.4A CN105338424B (zh) 2015-10-29 2015-10-29 一种视频处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510718386.4A CN105338424B (zh) 2015-10-29 2015-10-29 一种视频处理方法及***

Publications (2)

Publication Number Publication Date
CN105338424A CN105338424A (zh) 2016-02-17
CN105338424B true CN105338424B (zh) 2019-10-08

Family

ID=55288646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510718386.4A Active CN105338424B (zh) 2015-10-29 2015-10-29 一种视频处理方法及***

Country Status (1)

Country Link
CN (1) CN105338424B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967619B (zh) * 2015-06-17 2018-09-04 深圳市腾讯计算机***有限公司 文件推送方法、装置和***
CN105681715B (zh) * 2016-03-03 2019-11-15 腾讯科技(深圳)有限公司 一种音视频处理方法和装置
CN105872857B (zh) * 2016-04-01 2019-10-29 北京金山安全软件有限公司 一种处理视频的方法、装置及电子设备
CN106060160B (zh) * 2016-07-07 2019-03-15 腾讯科技(深圳)有限公司 一种文件上传方法及装置
CN106331673A (zh) * 2016-08-22 2017-01-11 上嘉(天津)文化传播有限公司 一种基于分散控制***的vr视频数据控制方法
CN106454180B (zh) * 2016-09-27 2022-03-18 宇龙计算机通信科技(深圳)有限公司 录制、处理和传输视频的方法和装置及终端
CN106790511A (zh) * 2016-12-16 2017-05-31 酷伴科技(北京)有限责任公司 一种数据上传方法及***
CN108513162A (zh) * 2017-02-23 2018-09-07 中兴通讯股份有限公司 直播回看的缓存、播放方法及***
CN108512875A (zh) * 2017-02-27 2018-09-07 上海谦问万答吧云计算科技有限公司 一种在线答疑内容的存储方法及装置
CN107707599A (zh) * 2017-05-26 2018-02-16 语祯物联科技(上海)有限公司 一种物联网通信设备传输文件的方法及装置
CN109088907B (zh) * 2017-06-14 2021-10-01 北京京东尚科信息技术有限公司 文件传递方法及其设备
WO2019051628A1 (zh) * 2017-09-12 2019-03-21 网宿科技股份有限公司 一种文件分发、下载方法、分发服务器、客户端及***
CN108848114A (zh) * 2018-08-21 2018-11-20 华严信息科技(常熟)有限公司 一种安全的基于随机动态网络的信息传输方法
CN109361741A (zh) * 2018-09-29 2019-02-19 上海优谦智能科技有限公司 利用去分布式传输技术对个人信息进行保护的***
CN109168008B (zh) * 2018-10-16 2021-06-08 中国海洋大学 一种基于云分布式海量交通视频信息处理方法
CN109561351A (zh) * 2018-12-03 2019-04-02 网易(杭州)网络有限公司 网络直播回放方法、装置及存储介质
CN109618225B (zh) * 2018-12-25 2022-04-15 百度在线网络技术(北京)有限公司 视频抽帧方法、装置、设备和介质
CN109922142B (zh) * 2019-02-21 2022-04-19 创新先进技术有限公司 一种文件下载方法、装置及***
CN110062130B (zh) * 2019-03-14 2021-06-08 叠境数字科技(上海)有限公司 基于预处理文件结构的千兆级像素视频渲染方法及装置
CN110401723A (zh) * 2019-08-16 2019-11-01 北京浪潮数据技术有限公司 Ova文件上传服务器的方法、***、设备及存储介质
CN110602122A (zh) * 2019-09-20 2019-12-20 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备及存储介质
CN110740345A (zh) * 2019-09-20 2020-01-31 北京旷视科技有限公司 离线视频文件倍速分析方法和装置
CN112632321A (zh) * 2019-09-23 2021-04-09 北京国双科技有限公司 音频文件处理方法及装置、音频文件播放方法及装置
CN110519399A (zh) * 2019-09-30 2019-11-29 山东浪潮通软信息科技有限公司 一种基于SpringMVC实现超大文件上传方法
CN113163214A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种视频处理方法及其装置
CN113810782B (zh) * 2020-06-12 2022-09-27 阿里巴巴集团控股有限公司 视频处理方法及设备、服务器、电子设备
CN111970357A (zh) * 2020-08-14 2020-11-20 北京金和网络股份有限公司 视频上传方法、装置及***
CN112492033A (zh) * 2020-11-30 2021-03-12 深圳市移卡科技有限公司 文件传输方法、***及计算机可读存储介质
CN112584155B (zh) * 2020-12-11 2022-11-04 南京中兴力维软件有限公司 一种视频数据处理方法和装置
CN112511650A (zh) * 2020-12-22 2021-03-16 湖南新云网科技有限公司 一种视频上传方法、装置、设备及可读存储介质
CN112968958A (zh) * 2021-02-19 2021-06-15 携程计算机技术(上海)有限公司 Ota网站中附件的处理方法、***、设备及介质
CN115037488B (zh) * 2021-02-23 2024-05-31 北京金山云网络技术有限公司 一种帐号的身份验证方法和装置
CN113746892B (zh) * 2021-06-29 2024-05-03 广东芬尼克兹节能设备有限公司 一种远程升级方法及无线终端设备
CN114173153A (zh) * 2021-12-03 2022-03-11 北京数码视讯技术有限公司 视频处理方法、装置和电子设备
CN114124671B (zh) * 2022-01-27 2022-07-08 广东睿江云计算股份有限公司 一种基于媒体流转换下载录屏方法及***
CN115086453B (zh) * 2022-07-06 2024-03-26 中国人民银行清算总中心 数据交换方法、装置及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***
CN102333219A (zh) * 2011-10-19 2012-01-25 清华大学 一种云环境中基于独立视频帧的视频转码方法
CN104219537A (zh) * 2013-05-31 2014-12-17 腾讯科技(北京)有限公司 视频数据处理的方法、装置及***
CN104539978A (zh) * 2014-12-19 2015-04-22 南京工业大学 一种云环境下的视频转码***方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***
CN102333219A (zh) * 2011-10-19 2012-01-25 清华大学 一种云环境中基于独立视频帧的视频转码方法
CN104219537A (zh) * 2013-05-31 2014-12-17 腾讯科技(北京)有限公司 视频数据处理的方法、装置及***
CN104539978A (zh) * 2014-12-19 2015-04-22 南京工业大学 一种云环境下的视频转码***方法

Also Published As

Publication number Publication date
CN105338424A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105338424B (zh) 一种视频处理方法及***
CN105282245B (zh) 跨服务器消息推送***及方法
CN105357593B (zh) 一种上传视频的方法、装置和***
CN104967744B (zh) 调节终端参数的方法及装置
CN104731512B (zh) 图片分享的方法、装置及终端
CN105262819B (zh) 一种移动终端及其实现推送的方法
CN105828180A (zh) 一种缓存视频帧的装置和方法
CN106453382A (zh) 一种消息推送方法及装置
CN105718568B (zh) 一种多应用统一交互的装置和方法
CN105100673B (zh) 基于VoLTE的桌面共享方法和装置
CN105278995B (zh) 应用程序的管理方法、***、服务器和移动终端
CN106102086A (zh) 数据处理装置和方法
CN106803860A (zh) 一种终端应用的存储处理方法和装置
CN105827866A (zh) 一种移动终端及控制方法
CN106095464B (zh) 一种应用程序无痕运行的方法及装置
CN105120070A (zh) 一种通话过程中播放音乐的方法及终端
CN105187911A (zh) 一种视频图片显示方法、装置及一种图片显示方法
CN107360214A (zh) 一种消息推送处理方法、消息接收处理方法及装置
CN111263220B (zh) 视频的处理方法、装置、电子设备及计算机可读存储介质
CN105530290A (zh) 提供应用安装包下载的装置和方法
CN104810033B (zh) 音频播放方法和装置
CN106657643B (zh) 一种移动终端及通讯会话显示方法
CN105991293B (zh) 一种校验方法与装置
CN107426282A (zh) 一种图片加载方法、终端及服务器
CN105117751B (zh) 二维码传输方法和装置

Legal Events

Date Code Title Description
C06 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