WO2023207513A1 - 视频处理方法、装置及电子设备 - Google Patents
视频处理方法、装置及电子设备 Download PDFInfo
- Publication number
- WO2023207513A1 WO2023207513A1 PCT/CN2023/085524 CN2023085524W WO2023207513A1 WO 2023207513 A1 WO2023207513 A1 WO 2023207513A1 CN 2023085524 W CN2023085524 W CN 2023085524W WO 2023207513 A1 WO2023207513 A1 WO 2023207513A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- segment
- splitting
- node
- split
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 230000007704 transition Effects 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims abstract description 60
- 239000012634 fragment Substances 0.000 claims abstract description 39
- 230000008859 change Effects 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 24
- 230000036316 preload Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 64
- 230000008569 process Effects 0.000 description 22
- 238000001514 detection method Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012850 discrimination method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present disclosure relates to the field of video processing technology, and in particular, to a video processing method, device and electronic equipment.
- Video authors can upload videos through the video platform website to share them with other users for viewing, and the video platform website will perform a series of processes on the uploaded videos to facilitate playback in different application scenarios.
- the present disclosure provides a video processing method, device and electronic equipment.
- the present disclosure provides a video processing method that can be applied to the server side, including:
- Video parallel processing is performed based on the video slices.
- the present disclosure provides another video processing method that can be applied to the client, including:
- video fragments of the video wherein the video fragments are obtained by splitting the video according to the splitting nodes determined by the key frames corresponding to the transition scenes in the video;
- the present disclosure provides a video processing device, which can be applied on the server side, including:
- the acquisition module is configured to obtain the key frames corresponding to the transition scenes in the video
- a determination module configured to determine the split node of the video according to the key frame corresponding to the transition picture
- a splitting module configured to split the video according to the splitting node of the video to obtain video segments
- a processing module configured to perform video parallel processing based on the video slices.
- the present disclosure provides another video processing device that can be applied to a client, including:
- the acquisition module is configured to obtain video fragments of the video, wherein the video fragments are obtained by splitting the video according to the splitting node determined by the key frame corresponding to the transition picture in the video;
- a playback module configured to play the video according to the video segments.
- the present disclosure provides a computer-readable storage medium.
- Computer-executable instructions are stored in the computer-readable storage medium.
- a processor executes the computer-executable instructions, the video processing described in the first aspect is implemented. method.
- the present disclosure provides another computer-readable storage medium.
- Computer-executable instructions are stored in the computer-readable storage medium.
- the processor executes the computer-executed instructions, the video described in the second aspect is implemented. Approach.
- the present disclosure provides an electronic device, which may be a server or a client device, including a processor and a memory; the memory stores computer execution instructions; when the electronic device is a server, the processor executes the The computer execution instructions stored in the memory cause the processor to execute the video processing method as described in the first aspect.
- the processor executes the computer execution instructions stored in the memory, so that the processor executes the video processing method as described in the second aspect.
- the present disclosure provides a computer program product, including a computer program that implements the video processing method as described in the first aspect when executed by a processor.
- the present disclosure provides another computer program product, including a computer program that implements the video processing method as described in the second aspect when executed by a processor.
- the present disclosure provides a computer program including computer-executable instructions that, when executed by a processor, cause the processor to perform the video processing method as described in the first aspect.
- the present disclosure provides another computer program, including computer-executable instructions that, when executed by a processor, cause the processor to perform the video processing method as described in the second aspect.
- Figure 1 shows a schematic flowchart of a video processing method provided by an embodiment of the present disclosure
- FIG. 2 shows a schematic flowchart of another video processing method provided by an embodiment of the present disclosure
- Figure 3 shows a brief flow chart of video publishing provided by an embodiment of the present disclosure
- Figure 4 shows a schematic diagram of split video node transcoding provided by an embodiment of the present disclosure
- Figure 5 shows a schematic flowchart of yet another video processing method provided by an embodiment of the present disclosure
- Figure 6 shows a schematic diagram of a video playback example provided by an embodiment of the present disclosure
- Figure 7 shows a schematic diagram of an example of video playback when a progress bar is dragged according to an embodiment of the present disclosure
- Figure 8 shows a schematic structural diagram of a video processing device provided by an embodiment of the present disclosure
- Figure 9 shows a schematic structural diagram of another video processing device provided by an embodiment of the present disclosure.
- Figure 10 shows a schematic structural diagram of a video processing system provided by an embodiment of the present disclosure.
- each link in the video processing link will take longer, more machine resources or manpower to complete. Tasks in each link will lead to technical problems such as low video processing efficiency and resource consumption.
- the present disclosure provides a video processing method, device and electronic equipment.
- the main purpose is to improve the video processing efficiency that currently exists when processing videos uploaded by video authors with long duration, large code rate and large file size. Low and resource-consuming technical issues.
- This embodiment provides a video processing method, as shown in Figure 1, which can be applied to the server side (such as the server side of a video platform website, etc.).
- the method includes:
- Step 101 Obtain the key frames corresponding to the transition scenes in the video.
- the video in this embodiment can be a video with a longer duration, and/or a larger code rate, and/or a larger resolution, and/or a larger file size, or it can also be an ordinary video. Specifically, You can choose whether to use the method of this embodiment according to actual needs.
- the key frame corresponding to the transition picture can be a frame with a greater degree of change compared with the previous frame in the video.
- transitions The images may include: fade-in and fade-out transitions, slow-fade transitions, and dissolve transitions, and the key frames corresponding to the transition images may be key frames corresponding to these transition images.
- a transition picture appears in a video, it generally represents the transition and conversion between scenes.
- the transition picture is used as a reference for video splitting, which can avoid rigid splitting of video content of the same scene. points, as much as possible to ensure that users have a complete viewing experience of video content in the same scene when watching videos, thereby ensuring users' video viewing experience.
- Step 102 Determine the splitting node of the video based on the key frames corresponding to the transition scenes in the video.
- the split node is the node where the video needs to be split.
- the key frames corresponding to each transition picture in the video can be considered as optional nodes for video splitting.
- This embodiment can select the splitting node of the video from these optional nodes according to the needs of actual business scenarios. For example, the split video segments need to meet certain requirements such as duration and file size, and based on different business scenarios, these requirements can be the same or different.
- This embodiment can select the split nodes of the video from the key frames corresponding to each transition screen according to the needs of the actual business scenario to meet the requirements of the video duration, file size, etc. in the business scenario.
- a machine learning model can be used to determine the nodes that need to be split in the video based on the key frames corresponding to the transition scenes in the video.
- the machine learning model can determine the key frames of the entire long video content, confirm the transition scene by analyzing the key frames, and analyze the most suitable time node as the split node based on the overall duration, thereby ensuring the user experience of the split video.
- Step 103 Split the video according to the splitting node of the video to obtain video fragments.
- Step 104 Perform video parallel processing based on the split video fragments.
- each link in the video link will require longer time, machine resources, and manpower to complete the tasks of each link.
- an author posts two videos, one video A is 3 minutes long, and one video B is 3 hours long.
- Video B will be slower than video A in each link, and the success rate of each link, video B is not higher than video A; the same applies to other situations, such as: the bit rate of video A is 10mbps, and the bitrate of video B is 60mbps;
- the resolution of video A is 720P, the resolution of video B is 4K, etc.
- the increase of such video parameters will increase the time in each link and reduce the success rate.
- a video with a longer duration, a larger bit rate, and a larger file size is split into shorter duration, unchanged bit rate, or compressed video.
- Video segments with small file size are then based on these video fragments, parallel processing of videos can be performed, and each link in the video processing link can be optimized, greatly improving the efficiency of video processing and significantly saving resource consumption.
- this embodiment can effectively improve the current technical problems of low video processing efficiency and resource consumption when processing videos uploaded by video authors with a long duration, a large bit rate, and a large file size.
- the processing effect of the entire process from video uploading and publishing to final video playback can be optimized, thereby improving the efficiency of the entire video processing process without affecting the user experience of terminal content consumers. Reduces the probability of video freezes and abnormal failures.
- this embodiment provides a specific method as shown in Figure 2, which can be applied to the server side.
- the method includes:
- Step 201 Determine the key frame corresponding to the transition picture in the video by analyzing the degree of color change and color system change of the two frames before and after the video frame.
- This embodiment can train a machine learning model based on sample data to achieve machine learning of the degree of color change and color system change of the two frames before and after the video frame when the transition picture appears in a large number of sample videos, and then use the trained machine learning model to By analyzing the degree of color change and color system change of the two frames before and after the video frame, the key frame corresponding to the transition picture in the current video is determined. In this way, the key frames corresponding to the transition scenes in the video can be accurately determined to ensure reasonable splitting of the video in the future.
- step 201 may specifically include: comparing the color values corresponding to each pixel point in the current frame and the previous frame; if it is determined based on the comparison result of the color values that the color change rate between the current frame and the previous frame is greater than the first predetermined value, If the threshold is set and the color change meets the preset span conditions, the key frame corresponding to the transition picture is determined based on the current frame.
- Color system changes that comply with the preset span conditions require that the two color systems before and after the change have obvious color system spans. If the two color systems before and after the change do not have obvious color system spans, it means that the color system changes do not meet the preset span conditions. .
- the specific determination process of whether the color system change meets the preset span condition may include: based on the color value corresponding to each pixel point in the current frame, obtaining the color system a to which the current frame belongs, and the color value corresponding to each pixel point in the previous frame. , obtain the color system b to which the previous frame belongs, and then determine the color system change from the previous frame to the current frame as a change from color system b to color system a.
- Color system changes with a large color span recorded in the preset storage location (such as a preset database, list, etc.) (such as color system m changes to color system n, color system n changes to color system m, color system Changes from color system x to color system y, etc. are all color system changes with a large color system span) for matching.
- the change from color system b to color system a is recorded in the preset storage location, which is a color system change with a large color system span, it means that the change The two color systems before and after have obvious color system spans, and then it can be determined that the color system change between the current frame and the previous frame meets the preset span conditions; conversely, if the change from color system b to color system a is not recorded in the preset storage location genus
- For color system changes with a large color system span it means that the two color systems before and after the change do not have an obvious color system span, and then it can be determined that the color system change between the current frame and the previous frame does not meet the preset span conditions.
- the color system of a video frame changes from dark green to light green, there is no obvious color span.
- the color change does not meet the preset span conditions, while if it changes from dark green to red, it is obvious.
- the color span of the color system can be judged to meet the preset span conditions through the above discrimination method.
- both the first preset threshold and the preset span condition can be preset according to actual needs. Compare the color value of each pixel in the current frame with the corresponding pixel in the previous frame. If the color change rate between the current frame and the previous frame is greater than a certain threshold, and the color change meets the preset span conditions, then the color value can be compared. The current frame is determined as the key frame corresponding to the transition picture.
- the above-mentioned key frame corresponding to the transition picture is determined based on the current frame. Specifically, It may include: if the color change rate of the predetermined number of frames after the current frame (preset according to the actual situation, such as 1 to 3, etc.) and the previous frame (the frame before the current frame) is greater than the second predetermined Assuming a threshold (which may be the same as or different from the first preset threshold) and the color change meets the preset span condition, the current frame can be determined as the key frame corresponding to the transition picture.
- the color change rate between the current frame and the previous frame is greater than a certain threshold, and the color change meets the preset span condition, and some frames following the current frame also have a color change rate greater than a certain threshold from the previous frame, and the color change rate System changes comply with the preset span conditions, indicating that the current frame is the key frame for the transition screen.
- Step 202 Determine the splitting nodes of the video according to the key frames corresponding to the transition pictures.
- step 202 may specifically include: determining the split nodes of the video based on the key frames corresponding to the transition pictures and the preset duration range of each segment.
- step 202 may specifically include: determining the split nodes of the video based on the key frames corresponding to the transition pictures and the preset duration range of each segment.
- the preset duration range of a single slice can be the same or different.
- the preset duration range of a single slice can be 5 minutes to 10 minutes
- the preset duration of a single shard can range from 15 minutes to 25 minutes.
- determining the split node of the video based on the key frames corresponding to the transition picture and the preset duration range of each segment may include: based on the key frames corresponding to the transition picture, determining that the video is consistent with the first preset time range.
- Conditional splitting The node serves as the splitting node of the video, so that the video duration of each video segment obtained by splitting according to the splitting node that meets the first preset condition is within the preset duration range.
- whether the first preset condition is met can be determined with reference to two factors: the transition screen and the duration of the split video.
- the split node that meets the first preset condition refers to the split node that is passed through the transition.
- the key frames corresponding to the scenes are split, and the video duration of each segment obtained after splitting meets the duration requirement (the duration requirement set by the system or user, such as the duration requirement of 10 minutes to 15 minutes, so that each video The video durations of the segments are all within this duration range); on the contrary, if you split it according to the key frames corresponding to the transition images, you will not be able to get video segments that meet the duration requirements, or there will be no transitions in the video. screen, then there is no split node that meets the first preset condition.
- the duration requirement the duration requirement set by the system or user, such as the duration requirement of 10 minutes to 15 minutes, so that each video
- the duration requirement the duration requirement set by the system or user, such as the duration requirement of 10 minutes to 15 minutes, so that each video
- the duration requirement the duration requirement set by the system or user, such as the duration requirement of 10 minutes to 15 minutes, so that each video
- the duration requirement the duration requirement set by the system or user, such as the duration requirement of 10 minutes to 15 minutes, so that each
- the preset duration range of a single fragment can be 15 minutes to 25 minutes.
- select the appropriate split node so that the video duration of each video segment after the video is split according to the split node is within the range of 15 minutes to 25 minutes. For example, if it is split into 4 video segments, video segment 1 is 17 minutes long, video segment 2 is 18 minutes long, video segment 3 is 22 minutes long, and video segment 4 is 16 minutes long. These four video segments are split based on the key frames corresponding to the transition scenes in the video.
- the above-mentioned determination of the split node based on the key frame corresponding to the transition screen and the preset duration range of a single fragment may also include: if it cannot be determined that a split node that meets the first preset condition is obtained, then The split node that meets the second preset condition can be determined based on the key frame whose picture change amplitude is less than the third preset threshold and/or the sound change amplitude is less than the fourth preset threshold, and is used as the split node of the video, so that the split node meets the second preset condition.
- the video duration of each video segment split by the splitting node of the second preset condition is within the preset duration range.
- whether the second preset condition is met can be determined by referring to the key frames in which the picture changes are relatively static and/or the sound changes are relatively spaced, and combined with the split video duration.
- the split node that meets the second preset condition refers to splitting through key frames corresponding to the relative stillness of the picture and/or the relative intervals of sound changes, and the video duration of each segment obtained after splitting meets the duration requirements.
- the time length requirement may be the same as the time length requirement when judging the first preset condition.
- the key frame corresponding to the transition picture can be used as a reference for splitting.
- the split node that meets the second preset condition will be determined as the split node of the video, that is, within the appropriate split time (that is, the split video fragments meet the duration requirements), the picture changes will be found to be relatively static and /or the key to the relative spacing of sound changes Frames for video splitting.
- the preset duration range of a single segment can be 15 minutes to 25 minutes. If among the multiple transitions of video A, the appropriate split node cannot be selected so that the video duration of each split video segment is within the range of 15 minutes to 25 minutes, then the screen can be judged. According to the key frames where the picture change amplitude is less than a certain threshold (such as the picture change is relatively static), and/or the sound change amplitude is less than a certain threshold (such as the sound change relative interval), the appropriate split node is selected, so that the video is processed according to the split node The video duration of each split video segment is within the range of 15 minutes to 25 minutes.
- a certain threshold such as the picture change is relatively static
- the sound change amplitude is less than a certain threshold
- step 202 may specifically include: first, based on the content of the video, filter out the key frames corresponding to the transition scenes that meet the preset highlight moment conditions; and then filter out the key frames corresponding to the transition scenes after filtering.
- the key frame corresponding to the picture determines the split node of the video.
- the transition screen that meets the preset highlight moment conditions can be a transition screen whose content belongs to the burning moment, highlight moment, etc.
- sample video data with ignition moments, highlight moments, etc. can be used in advance to train the corresponding machine learning model, and then the machine learning model can be used to obtain the ignition moments and highlight moments in the target video. etc. video frames. Therefore, when determining the split node of the video, first filter out the key frames corresponding to the transition pictures that meet these conditions, and then determine the split node of the video based on the key frames corresponding to the remaining transition pictures after filtering.
- Step 203 Split the video according to the splitting node of the video to obtain video fragments.
- step 203 may specifically include: first, in the process of the video publisher marking the split node, based on the split node determined in step 202 , displays the recommended splitting nodes of the video.
- the video publisher can choose to split the node according to his own wishes (for example, the video author also You can set the time node you want to split by yourself), or select the split node recommended in step 202 to split the video (for example, when the author marks the split node by himself, the method shown in steps 201 to 202 will be Providing corresponding suggestions for the author to decide whether to use the recommended node location); then split the video according to the splitting node confirmed by the video publisher to obtain video fragments.
- reasonable video splitting suggestions can be given, which improves the efficiency of the user when manually splitting the video.
- video parallel processing can be performed based on these video fragments. Specifically, the process shown in step 204 to step 206 can be performed.
- Step 204 Perform parallel transcoding on the split video segments according to the preset bit rate and preset resolution.
- different distribution terminals have their own corresponding combinations of preset code rates and combinations of preset resolutions.
- different distribution terminals such as personal computers (PCs), smartphones, tablets, and TVs will have default recommended bit rates and resolutions.
- PCs personal computers
- transcoding different appropriate combinations will be selected according to the business scenario, and the corresponding code for transcoding will be flow.
- the corresponding distribution end is the smartphone. You can select three specific code rates from the six code rates and select a specific resolution from the eight resolutions. Four types of video fragments are used to transcode the corresponding code streams in parallel.
- the video processing link may include: frame extraction, transcoding, detection process, recommendation engine, client player and other links.
- frame extraction and transcoding process in related technologies, as the length of the video increases, the number of extracted frames increases and the transcoding time becomes longer, which increases the computing power requirements, resource consumption, time, etc. of the machine model. , but also makes it more likely to fail, and lead to retries or transcoding failures.
- the frame extraction and transcoding process in this embodiment (such as performing the processes shown in steps 201 to 204), the processing efficiency of frame extraction and transcoding can be effectively improved.
- the video segments A-1, A-2...A-n obtained by splitting a long video will be transcoded in parallel according to a unified preset bit rate and preset resolution.
- parallel transcoding can be performed after splitting, which improves transcoding efficiency, reduces the probability of failure, and saves transcoding time.
- Step 205 Send the video fragments to the detection module for parallel detection processing.
- the detection module can detect whether there are abnormal contents in the video content, etc. As shown in Figure 3, the traditional method requires long-term content detection of long video content. The number of extracted feature points is larger, and the calculation time and comparison time are longer.
- the long video is split into several short videos, so that parallel detection processing of multiple short videos can be achieved, effectively improving detection efficiency.
- Step 206 Recommend to the user the video segment content corresponding to the video segment and/or the video generated by combining the video segments. video content.
- the completion rate of ultra-long videos may be lower than that of short videos, resulting in poor distribution effects.
- long videos can be split into short videos for recommendation, which can effectively solve this technical problem.
- the video segment content corresponding to the video segment may be recommended to the user, and/or the video content generated by a combination of video segments may be recommended to the user, such as the entire video generated by the combination of all video segments, or part of the video segment.
- recommending the video segment content corresponding to the video segment to the user may specifically include: obtaining the video segment content corresponding to each video segment; selecting to recommend to the user starting from the beginning segment content in the video segment content, or selecting to start from the video segment content.
- the clip content that meets the preset highlight moment conditions in the clip content begins to be recommended to the user.
- This optional method can be adjusted based on different algorithms. For example, video A is split into video A-0 (beginning), video A-1, video A-2 (highlight moment),...video A-z (end). Based on the user's viewing needs, recommendations can be made from the beginning. That is, recommendations can be made to users starting from the video clip content corresponding to video A-0; or recommendations can be made starting from essential clips (such as burning moments, highlight moments, etc.), such as video A-2.
- essential clips such as burning moments, highlight moments, etc.
- video A-2 For the judgment process of whether a video clip is a highlight clip, you can refer to the judgment process that meets the preset highlight moment conditions in step 202.
- This embodiment can also mark the split video segments to mark whether they are the highlight. fragment. Through this optional method, the recommendation effect of video content can be improved.
- the technical solution of this embodiment is to reasonably split the video to split the video with longer duration, larger code rate, and larger file size into shorter videos with unchanged code rate or compression (which can depend on the user who uploaded the video). selection), reduce the file size, and combine all aspects of frame extraction, transcoding, detection process, recommendation engine, and client player to optimize the processing efficiency of the split video, and overall optimize the final playback effect, thereby achieving Without affecting the user experience of terminal content consumers, the efficiency of the entire process is improved and the probability of lags and abnormal failures is reduced.
- this embodiment also provides a video processing method applicable to the client side as shown in Figure 5.
- the method includes:
- Step 301 Obtain video segments of the video.
- the video segmentation can be based on the split nodes determined according to the key frames corresponding to the transition scenes in the video. Obtained by splitting, please refer to the methods shown in Figure 1 and Figure 2 for details.
- Step 302 Play the video according to the video segments.
- the complete video can be played, or the video fragments corresponding to the video fragments can be played.
- step 302 may specifically include: when playing the video segment content of the n-th segment in the video segment, preloading the video segment content of the n+1-th segment, where the n-th segment is a video Any shard in the shards, and the n+1th shard is the next shard of the nth shard.
- the relevant technology can also directly split the video, such as one preset episode per TV series.
- this method will affect the end user's consumption experience when the video is played, leading to the user's consumption of long video content. Not coherent enough.
- the video splitting method of this embodiment when the client player plays such split-node videos, it is different from the traditional TV series concept, and the content consumer will not perceive the split nodes when viewing it.
- the player when the user watches the complete video through the method of this embodiment, the player will automatically preload the subsequent A-n+1 when playing the node A-n to ensure the continuity of playback.
- the client player does not need to load all the video data at once. It only loads the current video segment and preloads the next video segment to ensure video continuity. After watching the video of the next video segment content, the next video segment will be automatically preloaded, and so on. It effectively reduces the performance requirements for the client player.
- the improvement effect is more obvious, which can improve the user's video playback experience.
- step 301 may specifically include: in response to the user's instruction to adjust the video playback progress, obtain the target video segment corresponding to the progress position specified by the user, and the next segment of the target video segment; accordingly, step 302 Specifically, it may include: playing the video segment content of the target video segment, and preloading the video segment content of the next segment of the target video segment.
- the user when the user drags the video playback progress on the progress bar, he can skip unnecessary nodes in the middle. For example, the user is currently watching the video content of video segment 2, and then the user adjusts the video playback progress.
- the progress corresponds to the video content of video segment 5.
- the client player can download and play the video content of video segment 5 and preload the video content of video segment 6 (if there is video segment 6), no need Then download the video content of video segments 3 and 4. In this way, the number of videos that need to be downloaded is saved, and good playback smoothness is ensured even when the network speed, browser performance, and hardware device performance are average.
- This embodiment optimizes each link (as shown in Figure 3) so that after the video author uploads a video with a longer duration, and/or a larger code rate, and/or a larger file size, the video platform can more quickly Present this video to Terminal content consumers will not feel that the video content is incoherent and the viewing experience will be degraded due to the traditional model of simply splitting episodes.
- this embodiment provides a video processing device that can be applied to the server side.
- the device includes: an acquisition module 41, a determination module 42, Splitting module 43, processing module 44.
- the acquisition module 41 is configured to acquire key frames corresponding to the transition scenes in the video
- the determination module 42 is configured to determine the split node of the video according to the key frame corresponding to the transition picture;
- the splitting module 43 is configured to split the video according to the splitting node of the video to obtain video fragments;
- the processing module 44 is configured to perform video parallel processing based on the video slices.
- the acquisition module 41 is specifically configured to determine the key frame corresponding to the transition picture by analyzing the degree of color change and color system change of the two frames before and after the video frame.
- the acquisition module 41 is specifically configured to compare the color values corresponding to each pixel point in the current frame and the previous frame; if the current frame and the previous frame are determined based on the comparison result of the color values The color change rate is greater than the first preset threshold and the color change meets the preset span condition, then the key frame corresponding to the transition picture is determined based on the current frame.
- the acquisition module 41 is specifically configured to: if the color change rate of a predetermined number of frames after the current frame and the previous frame is greater than the second preset threshold, and the color system changes If the preset span condition is met, the current frame is determined as the key frame corresponding to the transition picture.
- the determination module 42 is specifically configured to determine the split node of the video based on the key frame corresponding to the transition picture and the preset duration range of each fragment.
- the determination module 42 is specifically configured to determine the split node that meets the first preset condition based on the key frame corresponding to the transition picture as the split node of the video, so that The video duration of each video segment split according to the splitting node that meets the first preset condition is within the preset duration range.
- the determination module 42 is specifically configured to: if it cannot be determined that a split node that meets the first preset condition is obtained, the determination module 42 determines whether the picture change amplitude is less than the third preset threshold and/or the sound changes. For key frames whose amplitude is less than the fourth preset threshold, the split node that meets the second preset condition is determined as the split node of the video, so that the split node obtained by splitting according to the split node that meets the second preset condition The video duration of each video segment is within the preset duration range.
- the determination module 42 is specifically configured to filter out the key frames corresponding to the transition pictures that meet the preset highlight moment conditions; determine the key frames corresponding to the remaining transition pictures after filtering. Split node of the video.
- the splitting module 43 is specifically configured to display the recommended splitting node of the video based on the determined splitting node of the video during the process of the video publisher marking the splitting node; The video is split according to the splitting node confirmed by the video publisher to obtain video fragments.
- the processing module 44 is specifically configured to perform parallel transcoding on the video slices according to a preset code rate and a preset resolution, where different distribution terminals have respective corresponding preset code rates. combinations as well as combinations of preset resolutions.
- the processing module 44 is specifically configured to send the video fragments to the detection module for parallel detection processing.
- the processing module 44 is specifically configured to recommend to the user the video segment content corresponding to the video segment and/or the video content generated by the combination of the video segments.
- the processing module 44 is specifically configured to obtain the video segment content corresponding to each of the video segments; select to recommend to the user starting from the beginning segment content in the video segment content, or select to recommend to the user starting from the beginning segment content of the video segment content; The content of the video clips that meet the preset highlight moment conditions is recommended to the user.
- this embodiment provides a video processing device that can be applied to the client.
- the device includes: an acquisition module 51 and a playback module 52.
- the acquisition module 51 is configured to obtain video fragments of the video, wherein the video fragments are obtained by splitting the video according to the splitting node determined by the key frame corresponding to the transition picture in the video;
- the playback module 52 is configured to play the video according to the video segments.
- the playback module 52 is configured to preload the video segment content of the n+1th segment when playing the video segment content of the n-th segment in the video segment, where, The n-th fragment is any one of the video fragments, and the n+1-th fragment is the next fragment of the n-th fragment.
- the acquisition module 51 is configured to respond to the user's instruction to adjust the video playback progress, acquire the target video segment corresponding to the progress position specified by the user, and the next segment of the target video segment. piece;
- the playback module 52 is specifically configured to play the video segment content of the target video segment and preload the video segment content of the next segment of the target video segment.
- this embodiment also provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by the processor, the above-mentioned Figures 1 and 2 are implemented.
- this embodiment also provides another computer-readable storage medium on which a computer program is stored.
- the computer program is executed by the processor, the above-mentioned method shown in Figure 5 is implemented. method.
- this embodiment also provides a computer program product.
- the computer program product is stored in a storage medium.
- the computer program product is executed by a computer device, the computer The device performs the video processing methods shown in Figures 1 and 2.
- this embodiment also provides another computer program product.
- the computer program product is stored in a storage medium.
- the computer device executes The video processing method shown in Figure 5.
- the technical solution of the present disclosure can be embodied in the form of a software product.
- the software product can be stored in a non-volatile storage medium (which can be a CD-ROM, U disk, mobile hard disk, etc.), including several Instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method of each implementation scenario of the present disclosure.
- a computer device which may be a personal computer, a server, or a network device, etc.
- embodiments of the present disclosure also provide an electronic device, such as a server, which includes a storage medium and Processor; storage medium, used to store computer programs; processor, used to execute computer programs to implement the above-mentioned methods shown in Figures 1 and 2.
- a server which includes a storage medium and Processor; storage medium, used to store computer programs; processor, used to execute computer programs to implement the above-mentioned methods shown in Figures 1 and 2.
- the embodiment of the present disclosure also provides another electronic device, such as a client device, which can be a smartphone, Personal computers, tablet computers, etc.
- this device includes a storage medium and a processor; the storage medium is used to store a computer program; and the processor is used to execute the computer program to implement the above method as shown in Figure 5.
- the storage medium may also include an operating system and a network communication module.
- the operating system is a program that manages the hardware and software resources of the above-mentioned physical devices and supports the operation of information processing programs and other software and/or programs.
- the network communication module is used to realize communication between components within the storage medium, as well as communication with other hardware and software in the information processing physical device.
- this embodiment also provides a video processing system. As shown in FIG. 10 , the system includes: a server 61 and a client device 62 .
- the server 61 can be used to perform the methods shown in Figure 1 and Figure 2, and the client device 62 can be used to perform the method shown in Figure 5.
- the server device 61 can be used to first obtain the key frames corresponding to the transition pictures in the video after the video author uploads the video; then determine the split nodes of the video based on the key frames corresponding to the transition pictures; and then determine the split nodes according to the split nodes.
- the video is split into video segments; the video is subsequently processed in parallel based on the video segments, and the video is recommended to the user based on the processed video segments.
- the client device 62 can be used to obtain video segments of the video when the user needs to watch the video recommended by the server device 61, wherein the video segments are split nodes determined based on key frames corresponding to the transition scenes in the video. Split; then play the video according to the video segments.
- the present disclosure provides a video processing method, device and electronic equipment. Compared with the current related technologies, the present disclosure can effectively improve the long time, large code rate and file upload by video authors. When processing large-sized videos, there will be technical problems such as low video processing efficiency and resource consumption. Specifically, first, the splitting node of the video can be determined according to the key frames corresponding to the transition scenes in the video; then, the video can be split according to the splitting node to obtain video segments, thereby achieving reasonable splitting of the video.
- Video parallelization can be performed based on these video segments Processing, all aspects of the video processing link have been optimized, greatly improving video processing efficiency and significantly saving resource consumption.
- the processing effect of the entire process from video uploading and publishing to final video playback can be optimized as a whole, thereby improving the efficiency of the entire video processing process and reducing the impact on the user experience of terminal content consumers. This reduces the probability of video freezes and abnormal failures.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Studio Circuits (AREA)
Abstract
本公开涉及一种视频处理方法、装置及电子设备,涉及视频处理技术领域,其中方法包括:首先获取视频中转场画面所对应的关键帧;再根据转场画面所对应的关键帧,确定视频的拆分节点;然后按照所述视频的拆分节点,对视频进行拆分得到视频分片;最后基于所述视频分片进行视频并行处理。
Description
本申请以申请号为202210471184.4,申请日为2022年4月28日的中国申请为基础,并主张其优先权,该中国申请的公开内容在此作为整体引入本申请中。
本公开涉及视频处理技术领域,尤其涉及一种视频处理方法、装置及电子设备。
视频作者可通过视频平台网站上传视频,以便分享给其他用户进行观看,而视频平台网站会针对该上传的视频进行一系列地处理,便于在不同的应用场景播放。
发明内容
本公开提供了一种视频处理方法、装置及电子设备。
第一方面,本公开提供了一种视频处理方法,可应用于服务器端,包括:
获取视频中转场画面所对应的关键帧;
根据所述转场画面所对应的关键帧,确定所述视频的拆分节点;
按照所述视频的拆分节点,对所述视频进行拆分得到视频分片;
基于所述视频分片进行视频并行处理。
第二方面,本公开提供了另一种视频处理方法,可应用于客户端,包括:
获取视频的视频分片,其中,所述视频分片是根据所述视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;
根据所述视频分片播放所述视频。
第三方面,本公开提供了一种视频处理装置,可应用于服务器端,包括:
获取模块,被配置为获取视频中转场画面所对应的关键帧;
确定模块,被配置为根据所述转场画面所对应的关键帧,确定所述视频的拆分节点;
拆分模块,被配置为按照所述视频的拆分节点,对所述视频进行拆分得到视频分片;
处理模块,被配置为基于所述视频分片进行视频并行处理。
第四方面,本公开提供了另一种视频处理装置,可应用于客户端,包括:
获取模块,被配置为获取视频的视频分片,其中,所述视频分片是根据所述视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;
播放模块,被配置为根据所述视频分片播放所述视频。
第五方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现第一方面所述的视频处理方法。
第六方面,本公开提供了另一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现第二方面所述的视频处理方法。
第七方面,本公开提供了一种电子设备,具体可为服务器或客户端设备,包括处理器和存储器;所述存储器存储计算机执行指令;当电子设备为服务器时,所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面所述的视频处理方法。当电子设备为客户端设备时,所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第二方面所述的视频处理方法。
第八方面,本公开提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的视频处理方法。
第九方面,本公开提供了另一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第二方面所述的视频处理方法。
第十方面,本公开提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令当由处理器执行时使所述处理器执行如第一方面所述的视频处理方法。
第十一方面,本公开提供了另一种计算机程序,包括计算机可执行指令,所述计算机可执行指令当由处理器执行时使所述处理器执行如第二方面所述的视频处理方法。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,
在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开实施例提供的一种视频处理方法的流程示意图;
图2示出了本公开实施例提供的另一种视频处理方法的流程示意图;
图3示出了本公开实施例提供的视频发布的简要流程图;
图4示出了本公开实施例提供的拆分视频节点转码的示意图;
图5示出了本公开实施例提供的又一种视频处理方法的流程示意图;
图6示出了本公开实施例提供的视频播放示例的示意图;
图7示出了本公开实施例提供的拖拽进度条时视频播放示例的示意图;
图8示出了本公开实施例提供的一种视频处理装置的结构示意图;
图9示出了本公开实施例提供的另一种视频处理装置的结构示意图;
图10示出了本公开实施例提供的一种视频处理系统的结构示意图。
目前,如果视频作者上传了时长较长、码率较大、文件尺寸较大的视频时,视频处理链路上的每个环节都会需要更长的时间、更多的机器资源或人力等去完成各个环节的任务,进而会存在视频处理效率低以及耗费资源的技术问题。
本公开提供了一种视频处理方法、装置及电子设备,主要目的在于改善目前在对视频作者上传的时长较长、码率较大、文件尺寸较大的视频进行处理时,会存在视频处理效率低以及耗费资源的技术问题。
下面将参照附图更详细地描述本公开的实施例。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
为了改善目前在对视频作者上传的时长较长、码率较大、文件尺寸较大的视频进行处理时,会存在视频处理效率低以及耗费资源的技术问题。本实施例提供了一种视频处理方法,如图1所示,可应用于服务器端(如视频平台网站的服务器端等)侧,该方法包括:
步骤101、获取视频中转场画面所对应的关键帧。
本实施例中的视频可以是时长较长、和/或码率较大、和/或分辨率较大、和/或文件尺寸较大的视频,也可以是除此之外的普通视频,具体可根据实际需求选择是否使用本实施例的方法。
转场画面所对应的关键帧可为与视频中前一帧相比变化程度较大的帧。例如,转场画
面可包括:淡入淡出转场、缓淡减慢转场、叠化转场等画面,而转场画面所对应的关键帧可为这些转场画面所对应的关键帧。通常在视频当中如果出现转场画面,一般会代表场景与场景之间的过渡和转换,而本实施例通过转场画面作为视频拆分的参考依据,可避免将同一场景的视频内容进行硬性拆分,尽可能地保证用户在观看视频时对同一场景视频内容的完整观看感受,进而保证用户的视频观看体验。
步骤102、根据视频中转场画面所对应的关键帧,确定视频的拆分节点。
拆分节点为视频需要拆分的节点。视频中每个转场画面所对应的关键帧,可认为是视频拆分的可选节点,本实施例可根据实际业务场景的需求,从这些可选节点中选出该视频的拆分节点。例如,拆分得到的视频分片需要满足一定的时长、文件尺寸等要求,而基于不同的业务场景,这些要求可以是相同的或者不同的。本实施例可根据实际业务场景的需求,从各个转场画面所对应的关键帧中,选出该视频的拆分节点,以满足该业务场景中对视频时长、文件尺寸等的要求。
例如,可基于机器学习模型实现根据视频中转场画面所对应的关键帧,确定该视频需要拆分的节点。机器学习模型可以确定整个长视频内容的关键帧,通过分析关键帧确认转场画面,并结合整体时长分析出最适合的时间节点作为拆分节点,进而保证拆分后视频的用户体验。
步骤103、按照视频的拆分节点,对视频进行拆分得到视频分片。
例如,对于一个时长为两小时的视频A,通过业务场景的数据分析,视频内容拆分成15~25分钟左右消费效果较好,那么会先将这个视频A进行分析,确认其转场画面位于整段视频的哪些位置,再根据合理的拆分阈值,就近寻找合适的拆分点,把视频A拆分成:A-1、A-2、A-3、...、A-n个合适的视频分片。
步骤104、基于拆分得到的视频分片进行视频并行处理。
例如,目前一个作者上传了时长较长、码率较大、文件尺寸较大的视频时,视频链路上的每个环节都会需要更长的时间、机器资源、人力去完成各个环节得任务。如一个作者发2个视频,1个视频A时长3分钟,1个视频B时长3小时。每个环节上视频B都会慢于视频A,且每个环节的成功率,视频B都不高于视频A;其他情况同理,如:视频A的码率10mbps,视频B的码率60mbps;视频A的分辨率720P,视频B的分辨率4K等,此类视频参数的增加,都会在各个环节增加时间、降低成功率。而本实施例通过合理的视频拆分,将时长较长、码率较大、文件尺寸较大的视频,拆分成时长较短、码率不变或压缩、
文件尺寸不大的视频分片。然后基于这些视频分片可进行视频的并行处理,在视频处理链路上的各个环节得到优化,使得视频处理效率大大提升,以及可明显节省资源的耗费。
因此本实施例可有效改善目前在对视频作者上传的时长较长、码率较大、文件尺寸较大的视频进行处理时,会存在视频处理效率低以及耗费资源的技术问题。通过应用本实施例的技术方案,可整体优化从视频上传发布到最终视频播放整个过程的处理效果,从而实现在不影响终端内容消费者的用户体验情况下,提升了整个视频处理流程的效率,降低了出现视频卡顿、异常失败的概率。
进一步的,作为上述实施例的细化和扩展,为了完整说明本实施例方法的具体实现过程,本实施例提供了如图2所示的具体方法,可应用于服务器端侧,该方法包括:
步骤201、通过分析视频帧中前后两帧的颜色变化程度以及色系变化程度,确定视频中转场画面所对应的关键帧。
本实施例可基于样本数据训练机器学习模型,来实现机器学习大量样本视频中出现转场画面时的视频帧前后两帧的颜色变化程度以及色系变化程度,然后利用训练好的机器学习模型,通过分析视频帧中前后两帧的颜色变化程度以及色系变化程度,确定当前视频中转场画面所对应的关键帧。通过这种方式,可准确确定视频中转场画面所对应的关键帧,保证后续合理拆分视频。
可选的,步骤201具体可包括:比对当前帧与前一帧中各个像素点对应的颜色值;若依据颜色值的比对结果判定当前帧与前一帧的颜色变化率大于第一预设阈值、且色系变化符合预设跨度条件,则根据当前帧确定转场画面所对应的关键帧。
色系变化符合预设跨度条件需要变化前后的两种色系具有明显的色系跨度,而如果变化前后的两种色系不具有明显的色系跨度,说明色系变化不符合预设跨度条件。对于色系变化是否符合预设跨度条件的具体判别过程可包括:根据当前帧中各个像素点对应的颜色值,获取当前帧所属的色系a,以及前一帧中各个像素点对应的颜色值,获取前一帧所属的色系b,进而可将前一帧到当前帧的色系变化,确定为由色系b变化到色系a。通过预设存储位置(如预设的数据库、列表等)中记录的属于色系跨度较大的色系变化(如色系m变化到色系n,色系n变化到色系m,色系x变化到色系y等均属于色系跨度较大的色系变化)进行匹配,如果预设存储位置中记录有色系b变化到色系a属于色系跨度较大的色系变化,说明变化前后的两种色系具有明显的色系跨度,进而可判定当前帧与前一帧的色系变化符合预设跨度条件;反之,如果预设存储位置中没有记录有色系b变化到色系a属
于色系跨度较大的色系变化,说明变化前后的两种色系不具有明显的色系跨度,进而可判定当前帧与前一帧的色系变化不符合预设跨度条件。
例如,视频帧的色系由深绿色变成浅绿色属于没有明显的色系跨度,通过上述判别方式,可判定该色系变化不符合预设跨度条件,而如果由深绿色变成红色属于明显的色系跨度,通过上述判别方式,可判定该色系变化符合预设跨度条件。
本实施例中第一预设阈值和预设跨度条件均可根据实际需求进行预先设置。将当前帧每个像素点与前一帧中相应像素点分别进行颜色值比对,如果当前帧与前一帧的颜色变化率大于一定阈值,并且色系变化符合预设跨度条件,则可将当前帧确定为转场画面所对应的关键帧。
而在实际应用中,可能会存在单个视频帧出现异常的情况,因此为了准确确定转场画面所对应的关键帧,进一步可选的,上述根据当前帧确定转场画面所对应的关键帧,具体可包括:若当前帧之后的预定个数(根据实际情况预先设定,如1至3个等)帧也均与该前一帧(当前帧的前一帧)的颜色变化率大于第二预设阈值(可与上述第一预设阈值相同或者不同)、且色系变化符合预设跨度条件,则可将当前帧确定为转场画面所对应的关键帧。
例如,如果当前帧与前一帧的颜色变化率大于一定阈值,并且色系变化符合预设跨度条件,并且当前帧后面的一些帧也与该前一帧的颜色变化率大于一定阈值,并且色系变化符合预设跨度条件,说明当前帧就是出现转场画面的关键帧。通过这种可选方式,可减少转场画面的关键帧误判的情况发生,可提高确定转场画面所对应的关键帧的准确率。
步骤202、根据转场画面所对应的关键帧,确定视频的拆分节点。
可选的,步骤202具体可包括:根据转场画面所对应的关键帧,以及各个分片的预设时长范围,确定视频的拆分节点。通过这种可选方式,基于视频中的各个转场画面,结合视频整体时长分析出能够满足业务需求且最合适的时间节点作为拆分节点,进而保证拆分后视频的用户体验。
在不同业务场景中,单个分片的预设时长范围可以是相同的或者是不同的,例如,为了满足业务场景A的需求,单个分片的预设时长范围可以是5分钟至10分钟,而为了满足业务场景B的需求,单个分片的预设时长范围可以是15分钟至25分钟。
示例性的,根据转场画面所对应的关键帧,以及各个分片的预设时长范围,确定视频的拆分节点,具体可包括:基于转场画面所对应的关键帧,确定符合第一预置条件的拆分
节点,作为视频的拆分节点,使得按照符合第一预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于预设时长范围内。在本实施例中,对于是否符合第一预置条件可参考转场画面和拆分后的分片视频时长这两个因素进行判断,符合第一预置条件的拆分节点指的是通过转场画面所对应的关键帧进行拆分,并且拆分后得到的各个分片的视频时长均满足时长需求(系统或用户设置的时长需求,如10分钟到15分钟的时长需求,使得每个视频分片的视频时长均处于这个时长范围内);反之,如果无论怎么按照转场画面所对应的关键帧进行拆分,均不能得到满足时长需求的视频分片,或者视频中就没有出现转场画面,那么就不存在符合该第一预置条件的拆分节点。
例如,对于一个两小时的视频A,为了满足业务场景的需求,单个分片的预设时长范围可以是15分钟至25分钟,在视频A的多个转场画面中,选择合适的拆分节点,使得按照该拆分节点进行视频拆分后的各个视频分片的视频时长,均处于15分钟至25分钟这个范围内。如拆分成4个视频分片,视频分片1的时长为17分钟、视频分片2的时长为18分钟、视频分片3的时长为22分钟、视频分片4的时长为16分钟,这4个视频分片均是以视频中的转场画面所对应的关键帧为基准进行拆分得到的。
而在实际应用当中,有可能会存在无法确定得到符合上述第一预置条件的拆分节点,因此为了尽可能地实现合理拆分视频,可选的,如果没有找到合适的拆分点,可进行画面判断。相应的,上述根据转场画面所对应的关键帧,以及单个分片的预设时长范围,确定拆分节点,具体还可包括:若不能确定得到符合第一预置条件的拆分节点,则可根据画面变化幅度小于第三预设阈值、和/或声音变化幅度小于第四预设阈值的关键帧,确定符合第二预置条件的拆分节点,作为视频的拆分节点,使得按照符合第二预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于预设时长范围内。
在本实施例中,对于是否符合第二预置条件可参考画面变化相对静止和/或声音变化相对间隔的关键帧,并结合拆分后的分片视频时长进行判断。符合第二预置条件的拆分节点指的是通过画面相对静止和/或声音变化相对间隔所对应的关键帧进行拆分,并且拆分后得到的各个分片的视频时长均满足时长需求,该时长需求可与第一预置条件判别时的时长需求相同。例如,可优先使用转场画面所对应的关键帧作为拆分参考,而如果合适的拆分时间(即拆分得到的视频分片满足时长需求)内,没有转场画面所对应的关键帧,那么将会确定符合第二预置条件的拆分节点,作为视频的拆分节点,即在合适的拆分时间(即拆分得到的视频分片满足时长需求)内,找到画面变化相对静止和/或声音变化相对间隔的关键
帧进行视频拆分。
例如,对于一个两小时的视频A,为了满足业务场景的需求,单个分片的预设时长范围可以是15分钟至25分钟。如果在视频A的多个转场画面中,无法选择合适的拆分节点,使得拆分后的各个视频分片的视频时长,均处于15分钟至25分钟这个范围内,那么可以进行画面判断,根据画面变化幅度小于一定阈值(如画面变化相对静止)、和/或声音变化幅度小于一定阈值(如声音变化相对间隔)的关键帧,选择合适的拆分节点,使得按照该拆分节点进行视频拆分后的各个视频分片的视频时长,均处于15分钟至25分钟这个范围内。
通过这种可选方式,在合适地拆分时间内如果没有转场场景,也能够寻找画面变化相对静止、声音变化相对间隔的点进行视频拆分,保证视频可以尽可能地被合理拆分,进而尽可能地保证用户在观看视频时的观看感受。
在实际应用中,视频中出现内容燃点时刻、高光时刻等情况时,也很有可能会存在转场画面,此时如果按照该转场画面进行视频拆分,很可能会造成属于这些情况的连续内容被硬性截断,进而会影响用户的观看体验。因此为了解决这一问题,可选的,步骤202具体可包括:首先基于对视频的内容,过滤掉符合预设高光时刻条件的转场画面所对应的关键帧;然后根据过滤后剩余的转场画面所对应的关键帧,确定视频的拆分节点。
符合预设高光时刻条件的转场画面可以为内容属于燃点时刻、高光时刻等情况的转场画面。在本实施例中,可预先利用带有燃点时刻、高光时刻等情况的样本视频数据,训练得到相应的机器学习模型,进而可使用该机器学习模型,获得该目标视频中符合燃点时刻、高光时刻等情况的视频帧。从而在确定视频的拆分节点时,先过滤掉符合这些情况的转场画面所对应的关键帧,然后根据过滤后剩余的转场画面所对应的关键帧,确定视频的拆分节点。
通过这种可选方式,保证了视频能够尽可能地被合理拆分,进而尽可能地保证用户在观看视频时的观看感受,使得用户在观看燃点时刻、高光时刻等情况的视频内容时,做到剧情连贯展示。
步骤203、按照视频的拆分节点,对视频进行拆分得到视频分片。
对于本实施例,还可以满足用户手动选择拆分节点的需求,可选的,步骤203具体可包括:首先在视频发布者标注拆分节点的过程中,依据步骤202中确定到的拆分节点,显示视频的推荐拆分节点,视频发布者可选择按照自己意愿的节点进行拆分(如视频作者也
可以自己设定希望切分的时间节点),或者选择步骤202中推荐的拆分节点进行视频拆分(如作者自己标注拆分节点的过程中,通过执行步骤201至202所示的方法会给出相应的建议,供作者决定是否使用推荐节点位置);然后按照视频发布者确认的拆分节点,对视频进行拆分得到视频分片。通过这种可选方式,在用户手动选择拆分节点时,也能够给出合理地视频拆分建议,提高了用户手动拆分视频时的效率。
本实施例在拆分得到各个视频分片之后,可基于这些视频分片进行视频并行处理,具体可执行步骤204至步骤206所示的过程。
步骤204、按照预设码率和预设分辨率,对拆分得到的视频分片进行并行转码。
其中,基于业务场景,不同分发端具有各自对应的预设码率的组合以及预设分辨率的组合。例如,个人计算机(PC)、智能手机、平板电脑、电视等不同的分发端,会有默认的推荐码率、分辨率,转码时会根据业务场景选择不同的合适组合,转码对应的码流。如码率有六种,而分辨率有八种,根据业务场景a,对应的分发端为智能手机端,可从六种码率中选择特定的三种,以及从八种分辨率中选择特定的四种,将视频分片并行转码对应的码流。
示例性的,如图3所示,视频处理链路中可包括:抽帧、转码、检测流程、推荐引擎、客户端播放器等环节。其中,对于相关技术中的抽帧和转码过程,随着视频时长增加,抽帧的数量变多,转码时间变长,对于机器模型的算力要求、资源消耗、时间等都随之增加,同时也导致更容易出现失败,以及导致重试或转码失败等。而采用本实施例中的抽帧和转码过程(如执行步骤201至204所示的过程),可有效提高抽帧和转码的处理效率。
例如,如图4所示,转码时会对长视频拆分得到的视频分片A-1、A-2….A-n,按照统一的预设码率和预设分辨率进行并行转码。相较于未拆分的情况,进行拆分后可以进行并行转码,提升了转码效率,减少了失败概率,节省了转码时间。
步骤205、将视频分片发送给检测模块进行并行检测处理。
检测模块可检测出视频内容是否存在异常内容等。如图3所示,传统方式中需要对长视频内容进行长时间的内容检测,提取的特征点数量更多、需要的计算时间、比对时间都更长。
而采用本实施例中检测优化过程,将长视频拆分成若干个短视频,可做到多个短视频的并行检测处理,有效提升了检测效率。
步骤206、向用户推荐视频分片对应的视频片段内容、和/或由视频分片组合生成的视
频内容。
如图3所示,对于推荐引擎的处理环节,目前针对超长视频进行分发推荐时,可能会因超长视频的完播率与短视频相比较低、造成分发效果差。而通过本实施例的视频推荐方式,可将长视频拆分成短视频进行推荐,可有效解决这一技术问题。
本实施例中,可向用户推荐视频分片对应的视频片段内容,和/或向用户推荐由视频分片组合生成的视频内容,如由所有视频分片组合生成的整个视频,或者部分视频分片组合生成的部分视频等,以满足用户的不同需求。
示例性的,向用户推荐视频分片对应的视频片段内容,具体可包括:获取视频分片各自对应的视频片段内容;选择从视频片段内容中的开头片段内容开始推荐给用户,或者选择从视频片段内容中符合预设高光时刻条件的片段内容开始推荐给用户。
本可选方式可基于不同的算法进行调节。例如,视频A拆分为视频A-0(开头)、视频A-1、视频A-2(高光时刻)、…..视频A-z(结尾),根据用户的观看需求,可从开头开始推荐,即从视频A-0对应的视频片段内容开始推荐给用户;或者还可从精华片段(如燃点时刻、高光时刻等)开始推荐,如从视频A-2开始推荐给用户。其中,对于视频片段是否为精华片段的判断过程,可参考步骤202中对于符合预设高光时刻条件的判别过程,本实施例还可将拆分得到的视频分片进行标注,以标注是否为精华片段。通过这种可选方式,可提升视频内容的推荐效果。
本实施例的技术方案通过对视频进行合理拆分,将时长较长、码率较大、文件尺寸较大的视频拆分成时间较短、码率不变或压缩(可取决于上传视频用户的选择)、减小文件尺寸,并结合抽帧、转码、检测流程、推荐引擎、客户端播放器各个环节,优化对拆分后的视频处理效率,并整体优化最终的播放效果,从而实现在不影响终端内容消费者的用户体验情况下,提升整个流程的效率、降低出现卡顿、异常失败的概率。
如图3所示,对于客户端播放器的处理环节,针对时长较长、码率较大、文件尺寸较大的视频时,播放器需要一次性加载,对于性能要求大,如果内容消费者的网速、浏览器性能、电脑/手机/平板等设备性能一般,可能造成不好的播放体验。为了改善这一技术问题,进一步的,本实施例还提供了如图5所示的可应用于客户端侧的视频处理方法,该方法包括:
步骤301、获取视频的视频分片。
其中,视频分片可以是根据视频中转场画面所对应的关键帧确定的拆分节点进行视频
拆分得到的,具体可参见如图1和图2所示的方法。
步骤302、根据视频分片播放视频。
根据用户选择播放的实际情况,可以播放完整的视频,或者播放视频分片对应的视频片段内容等。
可选的,步骤302具体可包括:在播放视频分片中第n个分片的视频片段内容时,预加载第n+1个分片的视频片段内容,其中,第n个分片为视频分片中的任一个分片,而第n+1个分片为第n个分片的下一个分片。
目前相关技术中还可直接对视频进行拆分,如按照电视剧的方式每预设时长一集,然而这种方式在视频播放时,会影响终端用户的消费体验,导致用户对长视频内容的消费不够连贯。而通过本实施例的视频拆分方式,客户端播放器在播放此类拆分节点视频时,不同于传统的电视剧集概念,在内容消费者侧看不会感知到拆分的节点。
例如,如图6所示,用户在通过本实施例方法观看完整视频时,播放器会在播放节点A-n时,自动预加载后续的A-n+1,保证播放的连贯性。通过这种方式,客户端播放器不需要一次性加载所有的视频数据,仅加载当前视频分片以及预加载下一个视频分片,保证视频连贯性即可,在观看下一个视频分片的视频内容时,再自动预加载再下一个视频分片,以此类推。有效降低了对客户端播放器的性能要求,针对时长较长、码率较大、文件尺寸较大的视频时,改进效果更佳明显,可提升用户对视频播放的体验。
并且进一步可选的,步骤301具体可包括:响应于用户调整视频播放进度的指令,获取用户指定进度位置对应的目标视频分片,以及目标视频分片的下一个分片;相应的,步骤302具体可包括:播放目标视频分片的视频片段内容,并预加载目标视频分片的下一个分片的视频片段内容。
例如,如图7所示,当用户在进度条拖拽视频播放进度时,可以跳过中间的不必要节点,如用户当前观看视频分片2的视频内容,然后用户调整了视频播放进度,该进度对应视频分片5的视频内容,客户端播放器可下载播放该视频分片5的视频内容并预加载视频分片6的视频内容(如果有视频分片6的前提下)即可,无需再下载视频分片3、4的视频内容。通过这种可方式,节省了需要下载的视频数量,保证在网速、浏览器性能、硬件设备性能一般时仍有较好的播放流畅性。
本实施例通过各个环节(如图3所示)的优化,使得视频作者上传一个时长较长、和/或码率较大、和/或文件尺寸较大的视频后,视频平台可以更加快速的将这个视频呈现给
终端内容消费者,且不会因传统的单纯拆分剧集模式,使得内容消费者觉得视频内容不连贯、观看体验下降。
进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种可应用于服务器端的视频处理装置,如图8所示,该装置包括:获取模块41、确定模块42、拆分模块43、处理模块44。
获取模块41,被配置为获取视频中转场画面所对应的关键帧;
确定模块42,被配置为根据所述转场画面所对应的关键帧,确定所述视频的拆分节点;
拆分模块43,被配置为按照所述视频的拆分节点,对所述视频进行拆分得到视频分片;
处理模块44,被配置为基于所述视频分片进行视频并行处理。
在具体的应用场景中,获取模块41,具体被配置为通过分析视频帧中前后两帧的颜色变化程度以及色系变化程度,确定所述转场画面所对应的关键帧。
在具体的应用场景中,获取模块41,具体还被配置为比对当前帧与前一帧中各个像素点对应的颜色值;若依据所述颜色值的比对结果判定当前帧与前一帧的颜色变化率大于第一预设阈值、且色系变化符合预设跨度条件,则根据所述当前帧确定所述转场画面所对应的关键帧。
在具体的应用场景中,获取模块41,具体还被配置为若所述当前帧之后的预定个数帧也均与所述前一帧的颜色变化率大于第二预设阈值、且色系变化符合预设跨度条件,则将所述当前帧确定为所述转场画面所对应的关键帧。
在具体的应用场景中,确定模块42,具体被配置为根据所述转场画面所对应的关键帧,以及各个分片的预设时长范围,确定所述视频的拆分节点。
在具体的应用场景中,确定模块42,具体还被配置为基于所述转场画面所对应的关键帧,确定符合第一预置条件的拆分节点,作为所述视频的拆分节点,使得按照符合所述第一预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于所述预设时长范围内。
在具体的应用场景中,确定模块42,具体还被配置为若不能确定得到符合所述第一预置条件的拆分节点,则根据画面变化幅度小于第三预设阈值、和/或声音变化幅度小于第四预设阈值的关键帧,确定符合第二预置条件的拆分节点,作为所述视频的拆分节点,使得按照符合所述第二预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于所述预设时长范围内。
在具体的应用场景中,确定模块42,具体还被配置为过滤掉符合预设高光时刻条件的转场画面所对应的关键帧;根据过滤后剩余的转场画面所对应的关键帧,确定所述视频的拆分节点。
在具体的应用场景中,拆分模块43,具体被配置为在视频发布者标注拆分节点的过程中,依据确定到的所述视频的拆分节点,显示所述视频的推荐拆分节点;按照视频发布者确认的拆分节点,对所述视频进行拆分得到视频分片。
在具体的应用场景中,处理模块44,具体被配置为按照预设码率和预设分辨率,对所述视频分片进行并行转码,其中,不同分发端具有各自对应的预设码率的组合以及预设分辨率的组合。
在具体的应用场景中,处理模块44,具体还被配置为将所述视频分片发送给检测模块进行并行检测处理。
在具体的应用场景中,处理模块44,具体还被配置为向用户推荐所述视频分片对应的视频片段内容、和/或由所述视频分片组合生成的视频内容。
在具体的应用场景中,处理模块44,具体还被配置为获取所述视频分片各自对应的视频片段内容;选择从所述视频片段内容中的开头片段内容开始推荐给用户,或者选择从所述视频片段内容中符合预设高光时刻条件的片段内容开始推荐给用户。
需要说明的是,本实施例提供的一种可应用于服务器端的视频处理装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
进一步的,作为图5所示方法的具体实现,本实施例提供了一种可应用于客户端的视频处理装置,如图9所示,该装置包括:获取模块51、播放模块52。
获取模块51,被配置为获取视频的视频分片,其中,所述视频分片是根据所述视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;
播放模块52,被配置为根据所述视频分片播放所述视频。
在具体的应用场景中,播放模块52,具体被配置为在播放所述视频分片中第n个分片的视频片段内容时,预加载第n+1个分片的视频片段内容,其中,所述第n个分片为所述视频分片中的任一个分片,所述第n+1个分片为所述第n个分片的下一个分片。
在具体的应用场景中,获取模块51,具体被配置为响应于用户调整所述视频播放进度的指令,获取用户指定进度位置对应的目标视频分片,以及所述目标视频分片的下一个分片;
相应的,播放模块52,具体还被配置为播放所述目标视频分片的视频片段内容,并预加载所述目标视频分片的下一个分片的视频片段内容。
需要说明的是,本实施例提供的一种可应用于客户端的视频处理装置所涉及各功能单元的其它相应描述,可以参考图5中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1和图2所示的方法。
基于上述如图5所示方法,相应的,本实施例还提供了另一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图5所示的方法。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种计算机程序产品,该计算机程序产品存储在存储介质中,当该计算机程序产品被计算机设备执行时,该计算机设备执行如图1和图2所示的视频处理方法。
基于上述如图5所示方法,相应的,本实施例还提供了另一种计算机程序产品,该计算机程序产品存储在存储介质中,当该计算机程序产品被计算机设备执行时,该计算机设备执行如图5所示的视频处理方法。
基于这样的理解,本公开的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施场景的方法。
基于上述如图1和图2所示的方法,以及图8所示的虚拟装置实施例,为了实现上述目的,本公开实施例还提供了一种电子设备,如服务器,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的方法。
基于上述如图5所示的方法,以及图9所示的虚拟装置实施例,为了实现上述目的,本公开实施例还提供了另一种电子设备,如客户端设备,具体可为智能手机、个人计算机、平板电脑等,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图5所示的方法。
本领域技术人员可以理解,本实施例提供的上述两种实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
基于上述内容,进一步的,本实施例还提供了一种视频处理系统,如图10所示,该系统包括:服务器61、客户端设备62。
其中,服务器61可用于执行如图1和图2所示的方法,客户端设备62可用于执行如图5所示的方法。
服务器设备61,可用于在视频作者上传视频后,首先获取视频中转场画面所对应的关键帧;再根据转场画面所对应的关键帧,确定视频的拆分节点;然后按照拆分节点,对视频进行拆分得到视频分片;后续基于视频分片进行视频并行处理,并根据处理得到的视频分片向用户推荐该视频。
客户端设备62,可用于在用户需要观看服务器设备61推荐的视频时,获取视频的视频分片,其中,该视频分片是根据视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;然后根据视频分片播放该视频。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本实施例可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。借由上述技术方案,本公开提供的一种视频处理方法、装置及电子设备,与目前相关技术相比,本公开可有效改善目前在对视频作者上传的时长较长、码率较大、文件尺寸较大的视频进行处理时,会存在视频处理效率低以及耗费资源的技术问题。具体的,首先可根据视频中转场画面所对应的关键帧,确定视频的拆分节点;再按照该拆分节点,对视频进行拆分得到视频分片,进而实现对视频的合理拆分,将时长较长、码率较大、文件尺寸较大的视频,拆分成时长较短、码率不变或压缩、文件尺寸不大的视频分片;然后基于这些视频分片可进行视频的并行处理,在视频处理链路上的各个环节得到优化,使得视频处理效率大大提升,以及可明显节省资源的耗费。通过应用本公开的技术方案,可整体优化从视频上传发布到最终视频播放整个过程的处理效果,从而实现在不影响终端内容消费者的用户体验情况下,提升了整个视频处理流程的效率,降低了出现视频卡顿、异常失败的概率。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (19)
- 一种视频处理方法,包括:获取视频中转场画面所对应的关键帧;根据所述转场画面所对应的关键帧,确定所述视频的拆分节点;按照所述视频的拆分节点,对所述视频进行拆分得到视频分片;基于所述视频分片进行视频并行处理。
- 根据权利要求1所述的视频处理方法,其中,所述获取视频中转场画面所对应的关键帧,包括:通过分析视频帧中前后两帧的颜色变化程度以及色系变化程度,确定所述转场画面所对应的关键帧。
- 根据权利要求2所述的视频处理方法,其中,所述通过分析视频帧中前后两帧的颜色变化程度以及色系变化程度,确定所述转场画面所对应的关键帧,包括:比对当前帧与前一帧中各个像素点对应的颜色值;若依据所述颜色值的比对结果判定当前帧与前一帧的颜色变化率大于第一预设阈值、且色系变化符合预设跨度条件,则根据所述当前帧确定所述转场画面所对应的关键帧。
- 根据权利要求3所述的视频处理方法,其中,所述根据所述当前帧确定所述转场画面所对应的关键帧,包括:若所述当前帧之后的预定个数帧也均与所述前一帧的颜色变化率大于第二预设阈值、且色系变化符合预设跨度条件,则将所述当前帧确定为所述转场画面所对应的关键帧。
- 根据权利要求1所述的视频处理方法,其中,所述根据所述转场画面所对应的关键帧,确定所述视频的拆分节点,包括:根据所述转场画面所对应的关键帧,以及各个分片的预设时长范围,确定所述视频的拆分节点。
- 根据权利要求5所述的视频处理方法,其中,所述根据所述转场画面所对应的关键帧,以及各个分片的预设时长范围,确定所述视频的拆分节点,包括:基于所述转场画面所对应的关键帧,确定符合第一预置条件的拆分节点,作为所述视频的拆分节点,使得按照符合所述第一预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于所述预设时长范围内。
- 根据权利要求6所述的视频处理方法,其中,所述根据所述转场画面所对应的关键帧,以及各个分片的预设时长范围,确定所述视频的拆分节点,还包括:若不能确定得到符合所述第一预置条件的拆分节点,则根据画面变化幅度小于第三预设阈值、和/或声音变化幅度小于第四预设阈值的关键帧,确定符合第二预置条件的拆分节点,作为所述视频的拆分节点,使得按照符合所述第二预置条件的拆分节点拆分得到的各个视频分片的视频时长,均处于所述预设时长范围内。
- 根据权利要求1所述的视频处理方法,其中,所述根据所述转场画面所对应的关键帧,确定所述视频的拆分节点,包括:过滤符合预设高光时刻条件的转场画面所对应的关键帧;根据过滤后剩余的转场画面所对应的关键帧,确定所述视频的拆分节点。
- 根据权利要求1所述的视频处理方法,其中,所述按照所述视频的拆分节点,对所述视频进行拆分得到视频分片,包括:依据确定到的所述视频的拆分节点,显示所述视频的推荐拆分节点;按照视频发布者确认的拆分节点,对所述视频进行拆分得到视频分片。
- 根据权利要求1所述的视频处理方法,其中,所述基于所述视频分片进行视频并行处理,包括:获取所述视频分片各自对应的视频片段内容;选择从所述视频片段内容中的开头片段内容开始推荐给用户,或者选择从所述视频片段内容中符合预设高光时刻条件的片段内容开始推荐给用户。
- 一种视频处理方法,包括:获取视频的视频分片,其中,所述视频分片是根据所述视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;根据所述视频分片播放所述视频。
- 根据权利要求11所述的视频处理方法,其中,所述根据所述视频分片播放所述视频,包括:在播放所述视频分片中第n个分片的视频片段内容时,预加载第n+1个分片的视频片段内容,其中,所述第n个分片为所述视频分片中的任一个分片,所述第n+1个分片为所述第n个分片的下一个分片。
- 根据权利要求12所述的视频处理方法,其中,所述获取视频的视频分片,包括:响应于用户调整所述视频播放进度的指令,获取用户指定进度位置对应的目标视频分片,以及所述目标视频分片的下一个分片;所述根据所述视频分片播放所述视频,还包括:播放所述目标视频分片的视频片段内容,并预加载所述目标视频分片的下一个分片的视频片段内容。
- 一种视频处理装置,包括:获取模块,被配置为获取视频中转场画面所对应的关键帧;确定模块,被配置为根据所述转场画面所对应的关键帧,确定所述视频的拆分节点;拆分模块,被配置为按照所述视频的拆分节点,对所述视频进行拆分得到视频分片;处理模块,被配置为基于所述视频分片进行视频并行处理。
- 一种视频处理装置,包括:获取模块,被配置为获取视频的视频分片,其中,所述视频分片是根据所述视频中转场画面所对应的关键帧确定的拆分节点进行视频拆分得到的;播放模块,被配置为根据所述视频分片播放所述视频。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至13中任一项所述的视频处理方法。
- 一种电子设备,包括:处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至13任一项所述的视频处理方法。
- 一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的视频处理方法。
- 一种计算机程序,包括:计算机可执行指令,所述计算机可执行指令当由处理器执行时使所述处理器执行上述权利要求1至13任一项所述的视频处理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210471184.4 | 2022-04-28 | ||
CN202210471184.4A CN117014649A (zh) | 2022-04-28 | 2022-04-28 | 视频处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023207513A1 true WO2023207513A1 (zh) | 2023-11-02 |
Family
ID=88517375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/085524 WO2023207513A1 (zh) | 2022-04-28 | 2023-03-31 | 视频处理方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117014649A (zh) |
WO (1) | WO2023207513A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714692B (zh) * | 2024-02-06 | 2024-04-16 | 广州市锐星信息科技有限公司 | 一种头戴式无线数据采集仪及其实时视频传输系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180082124A1 (en) * | 2015-06-02 | 2018-03-22 | Hewlett-Packard Development Company, L.P. | Keyframe annotation |
CN110610500A (zh) * | 2019-09-06 | 2019-12-24 | 北京信息科技大学 | 基于动态语义特征的新闻视频自适应拆条方法 |
CN111294612A (zh) * | 2020-01-22 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种多媒体数据处理方法、系统以及存储介质 |
CN112004108A (zh) * | 2020-08-26 | 2020-11-27 | 深圳创维-Rgb电子有限公司 | 一种视频直播录制处理方法、装置、智能终端及存储介质 |
CN112651336A (zh) * | 2020-12-25 | 2021-04-13 | 深圳万兴软件有限公司 | 关键帧的确定方法、设备、计算机可读存储介质 |
-
2022
- 2022-04-28 CN CN202210471184.4A patent/CN117014649A/zh active Pending
-
2023
- 2023-03-31 WO PCT/CN2023/085524 patent/WO2023207513A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180082124A1 (en) * | 2015-06-02 | 2018-03-22 | Hewlett-Packard Development Company, L.P. | Keyframe annotation |
CN110610500A (zh) * | 2019-09-06 | 2019-12-24 | 北京信息科技大学 | 基于动态语义特征的新闻视频自适应拆条方法 |
CN111294612A (zh) * | 2020-01-22 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种多媒体数据处理方法、系统以及存储介质 |
CN112004108A (zh) * | 2020-08-26 | 2020-11-27 | 深圳创维-Rgb电子有限公司 | 一种视频直播录制处理方法、装置、智能终端及存储介质 |
CN112651336A (zh) * | 2020-12-25 | 2021-04-13 | 深圳万兴软件有限公司 | 关键帧的确定方法、设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117014649A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11710508B2 (en) | Video manipulation with face replacement | |
US11303970B2 (en) | Systems and methods for internet video delivery | |
US10534525B1 (en) | Media editing system optimized for distributed computing systems | |
US10771789B2 (en) | Complexity adaptive rate control | |
US20140278993A1 (en) | Interactive advertising | |
US20150156557A1 (en) | Display apparatus, method of displaying image thereof, and computer-readable recording medium | |
JP2020516107A (ja) | ビデオコンテンツの要約処理 | |
US20180068188A1 (en) | Video analyzing method and video processing apparatus thereof | |
CN109120949B (zh) | 视频集合的视频消息推送方法、装置、设备及存储介质 | |
JP7515546B2 (ja) | 中断可能な映像トランスコーディング | |
US10897658B1 (en) | Techniques for annotating media content | |
WO2023207513A1 (zh) | 视频处理方法、装置及电子设备 | |
US20180139501A1 (en) | Optimized delivery of sequential content by skipping redundant segments | |
CN106470353B (zh) | 一种多媒体数据处理方法及其装置、电子设备 | |
US11386152B1 (en) | Automatic generation of highlight clips for events | |
CN109982120B (zh) | 一种多媒体播放方法及装置 | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
KR102232899B1 (ko) | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR20160031003A (ko) | 미디어 콘텐트 항목들 중에서 파생 정도 및 가능성 결정 | |
RU2690888C2 (ru) | Способ, устройство и вычислительное устройство для получения широковещательного контента | |
US10893331B1 (en) | Subtitle processing for devices with limited memory | |
US20240236436A9 (en) | Bullet-screen comment display | |
US11863791B1 (en) | Methods and systems for non-destructive stabilization-based encoder optimization | |
EP4141796A1 (en) | Methods and systems for encoder parameter setting optimization | |
CN113727194A (zh) | 大数据处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23794948 Country of ref document: EP Kind code of ref document: A1 |