CN116389758A - Video transcoding method and device, electronic equipment and storage medium - Google Patents

Video transcoding method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN116389758A
CN116389758A CN202310369568.XA CN202310369568A CN116389758A CN 116389758 A CN116389758 A CN 116389758A CN 202310369568 A CN202310369568 A CN 202310369568A CN 116389758 A CN116389758 A CN 116389758A
Authority
CN
China
Prior art keywords
transcoding
video
task
subtask
result
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
CN202310369568.XA
Other languages
Chinese (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.)
Beijing Duyou Information Technology Co ltd
Original Assignee
Beijing Duyou 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 Beijing Duyou Information Technology Co ltd filed Critical Beijing Duyou Information Technology Co ltd
Priority to CN202310369568.XA priority Critical patent/CN116389758A/en
Publication of CN116389758A publication Critical patent/CN116389758A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

The disclosure provides a video transcoding method and device, electronic equipment and a storage medium, and relates to the technical field of computers, in particular to the technical field of multimedia and distributed computing. The implementation scheme is as follows: in response to receiving a start play request of a video, starting a main task for transcoding the video from a start point of the video; in the playing process of the video, receiving a selected playing request of a user, wherein the selected playing request comprises playing time selected by the user; starting a subtask for transcoding the video from the playing time, wherein the subtask and the video fragments transcoded by the main task are not overlapped with each other; and summarizing the first transcoding result of the main task and the second transcoding result of the subtask to obtain the transcoding result of the video.

Description

Video transcoding method and device, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical field of artificial intelligence, in particular to the technical fields of computer vision, augmented reality, virtual reality, deep learning and the like, and can be applied to scenes such as metauniverse, digital people and the like. The disclosure relates in particular to a video transcoding method and apparatus, an electronic device, a computer readable storage medium and a computer program product.
Background
Video transcoding refers to changing the way existing video data is encoded. By decoding, re-encoding and encapsulating the video, the video can be streamed and shared between different devices using the same interface protocol. In playing video in the internet (e.g., video stored in a network disk), it is often necessary to transcode the video into a uniform coding and packaging format for playback by the user.
The approaches described in this section are not necessarily approaches that have been previously conceived or pursued. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, the problems mentioned in this section should not be considered as having been recognized in any prior art unless otherwise indicated.
Disclosure of Invention
The present disclosure provides a video transcoding method and apparatus, an electronic device, a computer readable storage medium, and a computer program product.
According to an aspect of the present disclosure, there is provided a video transcoding method, including: in response to receiving a request to start playing of a video, starting a main task for transcoding the video from a starting point of the video; receiving a selected playing request of a user in the playing process of the video, wherein the selected playing request comprises the playing time selected by the user; starting a subtask for transcoding the video from the playing time, wherein the subtask and the video fragments transcoded by the main task are not overlapped with each other; and summarizing the first transcoding result of the main task and the second transcoding result of the subtask to obtain the transcoding result of the video.
According to an aspect of the present disclosure, there is provided a video transcoding apparatus comprising: a first transcoding module configured to initiate a main task for transcoding a video from a start point of the video in response to receiving a start play request of the video; the receiving module is configured to receive a selected playing request of a user in the playing process of the video, wherein the selected playing request comprises playing time selected by the user; a second transcoding module configured to start a subtask for transcoding the video from the play time, wherein the subtask and the video segments transcoded by the main task do not overlap each other; and the summarizing module is configured to summarize the first transcoding result of the main task and the second transcoding result of the subtask so as to obtain the transcoding result of the video.
According to an aspect of the present disclosure, there is provided an electronic apparatus including: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described above.
According to an aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the above-described method.
According to an aspect of the present disclosure, there is provided a computer program product comprising computer program instructions which, when executed by a processor, implement the above-described method.
According to one or more embodiments of the present disclosure, video transcoding efficiency can be improved, and video playback delay can be reduced.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The accompanying drawings illustrate exemplary embodiments and, together with the description, serve to explain exemplary implementations of the embodiments. The illustrated embodiments are for exemplary purposes only and do not limit the scope of the claims. Throughout the drawings, identical reference numerals designate similar, but not necessarily identical, elements.
FIG. 1 illustrates a schematic diagram of an exemplary system in which various methods described herein may be implemented, in accordance with an embodiment of the present disclosure;
FIG. 2 illustrates a flow chart of a video transcoding method according to an embodiment of the present disclosure;
FIG. 3 shows a schematic diagram of a video transcoding process according to an embodiment of the present disclosure;
FIG. 4 shows a schematic diagram of a video transcoding system according to an embodiment of the present disclosure;
fig. 5 shows a block diagram of a video transcoding device, according to an embodiment of the present disclosure; and
fig. 6 illustrates a block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the present disclosure, the use of the terms "first," "second," and the like to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of the elements, unless otherwise indicated, and such terms are merely used to distinguish one element from another element. In some examples, a first element and a second element may refer to the same instance of the element, and in some cases, they may also refer to different instances based on the description of the context.
The terminology used in the description of the various illustrated examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, the elements may be one or more if the number of the elements is not specifically limited. Furthermore, the term "and/or" as used in this disclosure encompasses any and all possible combinations of the listed items.
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the related user personal information all conform to the regulations of related laws and regulations, and the public sequence is not violated.
In the related art, when a user plays a video in a network disk, each video frame in the video is transcoded in sequence according to a time sequence, and a transcoding result is returned to a client device for the user to play. If the user drags the progress bar to a position where transcoding is not completed in the video playing process, a period of time is required to wait for viewing. The scheme has low transcoding efficiency and longer video playing delay.
In view of the foregoing, embodiments of the present disclosure provide a video transcoding method. According to the method, when the user plays the video, a plurality of video transcoding tasks (namely, a main task and a subtask) can be started to transcode different video clips in the video in parallel, so that the transcoding efficiency is improved, the video playing delay is reduced, and the user experience is improved.
Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
Fig. 1 illustrates a schematic diagram of an exemplary system 100 in which various methods and apparatus described herein may be implemented, in accordance with an embodiment of the present disclosure. Referring to fig. 1, the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. Client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
In embodiments of the present disclosure, client devices 101, 102, 103, 104, 105, and 106, and server 120 may run one or more services or software applications that enable the execution of video transcoding methods.
In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, for example, provided to users of client devices 101, 102, 103, 104, 105, and/or 106 under a software as a service (SaaS) model.
In the configuration shown in fig. 1, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or a combination thereof that are executable by one or more processors. A user operating client devices 101, 102, 103, 104, 105, and/or 106 may in turn utilize one or more client applications to interact with server 120 to utilize the services provided by these components. It should be appreciated that a variety of different system configurations are possible, which may differ from system 100. Accordingly, FIG. 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
The client devices 101, 102, 103, 104, 105, and/or 106 may provide interfaces that enable a user of the client device to interact with the client device. The client device may also output information to the user via the interface. Although fig. 1 depicts only six client devices, those skilled in the art will appreciate that the present disclosure may support any number of client devices.
Client devices 101, 102, 103, 104, 105, and/or 106 may include various types of computer devices, such as portable handheld devices, general purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, vehicle-mounted devices, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, and the like. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, appli os, UNIX-like operating systems, linux, or Linux-like operating systems; or include various mobile operating systems such as MICROSOFT Windows Mobile OS, iOS, windows Phone, android. Portable handheld devices may include cellular telephones, smart phones, tablet computers, personal Digital Assistants (PDAs), and the like. Wearable devices may include head mounted displays (such as smart glasses) and other devices. The gaming system may include various handheld gaming devices, internet-enabled gaming devices, and the like. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications), short Message Service (SMS) applications, and may use a variety of communication protocols.
Network 110 may be any type of network known to those skilled in the art that may support data communications using any of a number of available protocols, including but not limited to TCP/IP, SNA, IPX, etc. For example only, the one or more networks 110 may be a Local Area Network (LAN), an ethernet-based network, a token ring, a Wide Area Network (WAN), the internet, a virtual network, a Virtual Private Network (VPN), an intranet, an extranet, a blockchain network, a Public Switched Telephone Network (PSTN), an infrared network, a wireless network (e.g., bluetooth, wi-Fi), and/or any combination of these and/or other networks.
The server 120 may include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-end servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination. The server 120 may include one or more virtual machines running a virtual operating system, or other computing architecture that involves virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain virtual storage devices of the server). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
The computing units in server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. Server 120 may also run any of a variety of additional server applications and/or middle tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from users of client devices 101, 102, 103, 104, 105, and/or 106. Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and/or 106.
In some implementations, the server 120 may be a server of a distributed system or a server that incorporates a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. The cloud server is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service expansibility in the traditional physical host and virtual private server (VPS, virtual Private Server) service.
The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of databases 130 may be used to store information such as audio files and video files. Database 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. Database 130 may be of different types. In some embodiments, the database used by server 120 may be, for example, a relational database. One or more of these databases may store, update, and retrieve the databases and data from the databases in response to the commands.
In some embodiments, one or more of databases 130 may also be used by applications to store application data. The databases used by the application may be different types of databases, such as key value stores, object stores, or conventional stores supported by the file system.
The system 100 of fig. 1 may be configured and operated in various ways to enable application of the various methods and apparatus described in accordance with the present disclosure.
According to some embodiments, client devices 101-106 may include a client application (e.g., a network disk client, video client, etc.) for playing video. Accordingly, the server 120 is a server corresponding to the client application. The client devices 101-106 may initiate a play request for a certain video in the client application. The server 120 transcodes the video by performing the video transcoding method of the disclosed embodiments and returns the transcoding result (encoded video data stream) to the client devices 101-106 so that the client devices 101-106 play the video through the client application.
Fig. 2 shows a flowchart of a video transcoding method 200 according to an embodiment of the present disclosure. As described above, the subject of execution of method 200 is typically a server (e.g., server 120 described above). As shown in fig. 2, the method 200 includes steps S210-S240.
In step S210, in response to receiving a start play request of a video, a main task for transcoding the video from a start point of the video is started.
In step S220, during the playing of the video, a play selection request of the user is received. The select play request includes a user selected play time.
In step S230, a subtask for transcoding video from the play time is started. The video clips transcoded by the subtasks and the main tasks do not overlap each other.
In step S240, the first transcoding result of the main task and the second transcoding result of the subtask are summarized to obtain the transcoding result of the video.
According to embodiments of the present disclosure, when a user starts playing a video, a main task of transcoding from a video start point is started. When the user drags the progress bar during video playback, a subtask is started that starts transcoding from the drag position (i.e., the playback time selected by the user). The main task and the subtasks transcode different video clips in the video in parallel, so that transcoding efficiency can be improved, video playing delay (namely, waiting time of a user is reduced) is reduced, and user experience is improved.
The steps of method 200 are described in detail below.
In step S210, in response to receiving a start play request of a video, a main task for transcoding the video from a start point of the video is started.
The user may initiate a start play request for a video that he wants to view by clicking on the title or thumbnail of the video in the client device. Accordingly, in step S210, the server may receive a play start request sent from the client device, and respond to the play start request.
According to some embodiments, after receiving a request to start playing of a video, it may be determined whether the video has completed transcoding, i.e., whether the transcoding result of the video is stored in a query storage system (e.g., a distributed cache, a persistent database, etc.). If yes, the transcoding result of the video can be directly obtained from the storage system and returned to the client device for video playing.
If the video is not transcoded, that is, the transcoding result of the video is not stored in the storage system, a main task of transcoding the video by a user is started. The primary task transcodes the video starting from the start of the video (i.e., the first video frame). In the case of a subsequent sub-task that initiates video transcoding, the endpoint of the video segment transcoded by the main task is determined based on the transcoding circumstances of each sub-task. In the case of a subsequent sub-task that does not initiate video transcoding, the endpoint of the video segment transcoded by the main task is the endpoint of the video (i.e., the last video frame). That is, transcoding of the video is done entirely by the primary task.
In step S220, during the playing of the video, a play selection request of the user is received. The select play request includes a user selected play time.
During the playing of the video, the user can select from which time to start playing the video by drag operation on the positioning control in the progress bar. Each drag operation end will initiate a select play request. And selecting the playing time corresponding to the playing request, namely, when the user finishes the dragging operation, positioning the video time corresponding to the position of the control.
It can be appreciated that in the playing process of the video, the user can drag the positioning control for multiple times, and accordingly, the server can receive multiple selection playing requests initiated by the user.
In step S230, a subtask for transcoding video from the play time is started. The video clips transcoded by the subtasks and the main tasks do not overlap each other.
According to some embodiments, in response to receiving a selected play request from a user, it may be determined whether the selected play request satisfies a preset transcoding condition. And under the condition that the selected playing request meets the transcoding condition, starting a corresponding subtask. Otherwise, the corresponding subtask is not started. Whereby waste of computing resources can be avoided.
According to some embodiments, the transcoding condition may be that the video frame corresponding to the playing time specified in the selected playing request has not yet completed transcoding. If the video frame corresponding to the playing time does not complete transcoding, starting a corresponding subtask. Otherwise, the corresponding subtask is not started.
Whether a video frame is completely transcoded may be determined by querying a storage system (e.g., a distributed cache, a persistent database, etc.) for whether the transcoding result for the video frame is stored.
According to some embodiments, the transcoding condition may also be that the video frame corresponding to the playing time specified in the selected playing request has not completed transcoding, and a difference between the requesting time of the selected playing request and the requesting time of the selected playing request of the last successful sub-task is greater than a threshold value. If the selected play request meets the transcoding condition, that is, the video frame corresponding to the play time is not transcoded, and the difference between the request time of the selected play request and the request time of the selected play request of the last successful start sub-task is greater than a threshold value, the corresponding sub-task is started. Otherwise, the corresponding subtask is not started.
According to the embodiment, if the user drags the progress bar frequently in a short time (i.e. initiates a plurality of selection playing requests within the threshold), the corresponding video sub-task is generated only for the first dragging, so that the playing requirement of the user can be selectively responded, and excessive waste of computing resources is avoided while the playing requirement of the user is met.
According to some embodiments, in case of receiving at least one play-selecting request initiated by a user, at least one sub-task corresponding to the at least one play-selecting request may be started. Each subtask is used to transcode video starting from the play time in the corresponding select play request. And the video clips transcoded by each of the at least one subtask are not overlapped with each other.
According to the embodiment, under the condition that the user drags the progress bar for a plurality of times in the video playing process, a plurality of subtasks can be started for video transcoding aiming at the plurality of dragging behaviors of the user. Compared with the method for starting only one subtask, the transcoding efficiency can be further improved, and the playing delay is reduced.
According to some embodiments, the step of "starting at least one subtask corresponding to the at least one play-selection request" may further include: generating at least one subtask respectively corresponding to the at least one selected play request, and respectively scheduling the at least one subtask to at least one computing device of the same type for execution.
According to the embodiment, the plurality of subtasks of the same video can be scheduled to be executed on the same type of computing equipment, so that the stability and uniformity of video transcoding can be ensured, and the problems of screen display and the like when the user equipment decodes and plays the video due to the fact that coding parameters are different due to different performances of the computing equipment are avoided.
The computing device may be, for example, a graphics processor (Graphics Processing Unit, GPU), a central processing unit (Central Processing Unit, CPU), or the like.
According to some embodiments, the same type of computing device may refer to the same model of computing device. According to other embodiments, the same type of computing device may also refer to different models of computing devices, but with the same performance parameters, such as memory capacity, memory bit width, core frequency, single precision floating point performance, and so forth.
According to some embodiments, in case of having at least one subtask, the respective transcoding schedule of the main task and the at least one subtask may be obtained. For any one of the main task and the at least one sub-task, stopping the transcoding process for that task in response to the transcoding progress of that task reaching the transcoding start point or the end point of the video of the other task.
According to the above embodiment, when the transcoding progress of a certain task (main task or sub task) is linked with the transcoding start point of other tasks, the transcoding process of the task is automatically stopped, so as to save computing resources.
The transcoding schedule indicates the end point of the video segment for which the corresponding transcoding task (main task or sub-task) has currently completed transcoding. The transcoding progress may be represented, for example, by the maximum number or maximum time of the video frame for which the corresponding encoding task has currently completed transcoding.
According to some embodiments, when the transcoding schedule of a subtask is linked with the transcoding start of other tasks, the subtask is ended (close), thereby freeing up the corresponding computing device (e.g., GPU), saving computing resources.
According to some embodiments, the transcoding process of the main task is stopped when the transcoding progress of the main task is engaged with the transcoding start point of a certain sub-task. However, the primary task is not necessarily ended while transcoding is stopped. According to some embodiments, the primary task may simply stop transcoding video, but still remain in a startup state to provide other functions, such as monitoring the transcoding status of each subtask, summarizing the transcoding results of each subtask, and so forth.
Fig. 3 shows a schematic diagram of a video transcoding process according to an embodiment of the present disclosure. In the embodiment shown in fig. 3, the uppercase letter T indicates the request time of a user-initiated request (including a start play request and a select play request), and the lowercase letter T indicates the play time (or, called, play time point) of a video.
As shown in fig. 3, at time T0, the user initiates a play start request of a certain video by clicking. At this point, progress bar 310 will be presented on the video playback interface of the client device. A draggable positioning component 312 is provided on the progress bar 310. The user may specify the play time of the video by dragging the positioning component 312.
The server responds to a video playing starting request, and starts a main Task0 for video transcoding. Task0 transcodes the video frame by frame starting from the start t0 of the video (t0=0). Rectangular bar 321 shows the transcoding progress of Task1 at time T0.
At time T1, the user drags the positioning component 312 to T1, i.e., initiates a select play request with a play time of T1. The server responds to the selected play request and starts a Task1.Task1 transcodes the video starting from time t1 of the video. Rectangular bars 322, 323 show the transcoding progress of Task0, task1, respectively, at time T1.
At time T2, the user drags the positioning component 312 to T2, i.e., initiates a select play request with a play time of T2. The server responds to the selected play request and starts a Task2.Task2 transcodes the video starting from time t2 of the video. Rectangular bars 324, 325, and 326 show the transcoding progress of Task0, task1, task2, respectively, at time T2.
As shown in fig. 3, at time T2, the transcoding schedule of the main Task0 reaches the transcoding start point T1 of the sub Task1, so that the Task0 stops transcoding. In the subsequent video transcoding process, task0 is used for obtaining the transcoding state of each subtask and summarizing the storage address of each subtask.
At time T3, the user drags the positioning component 312 to T3, i.e., initiates a select play request with a play time of T3. The server responds to the selected play request and starts a Task3.Task3 transcodes the video starting from time t3 of the video. Rectangular bars 327-330 show the transcoding progress of Task0-Task3 at time T3, respectively.
If the user does not drag the positioning component 312 any more, the transcoding Task of the video is completed jointly by Task0-Task 3. Wherein, task0 transcodes the video segment of t0-t1, task1 transcodes the video segment of t1-t3, task2 transcodes the video segment of t2-t4 (end point of video), and Task3 transcodes the video segment of t3-t 2. The tasks 0-3 can be respectively scheduled to 4 GPUs with the same model for execution, so that distributed parallel transcoding is realized, and the transcoding efficiency is improved.
According to some embodiments, the transcoding status of the primary task and each of the subtasks may be monitored during the transcoding process. Specifically, the transcoding state of each of the main task and the at least one sub task may be obtained. For any one of the main task and at least one sub-task, in response to a transcoding failure of the task, the stored current transcoding result of the task is cleared, and the task is restarted.
According to the embodiment, the method and the device can be automatically restarted when transcoding of a certain task fails, so that stability and robustness of transcoding are guaranteed.
In step S240, the first transcoding result of the main task and the second transcoding result of the subtask are summarized to obtain the transcoding result of the video.
According to some embodiments, step S240 may include: acquiring a first storage address of the first transcoding result in a distributed cache and a second storage address of the second transcoding result in the distributed cache; summarizing the first storage address and the second storage address to generate a first index file for obtaining a transcoding result of the video; and storing the first transcoding result and the second transcoding result to the distributed cache, respectively.
Corresponding to the above embodiment, the method 200 further comprises: the first index file is returned to the client device so that the client device obtains transcoding results of the video from the distributed cache based on the first index file.
According to the embodiment, the transcoding result of the video can be stored in the distributed cache in the process of playing the video by the user. The distributed cache has higher data access speed and is suitable for high concurrency scenes, so that transcoding results of videos can be fed back to users more quickly, and play delay is reduced.
According to some embodiments, the first storage address and the second storage address may be determined prior to storing the first transcoding result and the second transcoding result to the distributed cache. That is, the first transcoding result and the second transcoding result are allocated corresponding memory addresses in advance. Then, in the transcoding process, the first transcoding result and the second transcoding result are gradually written into corresponding storage addresses.
According to further embodiments, the first and second memory addresses may also be determined after storing the first and second transcoding results in the distributed cache. Namely, after the first transcoding result and the second transcoding result are obtained, the first transcoding result and the second transcoding result are respectively stored in the distributed cache. Then, a first storage address and a second storage address returned by the distributed cache are received.
According to some embodiments, the step of summarizing the first storage address and the second storage address may be performed by the primary task.
According to some embodiments, the step of storing the transcoding results to the distributed cache may be performed by the respective task. That is, the primary task stores its first transcoding result to the distributed cache and the secondary task stores its second transcoding result to the distributed cache.
According to some embodiments, a first index file may be stored to the distributed cache along with the first and second transcoding results. Therefore, the first index file can be quickly acquired from the distributed cache and fed back to the user, so that the user can quickly acquire the corresponding transcoding result based on the first index file.
According to some embodiments, the validity period of the transcoding result of the video may be set. When the storage time of the transcoding result of the video in the distributed cache exceeds the valid period, the transcoding result of the video is cleared from the distributed cache, so that the storage space of the distributed cache is saved.
According to some embodiments, step S240 may further include: acquiring a third storage address of the first transcoding result in a database and a fourth storage address of the second transcoding result in the database; summarizing the third storage address and the fourth storage address to generate a second index file for obtaining a transcoding result of the video; and persisting the first and second transcoding results to the database, respectively.
According to the embodiment, the transcoding result of the video can be respectively stored in the distributed cache and the persistent database. In the process of playing the video by the user, the transcoding result of the video is obtained from the distributed cache, so that the playing delay is reduced, and the waiting time of the user is shortened. When the user plays the video next time (for example, play the video again at 1 day, one month, etc. after the video playing is finished this time), the transcoding result of the video is obtained from the database, so as to avoid repeated transcoding of the video.
According to some embodiments, the third and fourth storage addresses may be determined prior to persisting the first and second transcoding results to the database. That is, the first transcoding result and the second transcoding result are allocated corresponding memory addresses in advance. Then, in the transcoding process, the first transcoding result and the second transcoding result are gradually written into corresponding storage addresses.
According to further embodiments, the third and fourth memory addresses may also be determined after the first and second transcoding results are persisted to the database. That is, after the first transcoding result and the second transcoding result are obtained, they are stored in the database, respectively. Then, the third storage address and the fourth storage address returned by the database are received.
According to some embodiments, the step of aggregating the third and fourth storage addresses may be performed by the primary task.
According to some embodiments, the step of storing the transcoding results to the database may be performed by the corresponding transcoding task. That is, the primary task persists its first transcoding result to the database and the secondary task persists its second transcoding result to the database.
According to some embodiments, a second index file may be persisted to a database along with the first and second transcoding results. Therefore, when the user plays the video next time, the second index file can be directly acquired from the database and fed back to the user, so that the user can quickly acquire the corresponding transcoding result based on the second index file.
Fig. 4 shows a schematic diagram of a video transcoding system according to an embodiment of the present disclosure. As shown in fig. 4, the video transcoding system includes a transcoding scheduling layer 410, a transcoding control layer 420, a transcoding work (work) layer 430, and a storage system 440. Wherein the storage system 440 further comprises a distributed cache and persistent cloud storage system.
As shown in fig. 4, in the process of playing video by the user, the transcoding scheduling layer 410 receives, through the gateway 402, a play selection request sent by the user terminal 401, where the play selection request includes a play time specified by the user.
In step S451, the transcoding scheduling layer 410 determines whether or not the distributed transcoding needs to be initiated on the video according to whether or not the transcoding result of the corresponding playing time exists in the current storage system. If the transcoding result of the playing time does not exist in the storage system, the transcoding control layer 420 is instructed to initiate a transcoding task from a location designated by the user, and a virtual storage address (i.e., an M3U8 file) of the transcoding result is generated, and the virtual storage address is returned to the client 401 through the gateway 402.
In step S452, the transcoding control layer 420 builds the corresponding sub-task 404 and determines the main task 403 of the video transcoding.
Transcoding work-layer 430 builds and executes the corresponding task by pulling the task build request of transcoding control-layer 420 via telecommunications. Each transcoding work-layer 430 may be configured to perform a transcoding task, transcode the transcoded audio and video data according to the transcoding start time specified by the task, and upload the transcoded audio and video data to storage system 440. The transcoded audio and video data can be uploaded to the distributed cache and the persistent cloud storage system respectively by adopting a double storage mechanism.
Specifically, the main task 403 starts transcoding from the start point of the video, and in step S453, the poll checks the transcoding status of all tasks (including itself and all sub-tasks). If the states of all tasks are normal, the transcoding results of the tasks are uploaded to the storage system 440, and virtual storage addresses of the transcoding results of all tasks are summarized and uploaded to the storage system 440. If the status of a task is abnormal (e.g., packet loss, transcoding failure, etc.), the process returns to step S452 to restart the corresponding task.
The sub-task 404 starts transcoding from a video non-0 position and periodically checks its own transcoding state in step S454. If the status of the task is normal, the transcoding result is uploaded to the storage system 440. If the status of the task is abnormal (e.g., packet loss, transcoding failure, etc.), the process returns to step S452, where the task is restarted to perform transcoding again.
In some cases, the transcoding results for each subtask may be aggregated by the primary task and uploaded to the storage system 440 in unison.
According to an embodiment of the present disclosure, there is also provided a video transcoding apparatus. Fig. 5 shows a block diagram of a video transcoding device 500, according to an embodiment of the present disclosure. As shown in fig. 5, the apparatus 500 includes a first transcoding module 510, a receiving module 520, a second transcoding module 530, and a summarizing module 540.
The first transcoding module 510 is configured to initiate a primary task for transcoding the video from its start point in response to receiving a start play request for the video.
The receiving module 520 is configured to receive a play selection request from a user during the playing of the video, where the play selection request includes a play time selected by the user.
The second transcoding module 530 is configured to initiate a subtask for transcoding the video from the play time, wherein the subtask and the video segments transcoded by the main task do not overlap each other.
The summarization module 540 is configured to summarize the first transcoding result of the main task and the second transcoding result of the subtask to obtain the transcoding result of the video.
According to embodiments of the present disclosure, when a user starts playing a video, a main task of transcoding from a video start point is started. When the user drags the progress bar during video playback, a subtask is started that starts transcoding from the drag position (i.e., the playback time selected by the user). The main task and the subtasks transcode different video clips in the video in parallel, so that transcoding efficiency can be improved, video playing delay (namely, waiting time of a user is reduced) is reduced, and user experience is improved.
According to some embodiments, the receiving module is further configured to: receiving at least one play-select request of the user, and wherein the second transcoding module is further configured to: and starting at least one subtask respectively corresponding to the at least one selected play request, wherein any one of the at least one subtask is used for transcoding the video from the play time of the corresponding selected play request, and the video fragments of the at least one subtask which are transcoded are not overlapped with each other.
According to some embodiments, the second transcoding module comprises: a generation unit configured to generate the at least one subtask; and a scheduling unit configured to schedule the at least one sub-task to be executed by at least one computing device of the same type, respectively.
According to some embodiments, the apparatus 500 further comprises: the progress acquisition module is configured to acquire the transcoding progress of each of the main task and the at least one sub task; and a stopping module configured to stop the transcoding process of the task in response to the transcoding progress of the task reaching a transcoding start of another task or an end of the video for any one of the main task and the at least one sub task.
According to some embodiments, the apparatus 500 further comprises: a state acquisition module configured to acquire transcoding states of each of the main task and the at least one sub task; a clearing module configured to clear, for any one of the main task and the at least one sub-task, a current transcoding result of the task in response to the task transcoding failure; and a restart module configured to restart the task.
According to some embodiments, the second transcoding module is further configured to: and starting the subtask in response to the uncompleted transcoding of the video frame corresponding to the playing time.
According to some embodiments, the second transcoding module is further configured to: and starting the subtask in response to the fact that the video frame corresponding to the playing time does not complete transcoding and the difference between the request time of the selected playing request and the request time of the selected playing request of the last successful start subtask is larger than a threshold value.
According to some embodiments, the summary module comprises: a first obtaining unit configured to obtain a first storage address of the first transcoding result in a distributed cache and a second storage address of the second transcoding result in the distributed cache; the first index unit is configured to summarize the first storage address and the second storage address to generate a first index file for acquiring a transcoding result of the video; and a caching unit configured to store the first transcoding result and the second transcoding result to the distributed cache, respectively.
According to some embodiments, the apparatus 500 further comprises: and the return module is configured to return the first index file to the client device so that the client device obtains the transcoding result of the video from the distributed cache based on the first index file.
According to some embodiments, the summary module comprises: a second acquisition unit configured to acquire a third storage address of the first transcoding result in a database and a fourth storage address of the second transcoding result in the database; a second index unit configured to aggregate the third storage address and the fourth storage address to generate a second index file for acquiring a transcoding result of the video; and a persistence storage unit configured to persist the first transcoding result and the second transcoding result to the database, respectively.
It should be appreciated that the various modules and units of the apparatus 500 shown in fig. 5 may correspond to the various steps in the method 200 described with reference to fig. 2. Thus, the operations, features and advantages described above with respect to method 200 are equally applicable to apparatus 500 and the modules and units comprising the same. For brevity, certain operations, features and advantages are not described in detail herein.
Although specific functions are discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein may be divided into multiple modules and/or at least some of the functions of the multiple modules may be combined into a single module.
It should also be appreciated that various techniques may be described herein in the general context of software hardware elements or program modules. The various elements described above with respect to fig. 5 may be implemented in hardware or in hardware in combination with software and/or firmware. For example, the units may be implemented as computer program code/instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these units may be implemented as hardware logic/circuitry. For example, in some embodiments, one or more of the modules 510-540 may be implemented together in a System on Chip (SoC). The SoC may include an integrated circuit chip including one or more components of a processor (e.g., a central processing unit (Central Processing Unit, CPU), microcontroller, microprocessor, digital signal processor (Digital Signal Processor, DSP), etc.), memory, one or more communication interfaces, and/or other circuitry, and may optionally execute received program code and/or include embedded firmware to perform functions.
There is also provided, in accordance with an embodiment of the present disclosure, an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor, the memory storing instructions executable by the at least one processor to enable the at least one processor to perform the video transcoding method of the disclosed embodiments.
According to an embodiment of the present disclosure, there is also provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the video transcoding method of the embodiments of the present disclosure.
There is also provided, in accordance with an embodiment of the present disclosure, a computer program product comprising computer program instructions which, when executed by a processor, implement the video transcoding method of the embodiments of the present disclosure.
Referring to fig. 6, a block diagram of an electronic device 600 that may be a server or a client of the present disclosure, which is an example of a hardware device that may be applied to aspects of the present disclosure, will now be described. Electronic devices are intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile apparatuses, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing apparatuses. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the electronic device 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 can also be stored. The computing unit 601, ROM 602, and RAM 603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
A number of components in the electronic device 600 are connected to the I/O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 may be any type of device capable of inputting information to the electronic device 600, the input unit 606 may receive input numeric or character information and generate key signal inputs related to user settings and/or function control of the electronic device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone, and/or a remote control. The output unit 607 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, video/audio output terminals, vibrators, and/or printers. Storage unit 608 may include, but is not limited to, magnetic disks, optical disks. The communication unit 609 allows the electronic device 600 to exchange information/data with other devices through a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, such as bluetooth devices, 802.11 devices, wi-Fi devices, wiMAX devices, cellular communication devices, and/or the like.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 600 via the ROM 602 and/or the communication unit 609. One or more of the steps of the method 200 described above may be performed when a computer program is loaded into RAM 603 and executed by the computing unit 601. Alternatively, in other embodiments, computing unit 601 may be configured to perform method 200 by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), the internet, and blockchain networks.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the foregoing methods, systems, and apparatus are merely illustrative embodiments or examples and that the scope of the present disclosure is not limited by these embodiments or examples but only by the claims following the grant and their equivalents. Various elements of the embodiments or examples may be omitted or replaced with equivalent elements thereof. Furthermore, the steps may be performed in a different order than described in the present disclosure. Further, various elements of the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after the disclosure.

Claims (23)

1. A method of video transcoding, comprising:
in response to receiving a request to start playing of a video, starting a main task for transcoding the video from a starting point of the video;
Receiving a selected playing request of a user in the playing process of the video, wherein the selected playing request comprises the playing time selected by the user;
starting a subtask for transcoding the video from the playing time, wherein the subtask and the video fragments transcoded by the main task are not overlapped with each other; and
and summarizing the first transcoding result of the main task and the second transcoding result of the subtask to obtain the transcoding result of the video.
2. The method of claim 1, wherein the receiving a user's select play request comprises: receiving at least one play-selecting request of the user,
and wherein said initiating a subtask for transcoding said video from said play time comprises:
and starting at least one subtask respectively corresponding to the at least one selected play request, wherein any one of the at least one subtask is used for transcoding the video from the play time of the corresponding selected play request, and the video fragments of the at least one subtask which are transcoded are not overlapped with each other.
3. The method of claim 2, wherein the enabling of at least one sub-task corresponding to the at least one select play request, respectively, comprises:
Generating the at least one subtask; and
the at least one subtask is respectively scheduled to be executed by at least one computing device of the same type.
4. A method according to claim 2 or 3, further comprising:
acquiring respective transcoding progress of the main task and the at least one sub task; and
for any one of the main task and the at least one sub task, stopping the transcoding process of the task in response to the transcoding progress of the task reaching a transcoding start of another task or an end of the video.
5. The method of any of claims 2-4, further comprising:
acquiring the transcoding states of the main task and the at least one sub task respectively;
for any task of the main task and the at least one sub task, responding to the task transcoding failure, and clearing the current transcoding result of the task; and
restarting the task.
6. The method of any of claims 1-5, wherein the initiating a subtask for transcoding the video from the play time comprises:
and starting the subtask in response to the uncompleted transcoding of the video frame corresponding to the playing time.
7. The method of any of claims 1-5, wherein the initiating a subtask for transcoding the video from the play time comprises:
and starting the subtask in response to the fact that the video frame corresponding to the playing time does not complete transcoding and the difference between the request time of the selected playing request and the request time of the selected playing request of the last successful start subtask is larger than a threshold value.
8. The method of any of claims 1-7, wherein the summarizing the first transcoding result of the primary task and the second transcoding result of the subtask comprises:
acquiring a first storage address of the first transcoding result in a distributed cache and a second storage address of the second transcoding result in the distributed cache;
summarizing the first storage address and the second storage address to generate a first index file for obtaining a transcoding result of the video; and
and respectively storing the first transcoding result and the second transcoding result to the distributed cache.
9. The method of claim 8, further comprising:
and returning the first index file to the client device so that the client device obtains a transcoding result of the video from the distributed cache based on the first index file.
10. The method of any of claims 1-7, wherein the summarizing the first transcoding result of the primary task and the second transcoding result of the subtask comprises:
acquiring a third storage address of the first transcoding result in a database and a fourth storage address of the second transcoding result in the database;
summarizing the third storage address and the fourth storage address to generate a second index file for obtaining a transcoding result of the video; and
and respectively and permanently storing the first transcoding result and the second transcoding result to the database.
11. A video transcoding device, comprising:
a first transcoding module configured to initiate a main task for transcoding a video from a start point of the video in response to receiving a start play request of the video;
the receiving module is configured to receive a selected playing request of a user in the playing process of the video, wherein the selected playing request comprises playing time selected by the user;
a second transcoding module configured to start a subtask for transcoding the video from the play time, wherein the subtask and the video segments transcoded by the main task do not overlap each other; and
And the summarizing module is configured to summarize the first transcoding result of the main task and the second transcoding result of the subtask so as to obtain the transcoding result of the video.
12. The apparatus of claim 11, wherein the receiving module is further configured to: receiving at least one play-selecting request of the user,
and wherein the second transcoding module is further configured to: and starting at least one subtask respectively corresponding to the at least one selected play request, wherein any one of the at least one subtask is used for transcoding the video from the play time of the corresponding selected play request, and the video fragments of the at least one subtask which are transcoded are not overlapped with each other.
13. The apparatus of claim 12, wherein the second transcoding module comprises:
a generation unit configured to generate the at least one subtask; and
and a scheduling unit configured to schedule the at least one subtask to be executed by at least one computing device of the same type respectively.
14. The apparatus of claim 12 or 13, further comprising:
the progress acquisition module is configured to acquire the transcoding progress of each of the main task and the at least one sub task; and
A stopping module configured to stop, for any one of the main task and the at least one sub-task, a transcoding process of the task in response to a transcoding progress of the task reaching a transcoding start of another task or an end of the video.
15. The apparatus of any of claims 12-14, further comprising:
a state acquisition module configured to acquire transcoding states of each of the main task and the at least one sub task;
a clearing module configured to clear, for any one of the main task and the at least one sub-task, a current transcoding result of the task in response to the task transcoding failure; and
and the restarting module is configured to restart the task.
16. The apparatus of any of claims 11-15, wherein the second transcoding module is further configured to:
and starting the subtask in response to the uncompleted transcoding of the video frame corresponding to the playing time.
17. The apparatus of any of claims 11-15, wherein the second transcoding module is further configured to:
and starting the subtask in response to the fact that the video frame corresponding to the playing time does not complete transcoding and the difference between the request time of the selected playing request and the request time of the selected playing request of the last successful start subtask is larger than a threshold value.
18. The apparatus of any of claims 11-17, wherein the aggregation module comprises:
a first obtaining unit configured to obtain a first storage address of the first transcoding result in a distributed cache and a second storage address of the second transcoding result in the distributed cache;
the first index unit is configured to summarize the first storage address and the second storage address to generate a first index file for acquiring a transcoding result of the video; and
and the caching unit is configured to store the first transcoding result and the second transcoding result to the distributed cache respectively.
19. The apparatus of claim 18, further comprising:
and the return module is configured to return the first index file to the client device so that the client device obtains the transcoding result of the video from the distributed cache based on the first index file.
20. The apparatus of any of claims 11-17, wherein the aggregation module comprises:
a second acquisition unit configured to acquire a third storage address of the first transcoding result in a database and a fourth storage address of the second transcoding result in the database;
A second index unit configured to aggregate the third storage address and the fourth storage address to generate a second index file for acquiring a transcoding result of the video; and
and a persistence storage unit configured to persist the first transcoding result and the second transcoding result to the database, respectively.
21. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the method comprises the steps of
The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-10.
22. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1-10.
23. A computer program product comprising computer program instructions, wherein the computer program instructions, when executed by a processor, implement the method of any one of claims 1-10.
CN202310369568.XA 2023-04-07 2023-04-07 Video transcoding method and device, electronic equipment and storage medium Pending CN116389758A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310369568.XA CN116389758A (en) 2023-04-07 2023-04-07 Video transcoding method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310369568.XA CN116389758A (en) 2023-04-07 2023-04-07 Video transcoding method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116389758A true CN116389758A (en) 2023-07-04

Family

ID=86967206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310369568.XA Pending CN116389758A (en) 2023-04-07 2023-04-07 Video transcoding method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116389758A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404652A (en) * 2008-10-10 2009-04-08 华南理工大学 Media format conversion system and method used for digital house
US20160191961A1 (en) * 2014-12-31 2016-06-30 Imagine Communications Corp. Fragmented video transcoding systems and methods
CN110213672A (en) * 2019-07-04 2019-09-06 腾讯科技(深圳)有限公司 Video generation, playback method, system, device, storage medium and equipment
CN110602555A (en) * 2019-07-30 2019-12-20 华为技术有限公司 Video transcoding method and device
CN114245175A (en) * 2021-12-15 2022-03-25 北京度友信息技术有限公司 Video transcoding method and device, electronic equipment and storage medium
CN115633191A (en) * 2022-09-15 2023-01-20 北京百度网讯科技有限公司 Video playing method, device, system, electronic equipment and readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404652A (en) * 2008-10-10 2009-04-08 华南理工大学 Media format conversion system and method used for digital house
US20160191961A1 (en) * 2014-12-31 2016-06-30 Imagine Communications Corp. Fragmented video transcoding systems and methods
CN110213672A (en) * 2019-07-04 2019-09-06 腾讯科技(深圳)有限公司 Video generation, playback method, system, device, storage medium and equipment
CN110602555A (en) * 2019-07-30 2019-12-20 华为技术有限公司 Video transcoding method and device
CN114245175A (en) * 2021-12-15 2022-03-25 北京度友信息技术有限公司 Video transcoding method and device, electronic equipment and storage medium
CN115633191A (en) * 2022-09-15 2023-01-20 北京百度网讯科技有限公司 Video playing method, device, system, electronic equipment and readable storage medium

Similar Documents

Publication Publication Date Title
AU2021229220B2 (en) Image processing method and device
CN113986788B (en) Data processing method and device, chip, electronic equipment and medium
CN113656423B (en) Method and device for updating data, electronic equipment and storage medium
WO2015013981A1 (en) Image display method and device
CN113810773B (en) Video downloading method and device, electronic equipment and storage medium
CN114071173B (en) Live broadcast scheduling method, device, system, electronic equipment and medium
CN114327918B (en) Method and device for adjusting resource amount, electronic equipment and storage medium
CN114245175A (en) Video transcoding method and device, electronic equipment and storage medium
CN113382310B (en) Information recommendation method and device, electronic equipment and medium
EP4203487A1 (en) Method and apparatus for processing multimedia resource
CN116866661A (en) Video prerendering method, device, equipment and storage medium
CN116389758A (en) Video transcoding method and device, electronic equipment and storage medium
CN114510308B (en) Method, device, equipment and medium for storing application page by mobile terminal
CN116401462A (en) Interactive data analysis method and system applied to digital sharing
CN114095564B (en) Data processing method, device, equipment and medium
CN115756696A (en) Information processing method, device, equipment and medium
CN113126928B (en) File moving method and device, electronic equipment and medium
CN113012258A (en) Method and device for generating multi-segment line graph, electronic equipment and readable medium
CN115334159B (en) Method, apparatus, device and medium for processing stream data
CN113378001B (en) Video playing progress adjusting method and device, electronic equipment and medium
WO2023179154A1 (en) Method, apparatus and system for updating cursor
CN113407329B (en) Task execution method, device, equipment and storage medium
CN115658284A (en) Resource scheduling method, device, electronic equipment and medium
CN117472926A (en) Database updating method and device, equipment and medium
CN115297291A (en) Data processing method, data processing device, electronic equipment and medium

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