CN106358070B - Multimedia file uploading method and device - Google Patents

Multimedia file uploading method and device Download PDF

Info

Publication number
CN106358070B
CN106358070B CN201510417394.5A CN201510417394A CN106358070B CN 106358070 B CN106358070 B CN 106358070B CN 201510417394 A CN201510417394 A CN 201510417394A CN 106358070 B CN106358070 B CN 106358070B
Authority
CN
China
Prior art keywords
multimedia file
data
uploading
file
playing
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
CN201510417394.5A
Other languages
Chinese (zh)
Other versions
CN106358070A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510417394.5A priority Critical patent/CN106358070B/en
Priority to PCT/CN2016/086005 priority patent/WO2017008611A2/en
Publication of CN106358070A publication Critical patent/CN106358070A/en
Application granted granted Critical
Publication of CN106358070B publication Critical patent/CN106358070B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Abstract

The invention discloses a multimedia file uploading method and device, and belongs to the field of internet. The method comprises the following steps: when a playing instruction of a first multimedia file is received, playing the first multimedia file; recording a user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file; synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file; and in the synthesis process, uploading the data blocks each time the data blocks with the specified size are synthesized until the third multimedia file is uploaded completely. In the synthesis process, the data blocks with the specified size are uploaded every time the data blocks are synthesized, so that the fragmented uploading of the multimedia file is realized, the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is reduced.

Description

Multimedia file uploading method and device
Technical Field
The invention relates to the field of internet, in particular to a multimedia file uploading method and device.
Background
With the rapid development of the internet, a terminal may download or record a multimedia file from a network by itself, thereby storing a plurality of multimedia files in the terminal. In order to enrich the playing content of the multimedia file and improve the playing effect of the multimedia file, the terminal can synthesize the multimedia files into one multimedia file and upload the synthesized multimedia file to the server for other users to watch. For example, the terminal may combine a plurality of video files into one video file and upload the combined video file to the server.
At present, a terminal synthesizes a plurality of multimedia files into one multimedia file and uploads the synthesized multimedia file to a server, so that the uploading time of the multimedia file is increased, and the uploading efficiency of the multimedia file is reduced.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide a multimedia file uploading method and apparatus. The technical scheme is as follows:
in one aspect, a multimedia file uploading method is provided, and the method includes:
when a playing instruction of a first multimedia file is received, playing the first multimedia file;
recording a user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file;
synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file;
and in the synthesis process, uploading the data blocks each time the data blocks with the specified size are synthesized until the third multimedia file is uploaded completely.
In another aspect, a multimedia file uploading apparatus is provided, the apparatus including:
the playing module is used for playing the first multimedia file when receiving a playing instruction of the first multimedia file;
the recording module is used for recording a user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file;
the synthesis module is used for synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file;
and the uploading module is used for uploading the data blocks each time the data blocks with the specified size are synthesized in the synthesis process until the third multimedia file is uploaded completely.
The technical scheme provided by the embodiment of the invention has the following beneficial effects: in the embodiment of the invention, when the terminal receives the playing instruction of the first multimedia file, the terminal can play the first multimedia file, record the user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain the second multimedia file, and synthesize the first multimedia file and the second multimedia file to obtain the third multimedia file, and in the synthesizing process, each time a data block with a specified size is synthesized, the data block is uploaded, that is, after the data block with the specified size is synthesized, the synthesizing process and the uploading process are executed in parallel, so that the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a flowchart of a multimedia file uploading method according to an embodiment of the present invention;
fig. 2 is a flowchart of another method for uploading multimedia files according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a multimedia file uploading apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an upload module according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of another multimedia file uploading apparatus according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of another multimedia file uploading apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Fig. 1 is a flowchart of a multimedia file uploading method according to an embodiment of the present invention. Referring to fig. 1, the method includes:
step 101: and when a playing instruction of the first multimedia file is received, playing the first multimedia file.
Step 102: and in the process of playing the first multimedia file, recording the user behavior event related to the first multimedia file to obtain a second multimedia file.
Step 103: and synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file.
Step 104: and in the synthesis process, when the data blocks with the specified size are synthesized, uploading the data blocks until the third multimedia file is uploaded.
In the embodiment of the invention, when the terminal receives the playing instruction of the first multimedia file, the terminal can play the first multimedia file, record the user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain the second multimedia file, and synthesize the first multimedia file and the second multimedia file to obtain the third multimedia file, and in the synthesizing process, each time a data block with a specified size is synthesized, the data block is uploaded, that is, after the data block with the specified size is synthesized, the synthesizing process and the uploading process are executed in parallel, so that the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is improved.
Optionally, in the synthesizing process, each time a data block with a specified size is synthesized, uploading the data block, including:
in the synthesis process, when synthesizing each data block with the specified size, judging whether the synthesis process is finished;
if the synthesis process is not finished, adding the data block into a data uploading queue;
if the synthesis process is finished, dividing the currently synthesized data which are not added into the data uploading queue to obtain a plurality of data blocks with specified sizes;
adding the data blocks with the specified sizes into the data uploading queue;
and uploading the data blocks in the data uploading queue.
Optionally, in the synthesizing process, after uploading each data block synthesized into a data block with a specified size, the method further includes:
and when the data block is uploaded, deleting the data block.
Optionally, in the synthesizing process, each time a data block with a specified size is synthesized, uploading the data block until the third multimedia file is uploaded, further comprising:
sending a file verification request to a server, wherein the file verification request carries the total data size of the third multimedia file, and the server returns a file verification response after verification is carried out on the basis of the total data size;
and when the file verification response is received, displaying corresponding file verification prompt information based on the file verification response.
All the above optional technical solutions can be combined arbitrarily to form an optional embodiment of the present invention, which is not described in detail herein.
Fig. 2 is a flowchart of a multimedia file uploading method according to an embodiment of the present invention. Referring to fig. 2, the method includes:
step 201: and when a playing instruction of the first multimedia file is received, playing the first multimedia file.
In the embodiment of the present invention, when the terminal receives a play instruction of the first multimedia file, the terminal may acquire the multimedia data of the first multimedia file, and play the first multimedia file based on the multimedia data of the first multimedia file.
It should be noted that the playing instruction of the first multimedia file is used for playing the first multimedia file, and the playing instruction may be triggered by a user, where the user may be triggered by a specified operation, and the specified operation may be a click operation, a sliding operation, a shaking operation, a voice operation, and the like, which is not specifically limited in this embodiment of the present invention.
In addition, the first multimedia file may be a video multimedia file, an audio multimedia file, and the like, which is also not specifically limited in this embodiment of the present invention. Furthermore, there may be one or more first multimedia files, and the number of the first multimedia files is not specifically limited in the embodiment of the present invention.
Step 202: and in the process of playing the first multimedia file, recording the user behavior event related to the first multimedia file to obtain a second multimedia file.
Specifically, in the process of playing the first multimedia file, the terminal may collect image data generated by the user, collect sound data generated by the user, and encode the image data and the sound data to obtain the second multimedia file.
It should be noted that the user behavior event related to the first multimedia file refers to a related behavior event generated by the user during the process of playing the first multimedia file by the terminal, that is, image data and sound data generated by the user during the process of playing the first multimedia file. For example, when the first multimedia file is a dance video, the terminal can simulate dance movements in the dance video during playing of the dance video, so as to generate image data related to the dance video.
The method for recording the user behavior event related to the first multimedia file by the terminal may refer to related technologies, which is not specifically limited in the embodiment of the present invention.
Step 203: and synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file.
Since the second multimedia file is obtained by recording the user behavior event related to the first multimedia file, the data frames included in the first multimedia file and the data frames included in the second multimedia file are substantially equal. Therefore, when the terminal synthesizes the first multimedia file and the second multimedia file, the terminal may synthesize the first multimedia file and the second multimedia file according to the data frames of the first multimedia file and the second multimedia file, and of course, in practical applications, the terminal may also synthesize the first multimedia file and the second multimedia file in other manners, for example, synthesize the first multimedia file and the second multimedia file based on the playing time lengths of the first multimedia file and the second multimedia file, which is not specifically limited in the embodiment of the present invention.
The operation of the terminal synthesizing according to the data frames of the first multimedia file and the second multimedia file may be: the terminal can acquire data frames at the same position from the first multimedia file and the second multimedia file, and synthesize the acquired data frames to obtain a new data frame, thereby forming a third multimedia file.
In addition, in the embodiment of the present invention, the terminal may implement the method provided by the embodiment of the present invention through an application program, and since an application program may include a master thread and a plurality of slave threads, and the master thread is an important process that affects a response speed of the application program, in order not to affect the response speed of the application program, the terminal may combine the first multimedia file and the second multimedia file through a slave process included in the application program. That is, the slave process may run in parallel with the master process to implement asynchronous composition of the first multimedia file and the second multimedia file.
Step 204: in the synthesis process, when synthesizing a data block of a specified size, it is determined whether the synthesis process is finished, if so, step 205 is executed, otherwise, step 206 is executed.
In order to increase the uploading speed of the third multimedia file, the terminal may determine whether the synthesizing process is finished every time a data block of a designated size is synthesized during the process of synthesizing the third multimedia file. The operation of the terminal to determine whether the synthesis process is finished may be: the terminal may acquire the remaining data of the first multimedia file and the remaining data of the second multimedia file, may determine that the synthesizing process has not ended if the remaining data exists in the first multimedia file or the remaining data exists in the second multimedia file, and may determine that the synthesizing process has ended if the remaining data does not exist in the first multimedia file and the remaining data does not exist in the second multimedia file.
It should be noted that the terminal may determine whether the synthesis process is finished through the above manner, and the terminal may also determine through other manners, which is not listed in the embodiments of the present invention.
In addition, the designated size may be set in advance, for example, the designated size may be 20K, 30K, and the like, which is not specifically limited in this embodiment of the present invention.
Step 205: the data block is added to the data upload queue and step 207 is performed.
When the terminal synthesizes the first multimedia file and the second multimedia file, the synthesized data can be cached, and the cached data can be synthesized data which is not added into the data uploading queue.
The data uploading queue is configured to store data blocks to be uploaded, and the data blocks to be uploaded may be arranged in the data uploading queue according to a certain order, or the data blocks to be uploaded may not be arranged according to a certain order, but a sequence identifier may be set for each data block to be uploaded.
Step 206: dividing the currently synthesized data which is not added into the data uploading queue to obtain a plurality of data blocks with specified sizes, adding the data blocks with the specified sizes into the data uploading queue, and executing step 207.
When a data block exists in the data upload queue, the terminal may continuously upload the data block in the data upload queue, that is, the data upload queue is always in an upload state, so that when the terminal determines that the synthesis process is finished, if the synthesis speed of the terminal is greater than the upload speed, the data in the terminal cache may be more, at this time, the terminal may directly divide the data in the cache to obtain a plurality of data blocks of specified size, and add the plurality of data blocks of specified size into the data upload queue.
Step 207: and uploading the data blocks in the data uploading queue until the third multimedia file is uploaded.
The data blocks to be uploaded are stored in the data uploading queue, and the data blocks to be uploaded have a certain sequence, so that when the terminal uploads the data blocks in the data uploading queue, the terminal can upload the data blocks in the data uploading queue according to the sequence until the third multimedia file is uploaded completely.
In step 203, it is mentioned that the terminal synthesizes the first multimedia file and the second multimedia file through a slave process included in the application program. For convenience of description, the slave process for combining the first multimedia file and the second multimedia file may be referred to as a first slave process, and the slave process for uploading the combined data may be referred to as a second slave process. The second slave process may be a process corresponding to the data upload queue, and therefore, when the first slave process adds the data block to the data upload queue, the second slave process may upload the data block in the data upload queue. That is, the first slave process may run in parallel with the second slave process, so as to implement asynchronous uploading of the multimedia file.
The terminal may start the second slave process when synthesizing the first data block with the specified size, and certainly, the terminal may also start the second slave process when synthesizing a plurality of data blocks with the specified size and the synthesizing process is not finished.
Preferably, in order to save the memory occupation size of the terminal, when each data block is uploaded, the data block can be deleted, so that the phenomenon that the memory occupation of the terminal is large to cause the collapse of the application program is avoided.
Further, since a packet loss situation may occur in the process of uploading the third multimedia file by the terminal, after the terminal finishes uploading the third multimedia file, the terminal may send a file verification request to the server, where the file verification request carries a total data size of the third multimedia file, so that the server returns a file verification response after performing verification based on the total data size; and when the file verification response is received, displaying corresponding file verification prompt information based on the file verification response.
The operation of returning the file verification response after the server performs verification based on the total data size may be: the server determines the size of the received data, compares the size of the received data with the total data size, determines that the file is uploaded successfully if the size of the received data is the same as the total data size, and otherwise determines that the file is uploaded unsuccessfully. When the file uploading is determined to be successful, the server can send a file uploading success response to the terminal, and when the file uploading is determined to be failed, the server can send a file uploading failure response to the terminal, that is, the file verification response comprises a file uploading success response and a file uploading failure response.
Correspondingly, the operation of displaying the corresponding file verification prompt information by the terminal based on the file verification response may be: when the file verification response is a file upload success response, the terminal may display a file upload success prompt message, and when the file verification response is a file upload failure response, the terminal may display a file upload failure prompt message.
Further, when the terminal receives a file upload failure response, it is determined that the upload of the third multimedia file fails, and at this time, the terminal may re-synthesize the first multimedia file and the second multimedia file and upload the files again. Optionally, the terminal may record the user behavior event related to the first multimedia file again, and then synthesize and upload the user behavior event.
In the embodiment of the invention, when the terminal receives the playing instruction of the first multimedia file, the terminal can play the first multimedia file, record the user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain the second multimedia file, and synthesize the first multimedia file and the second multimedia file to obtain the third multimedia file, and in the synthesizing process, each time a data block with a specified size is synthesized, the data block is uploaded, that is, after the data block with the specified size is synthesized, the synthesizing process and the uploading process are executed in parallel, so that the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is improved.
Fig. 3 is a schematic structural diagram of a multimedia file uploading apparatus according to an embodiment of the present invention. Referring to fig. 3, the apparatus includes:
the playing module 301 is configured to play the first multimedia file when a playing instruction of the first multimedia file is received;
a recording module 302, configured to record a user behavior event related to a first multimedia file in a process of playing the first multimedia file, so as to obtain a second multimedia file;
a synthesizing module 303, configured to synthesize the first multimedia file and the second multimedia file to obtain a third multimedia file;
and the uploading module 304 is configured to upload a data block of a specified size each time the data block is synthesized in the synthesizing process until the third multimedia file is uploaded completely.
Optionally, referring to fig. 4, the upload module 304 includes:
a judging unit 3041 for judging, in the synthesizing process, whether the synthesizing process is ended every time a data block of a specified size is synthesized;
a first adding unit 3042, configured to add the data block to the data upload queue if the synthesizing process is not finished;
a dividing unit 3043, configured to divide, if the synthesizing process is finished, the data that has been synthesized currently and is not added to the data upload queue, so as to obtain a plurality of data blocks with specified sizes;
a second adding unit 3044, configured to add the multiple data blocks with the specified size to the data upload queue;
an upload unit 3045, configured to upload the data block in the data upload queue.
Optionally, the apparatus further comprises:
and the deleting module is used for deleting the data block when the data block is uploaded.
Optionally, referring to fig. 5, the apparatus further comprises:
a sending module 305, configured to send a file verification request to the server, where the file verification request carries a total data size of the third multimedia file, so that the server returns a file verification response after performing verification based on the total data size;
the display module 306 is configured to display corresponding file verification prompt information based on the file verification response when the file verification response is received.
In the embodiment of the invention, when the terminal receives the playing instruction of the first multimedia file, the terminal can play the first multimedia file, record the user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain the second multimedia file, and synthesize the first multimedia file and the second multimedia file to obtain the third multimedia file, and in the synthesizing process, each time a data block with a specified size is synthesized, the data block is uploaded, that is, after the data block with the specified size is synthesized, the synthesizing process and the uploading process are executed in parallel, so that the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is improved.
It should be noted that: in the above embodiment, when the multimedia file is uploaded, the multimedia file uploading apparatus is exemplified by only the division of the functional modules, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the functions described above. In addition, the multimedia file uploading device and the method embodiment of the multimedia file uploading device provided by the above embodiments belong to the same concept, and the specific implementation process thereof is described in detail in the method embodiment and is not described herein again.
Fig. 6 is a schematic structural diagram of a terminal according to an embodiment of the present invention. The first user client in the above embodiments may be installed in the terminal. Referring to fig. 6, the terminal 600 may include components such as a communication unit 610, a memory 620 including one or more computer-readable storage media, an input unit 630, a display unit 640, a sensor 650, an audio circuit 660, a WIFI (Wireless Fidelity) module 670, a processor 680 including one or more processing cores, and a power supply 690. Those skilled in the art will appreciate that the terminal structure shown in fig. 6 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components. Wherein:
the communication unit 610 may be used for receiving and transmitting signals during information transmission and reception or during a call, and the communication unit 610 may be an RF (Radio Frequency) circuit, a router, a modem, or other network communication devices. In particular, when the communication unit 610 is an RF circuit, downlink information of a base station is received and then processed by one or more processors 680; in addition, data relating to uplink is transmitted to the base station. Generally, the RF circuit as a communication unit includes, but is not limited to, an antenna, at least one Amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like. In addition, the communication unit 610 may also communicate with a network and other devices through wireless communication. The wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communications), GPRS (general packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (long term Evolution), email, SMS (Short Messaging Service), and the like. The memory 620 may be used to store software programs and modules, and the processor 680 may execute various functional applications and data processing by operating the software programs and modules stored in the memory 620. The memory 620 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the terminal 600, and the like. Further, the memory 620 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory 620 may also include a memory controller to provide the processor 680 and the input unit 630 access to the memory 620.
The input unit 630 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control. Preferably, the input unit 630 may include a touch-sensitive surface 631 and other input devices 632. The touch sensitive surface 631, also referred to as a touch display screen or a touch pad, may collect touch operations by a user (e.g., operations by a user on the touch sensitive surface 631 or near the touch sensitive surface 631 using any suitable object or attachment such as a finger, a stylus, etc.) on or near the touch sensitive surface 631 and drive the corresponding connection device according to a predetermined program. Alternatively, the touch sensitive surface 631 may comprise two parts, a touch detection means and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 680, and can receive and execute commands sent by the processor 680. In addition, the touch sensitive surface 631 may be implemented using various types of resistive, capacitive, infrared, and surface acoustic waves. The input unit 630 may include other input devices 632 in addition to the touch-sensitive surface 631. Preferably, other input devices 632 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
The display unit 640 may be used to display information input by or provided to a user and various graphical user interfaces of the terminal 600, which may be made up of graphics, text, icons, video, and any combination thereof. The Display unit 640 may include a Display panel 641, and optionally, the Display panel 641 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch-sensitive surface 631 may overlay the display panel 641, and when the touch-sensitive surface 631 detects a touch operation thereon or nearby, the touch operation is transmitted to the processor 680 to determine the type of the touch event, and then the processor 680 provides a corresponding visual output on the display panel 641 according to the type of the touch event. Although in FIG. 6, the touch-sensitive surface 631 and the display panel 641 are implemented as two separate components to implement input and output functions, in some embodiments, the touch-sensitive surface 631 and the display panel 641 may be integrated to implement input and output functions.
The terminal 600 may also include at least one sensor 650, such as a light sensor, a motion sensor, and other sensors. The light sensor may include an ambient light sensor that adjusts the brightness of the display panel 641 according to the brightness of ambient light, and a proximity sensor that turns off the display panel 641 and/or a backlight when the terminal 600 moves to the ear. As one of the motion sensors, the gravity acceleration sensor can detect the magnitude of acceleration in each direction (generally, three axes), can detect the magnitude and direction of gravity when the mobile phone is stationary, and can be used for applications of recognizing the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer and tapping), and the like; as for other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which can be configured in the terminal 600, detailed descriptions thereof are omitted.
Audio circuit 660, speaker 661, and microphone 662 can provide an audio interface between a user and terminal 600. The audio circuit 660 may transmit the electrical signal converted from the received audio data to the speaker 661, and convert the electrical signal into an audio signal through the speaker 661 for output; on the other hand, the microphone 662 converts the collected sound signal into an electric signal, which is received by the audio circuit 660 and converted into audio data, which is then processed by the audio data output processor 680 and transmitted to, for example, another terminal via the communication unit 610, or the audio data is output to the memory 620 for further processing. The audio circuit 660 may also include an earbud jack to provide communication of a peripheral headset with the terminal 600.
In order to realize wireless communication, a wireless communication unit 670 may be configured on the terminal, and the wireless communication unit 670 may be a WIFI module. WIFI belongs to a short-distance wireless transmission technology, and the terminal 600 may help a user to send and receive e-mails, browse webpages, access streaming media, and the like through the wireless communication unit 670, and provides a wireless broadband internet access for the user. Although the wireless communication unit 670 is shown in the drawing, it is understood that it does not belong to the essential constitution of the terminal 600 and may be omitted entirely within the scope not changing the essence of the invention as needed.
The processor 660 is a control center of the terminal 600, connects various parts of the entire mobile phone using various interfaces and lines, and performs various functions of the terminal 600 and processes data by operating or executing software programs and/or modules stored in the memory 620 and calling data stored in the memory 620, thereby performing overall monitoring of the mobile phone. Optionally, processor 680 may include one or more processing cores; preferably, the processor 680 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into processor 680.
The terminal 600 also includes a power supply 690 (e.g., a battery) for powering the various components, which may be logically coupled to the processor 680 via a power management system to manage charging, discharging, and power consumption via the power management system. The power supply 660 may also include any component of one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and the like.
Although not shown, the terminal 600 may further include a camera, a bluetooth module, and the like, which will not be described herein.
In this embodiment, the terminal further includes one or more programs, which are stored in the memory and configured to be executed by one or more processors, and the one or more programs include instructions for performing the multimedia file uploading method provided by the embodiment of the present invention as follows:
when a playing instruction of a first multimedia file is received, the first multimedia file is played;
recording a user behavior event related to a first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file;
synthesizing the first multimedia file and the second multimedia file to obtain a third multimedia file;
and in the synthesis process, when the data blocks with the specified size are synthesized, uploading the data blocks until the third multimedia file is uploaded.
Optionally, in the synthesizing process, each time a data block with a specified size is synthesized, uploading the data block, including:
in the synthesis process, when synthesizing each data block with the specified size, judging whether the synthesis process is finished;
if the synthesis process is not finished, adding the data block into a data uploading queue;
if the synthesis process is finished, dividing the currently synthesized data which are not added into the data uploading queue to obtain a plurality of data blocks with specified sizes;
adding the data blocks with the specified sizes into the data uploading queue;
and uploading the data blocks in the data uploading queue.
Optionally, in the synthesizing process, after uploading each data block synthesized into a data block with a specified size, the method further includes:
and when the data block is uploaded, deleting the data block.
Optionally, in the synthesizing process, each time a data block with a specified size is synthesized, uploading the data block until the third multimedia file is uploaded, further comprising:
sending a file verification request to a server, wherein the file verification request carries the total data size of the third multimedia file, and the server returns a file verification response after verification is carried out on the basis of the total data size;
and when the file verification response is received, displaying corresponding file verification prompt information based on the file verification response.
In the embodiment of the invention, when the terminal receives the playing instruction of the first multimedia file, the terminal can play the first multimedia file, record the user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain the second multimedia file, and synthesize the first multimedia file and the second multimedia file to obtain the third multimedia file, and in the synthesizing process, each time a data block with a specified size is synthesized, the data block is uploaded, that is, after the data block with the specified size is synthesized, the synthesizing process and the uploading process are executed in parallel, so that the uploading time of the multimedia file is saved, and the uploading efficiency of the multimedia file is improved.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (5)

1. A method for uploading a multimedia file, the method comprising:
when a playing instruction of a first multimedia file is received, playing the first multimedia file;
recording a user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file;
synthesizing the first multimedia file and the second multimedia file through a first slave process to obtain a third multimedia file, wherein the first slave process and a master process run in parallel;
in the synthesis process, when synthesizing each data block with the specified size, judging whether the synthesis process is finished;
if the synthesis process is not finished, adding the data block into a data uploading queue through the first slave process;
if the synthesis process is finished and the synthesis speed is greater than the uploading speed, dividing the data which are synthesized currently and are not added into the data uploading queue to obtain a plurality of data blocks with specified sizes, and adding the data blocks with the specified sizes into the data uploading queue through the first slave process;
uploading the data blocks in the data uploading queue through a second slave process until the third multimedia file is uploaded, wherein the first slave process and the second slave process run in parallel;
in the synthesizing process, when the data blocks with the specified size are synthesized, the data blocks are deleted after being uploaded through the second slave process and when the data blocks are uploaded completely.
2. The method of claim 1, further comprising, until the uploading of the third multimedia file is completed:
sending a file verification request to a server, wherein the file verification request carries the total data size of the third multimedia file, and the server returns a file verification response after verification is carried out on the basis of the total data size;
and when the file verification response is received, displaying corresponding file verification prompt information based on the file verification response.
3. An apparatus for uploading a multimedia file, the apparatus comprising:
the playing module is used for playing the first multimedia file when receiving a playing instruction of the first multimedia file;
the recording module is used for recording a user behavior event related to the first multimedia file in the process of playing the first multimedia file to obtain a second multimedia file;
the synthesis module is used for synthesizing the first multimedia file and the second multimedia file through a first slave process to obtain a third multimedia file, and the first slave process and a master process run in parallel;
the uploading module is used for judging whether the synthesis process is finished or not when each data block with the specified size is synthesized in the synthesis process; if the synthesis process is not finished, adding the data block into a data uploading queue through the first slave process; if the synthesis process is finished and the synthesis speed is greater than the uploading speed, dividing the data which are synthesized currently and are not added into the data uploading queue to obtain a plurality of data blocks with specified sizes, and adding the data blocks with the specified sizes into the data uploading queue through the first slave process; uploading the data blocks in the data uploading queue through a second slave process until the third multimedia file is uploaded, wherein the first slave process and the second slave process run in parallel;
and the deleting module is used for deleting the data block when the data block is uploaded.
4. The apparatus of claim 3, wherein the apparatus further comprises:
the sending module is used for sending a file verification request to a server, wherein the file verification request carries the total data size of the third multimedia file, and the server returns a file verification response after verification is carried out on the basis of the total data size;
and the display module is used for displaying corresponding file verification prompt information based on the file verification response when the file verification response is received.
5. A computer readable storage medium having instructions stored thereon, wherein the instructions, when executed by a processor, implement the steps of the method of claim 1 or 2.
CN201510417394.5A 2015-07-15 2015-07-15 Multimedia file uploading method and device Active CN106358070B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510417394.5A CN106358070B (en) 2015-07-15 2015-07-15 Multimedia file uploading method and device
PCT/CN2016/086005 WO2017008611A2 (en) 2015-07-15 2016-06-16 Multimedia file uploading method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510417394.5A CN106358070B (en) 2015-07-15 2015-07-15 Multimedia file uploading method and device

Publications (2)

Publication Number Publication Date
CN106358070A CN106358070A (en) 2017-01-25
CN106358070B true CN106358070B (en) 2020-11-06

Family

ID=57756838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510417394.5A Active CN106358070B (en) 2015-07-15 2015-07-15 Multimedia file uploading method and device

Country Status (2)

Country Link
CN (1) CN106358070B (en)
WO (1) WO2017008611A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359099A (en) * 2018-08-21 2019-02-19 中国平安人寿保险股份有限公司 Distributed document method for uploading, device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166831A (en) * 2011-12-14 2013-06-19 腾讯科技(深圳)有限公司 Data processing method, terminal and system
CN103474055A (en) * 2012-08-06 2013-12-25 苏州沃通信息科技有限公司 Mobile phone KTV solution
CN103999453A (en) * 2011-09-18 2014-08-20 踏途音乐公司 Digital jukebox device with karaoke and/or photo booth features, and associated methods
CN104462226A (en) * 2014-11-14 2015-03-25 中国传媒大学 Online singing platform construction method based on cloud technology

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110229104A1 (en) * 2009-10-22 2011-09-22 Hundemer Hank J System And Method For Recording and Playback Of Multimedia Content
US20140289626A1 (en) * 2013-03-15 2014-09-25 Cloudeck Inc. Cloud based audio recording system
CN103997514A (en) * 2014-04-23 2014-08-20 汉柏科技有限公司 File parallel transmission method and system
CN104361057A (en) * 2014-10-31 2015-02-18 无锡天脉聚源传媒科技有限公司 Method and device for uploading multimedia file
CN104506950A (en) * 2014-12-29 2015-04-08 珠海全志科技股份有限公司 Multithread download method and download device in network streaming media play, and download equipment
CN105635129B (en) * 2015-12-25 2020-04-21 腾讯科技(深圳)有限公司 Song chorusing method, device and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999453A (en) * 2011-09-18 2014-08-20 踏途音乐公司 Digital jukebox device with karaoke and/or photo booth features, and associated methods
CN103166831A (en) * 2011-12-14 2013-06-19 腾讯科技(深圳)有限公司 Data processing method, terminal and system
CN103474055A (en) * 2012-08-06 2013-12-25 苏州沃通信息科技有限公司 Mobile phone KTV solution
CN104462226A (en) * 2014-11-14 2015-03-25 中国传媒大学 Online singing platform construction method based on cloud technology

Also Published As

Publication number Publication date
WO2017008611A2 (en) 2017-01-19
WO2017008611A3 (en) 2017-03-02
CN106358070A (en) 2017-01-25

Similar Documents

Publication Publication Date Title
CN106686396B (en) Method and system for switching live broadcast room
US20160323610A1 (en) Method and apparatus for live broadcast of streaming media
WO2017202348A1 (en) Video playing method and device, and computer storage medium
US9760998B2 (en) Video processing method and apparatus
CN103391473B (en) Method and device for providing and acquiring audio and video
WO2017215660A1 (en) Scene sound effect control method, and electronic device
CN106254910B (en) Method and device for recording image
WO2017215661A1 (en) Scenario-based sound effect control method and electronic device
CN106658064B (en) Virtual gift display method and device
CN106406924B (en) Control method and device for starting and quitting picture of application program and mobile terminal
US10463965B2 (en) Control method of scene sound effect and related products
WO2014032559A1 (en) Method and device for downloading file
WO2017096909A1 (en) Data connection establishing method and apparatus
WO2019076250A1 (en) Push message management method and related products
JP2018506792A (en) Method for displaying chat history records and apparatus for displaying chat history records
WO2018161788A1 (en) Multimedia data sharing method and device
CN109495769B (en) Video communication method, terminal, smart television, server and storage medium
CN110688051B (en) Screen recording operation method and device, computer readable storage medium and terminal
CN107317828B (en) File downloading method and device
KR101876394B1 (en) Method and device for playing media data on a terminal
US20160119695A1 (en) Method, apparatus, and system for sending and playing multimedia information
CN107193551B (en) Method and device for generating image frame
CN103458064A (en) Method, device and terminal equipment for transmitting address information of multimedia information
CN106303616B (en) Play control method, device and terminal
CN106682189B (en) File name display method and device

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