WO2020107353A1 - 视频解码方法、装置、电子设备、计算机可读存储介质 - Google Patents
视频解码方法、装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- WO2020107353A1 WO2020107353A1 PCT/CN2018/118296 CN2018118296W WO2020107353A1 WO 2020107353 A1 WO2020107353 A1 WO 2020107353A1 CN 2018118296 W CN2018118296 W CN 2018118296W WO 2020107353 A1 WO2020107353 A1 WO 2020107353A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- audio
- parser
- stream
- parsing
- 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.)
- Ceased
Links
Images
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/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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
Definitions
- the present application relates to the field of computer technology, and in particular, to a video decoding method, device, electronic device, and computer-readable storage medium.
- Electronic devices can display pictures, play music, and also play videos.
- a video file is generated, different encoding methods are used and video files in different formats are generated.
- Embodiments of the present application provide a video decoding method, device, electronic device, and computer-readable storage medium.
- a video decoding method including:
- a video decoding device including:
- a first parsing module configured to perform first parsing processing on the obtained video file through the first parser
- An error reporting module configured to obtain first parsed data and error reported data obtained during the first parse processing when the first parse processing reports an error
- a second parsing module configured to obtain a second parser based on the error reporting data, and perform a second parsing process on the video file through the second parser to obtain second parsing data, wherein the first parsing data And the second parsing data are used to represent the attributes of the video file;
- a stream processing module configured to obtain the audio stream and the video stream in the video file according to the first parsed data and the second parsed data;
- the decoding processing module is configured to perform decoding processing on the audio stream and the video stream through a target decoder corresponding to the second parser to obtain the decoded audio stream and video stream.
- An electronic device includes a memory and a processor.
- a computer program is stored in the memory.
- the processor is caused to perform the following steps:
- FIG. 1 is a flowchart of a video decoding method in an embodiment
- FIG. 2 is a flowchart of a video decoding method in another embodiment
- FIG. 3 is a flowchart of a video decoding method in yet another embodiment
- FIG. 5 is a flowchart of decoding a video file in an embodiment
- FIG. 6 is a schematic structural diagram of a video decoding device in an embodiment
- FIG. 7 is a block diagram of a partial structure of a mobile phone related to an electronic device provided by an embodiment of the present application.
- first parser may be referred to as the second parser, and similarly, the second parser may be referred to as the first parser. Both the first parser and the second parser are parsers, but they are not the same parser.
- FIG. 1 is a flowchart of a video decoding method in an embodiment. As shown in FIG. 1, the video decoding method includes steps 102 to 110. among them:
- Step 102 Perform a first parsing process on the acquired video file through the first parser.
- the electronic device may encode the video file, and there are various encoding methods, and different encoding methods encode the video file in different file formats.
- common video encoding formats are WMV (Windows Media), MPEG (Moving Pictures Experts Group, Motion Picture Experts Group), FFMPEG (Fast Forward Moving Pictures Pictures Experts Group, Fast Forward Motion Picture Experts Group) .
- the video file contains an audio stream and a video stream
- the main function of encoding is to compress the video pixel data and audio data into a video code stream, thereby reducing the data amount of the video file.
- the electronic device can obtain a video file stored locally, or it can be a video file sent by another electronic device.
- a user can start a third-party application in the terminal, and initiate a video file acquisition instruction through the third-party application, and then the terminal can initiate an acquisition request to acquire a video file to the server according to the acquisition instruction. Send the corresponding video file to the terminal.
- the electronic device may perform the first parsing process on the video file through the first parser.
- the parsing process refers to the process of obtaining the attribute information of the video file. For example, the parsing process obtains the attribute information such as the playing time of the video stream, the size of the video image, and the audio format of the audio stream.
- the electronic device can use its own integrated parser to parse the video file, or it can call the API (Application Programming Interface) of a third-party parsing platform to parse the video file, which is not limited here.
- Step 104 When an error is detected in the first parsing process, the first parsing data and the error reporting data obtained in the first parsing process are obtained.
- the parsing methods of video files in different formats are different, so when the first parser performs the first parsing process on the acquired video file, if the first parser does not support the parsing process of the video file, then the first parsing An error will be reported during processing.
- the first parsing data indicating the partial attributes of the video file can be obtained, and the error reporting data can also be obtained.
- the error analysis data can be used to obtain the cause of the error in the first parsing process.
- the error data can be expressed as "the first parser cannot parse the video stream whose Codec ID (Codec Identification) is V_MS/VFW/FOURC. "According to the error data, you can know that the analysis was caused by the format of the video stream.
- Step 106 Obtain a second parser based on the error data, and perform a second parsing process on the video file through the second parser to obtain second parsing data, where the first parsing data and the second parsing data are used to indicate the attributes of the video file .
- the cause of the error in the first parsing process can be obtained based on the reported data, so that the second parser can be obtained based on the reported data. Then, according to the obtained second parser, the second parsing process is performed on the video file to obtain second parsing data.
- the electronic device can obtain a second parser that parses the audio stream in the audio format, and parses the audio stream.
- Step 108 Acquire the audio stream and the video stream in the video file according to the first parsed data and the second parsed data.
- related attributes of the video file can be obtained according to the obtained first parsed data and second parsed data, and the first parsed data and the second parsed data can respectively represent different attributes of the video file, and can also represent The same attributes are not limited here.
- the electronic device may call a decoder of the video file to decode the video file to obtain the audio stream and the video stream in the video file.
- Step 110 Decode the audio stream and the video stream through the target decoder corresponding to the second parser to obtain the decoded audio stream and video stream.
- the audio stream and the video stream can be decoded by the target decoder corresponding to the second parser, so that the decoded audio stream and the video stream can be obtained in the electronic device To play.
- the electronic device may simultaneously acquire the parameters of the target decoder. In this way, when decoding the video stream and the audio stream, the corresponding target decoder can be directly invoked through the acquired parameters for decoding processing.
- the first parser performs the first parsing process on the video file.
- the first parsing process reports an error
- the first parsing data and the error reporting data are obtained during the first parsing process.
- obtain the second parser according to the error data and process the video file by the second parser to obtain the second parsing data.
- the audio stream and the video stream in the video file are obtained according to the obtained first parsing data and the second parsing data, and the audio stream and the video stream can be decoded by the target decoder corresponding to the second parser.
- the video file can be parsed by obtaining a parser that can correctly parse the video file, and the video file can be decoded according to the decoder corresponding to the obtained parser, thereby improving the video file The correct rate of decoding.
- the video decoding method includes steps 202 to 218. among them:
- Step 202 Obtain a video file, and obtain the file format of the video file.
- the electronic device can read video files from a locally stored folder, and can also receive video files sent by other electronic devices, which is not limited herein. For example, when the electronic device detects the playback instruction, the file identification corresponding to the playback instruction is acquired, and then the video file corresponding to the file identification is acquired. After obtaining the video file, the electronic device can obtain the file format of the video file.
- the Android system you can call the MediaExtractor API to the bytes of the video file. After reading the bytes at the beginning of the video file, you can get the mimetype of the video file based on the bytes read (Multipurpose Internet Mail Extensions Type, multi-purpose Internet mail extension type), according to the read mimetype can determine the file format of the video file.
- the mimetype of the video file based on the bytes read (Multipurpose Internet Mail Extensions Type, multi-purpose Internet mail extension type), according to the read mimetype can determine the file format of the video file.
- Step 204 When the file format is a preset file format, perform a first parsing process on the video file through a first parser corresponding to the preset file format.
- the parser that parses the video file corresponds to the file format of the video file.
- the electronic device may call the first file corresponding to the preset file format.
- the parser performs the first parsing process on the video file.
- the video parser corresponding to the other file format can be called to parse the video file.
- MIMETYPE of the video file read is "video/x-matroska"
- MKV Multimedia Container
- a MatroskaExtractor parser can be created to perform the first parsing process on the video file.
- Step 206 When an error is detected in the first parsing process, obtain the first parsing data and the error reporting data obtained in the first parsing process.
- Step 208 Acquire the audio format and video format corresponding to the video file according to the error data.
- the audio format corresponding to the video file represents the format of the audio stream in the video file
- the video format represents the format of the video stream in the video file.
- Step 210 Obtain a second audio parser according to the audio format, and obtain a second video parser according to the video format.
- the second parser obtained in the electronic device includes a second audio parser and a second video parser, the corresponding second audio parser can be obtained according to the audio format, and the corresponding second audio parser can be obtained according to the video format.
- Step 212 Perform second parsing processing on the video file by using a second audio parser and a second video parser to obtain second parsing data.
- the second audio parser and the second video parser can be used to perform a second parsing process on the video file to obtain second parsing data.
- the second audio parser and the second video parser may be respectively added code blocks for performing second parsing processing on the video file, and parsing the video file through the second audio parser may obtain attributes corresponding to the audio stream Information, the second video parser parses the video file to obtain attribute information corresponding to the video stream. According to the attribute information corresponding to the audio stream and the attribute information corresponding to the video stream, the second parsed data can be obtained.
- Step 214 Acquire the audio stream and the video stream in the video file according to the first parsed data and the second parsed data.
- Step 216 Perform audio decoding processing on the audio stream according to the target audio decoder corresponding to the second audio parser to obtain the decoded audio stream.
- the audio stream and the video stream can be separately decoded according to the target decoder corresponding to the second parser to obtain the decoded audio stream and video stream.
- the target decoder includes a target audio decoder and a target video decoder, and performs audio decoding processing on the audio stream according to the target audio decoder to obtain a decoded audio stream. Perform video decoding processing on the video stream according to the target video decoder to obtain the decoded video stream.
- the audio decoding parameters corresponding to the audio stream may be obtained. Then, according to the acquired audio decoding parameters, the corresponding target audio decoder is called to perform audio decoding processing on the above audio stream.
- Step 218 Perform video decoding processing on the video stream according to the target video decoder corresponding to the second video parser to obtain the decoded video stream.
- the video decoding parameters corresponding to the video stream Before decoding the video stream, you can first obtain the video decoding parameters corresponding to the video stream. Then, according to the acquired video decoding parameters, the corresponding target video decoder is called to perform video decoding processing on the above video stream.
- the method for decoding the video stream may specifically include: acquiring the first target video decoder corresponding to the second video parser according to the first configuration mode, and performing video on the video stream according to the first target video decoder Decode processing to obtain the decoded video stream; or, obtain the second target video decoder corresponding to the second video parser according to the second configuration mode, and perform video decoding processing on the video stream according to the second target video decoder to obtain the decoding After the video stream.
- the first video decoder may be an MPEG4 video decoder
- the second video decoder may be an FFMPEG video decoder.
- the video parameters used to configure the MPEG4 video decoder and FFMPEG video decoder are different, and the calling interfaces are different. Therefore, the methods of obtaining the MPEG4 video decoder and FFMPEG video decoder are also different.
- the decoded audio stream corresponds to the decoded video stream
- the electronic device can read the decoded audio stream and the video stream at the same time, and output the decoded audio stream and the video stream.
- the decoding process of the audio stream may specifically include:
- Step 302 When the audio format is the first audio format, perform audio decoding processing on the audio stream according to the first target audio decoder corresponding to the second audio parser to obtain the decoded audio stream.
- audio decoders are obtained according to the audio format.
- the audio format is the first audio format
- the first target audio decoder is acquired to perform audio decoding processing on the audio stream to obtain the decoded audio stream.
- Step 304 When the audio format is the second audio format, perform audio decoding processing on the audio stream according to the second target audio decoder corresponding to the second audio parser to obtain the decoded audio stream.
- the second target audio decoder is acquired to perform audio decoding processing on the audio stream to obtain the decoded audio stream.
- the acquired first target audio decoder and second target audio decoder are decoders that support decoding processing of audio streams in the first audio format and the second audio format, respectively.
- the first parser when the file format of the acquired video file is a preset file format, the first parser performs first parsing processing on the video file through the first parser.
- the first parsing process reports an error
- the first parsing data and the error reporting data are obtained during the first parsing process.
- the audio stream and the video stream in the video file are obtained according to the obtained first parsing data and the second parsing data, and the audio stream and the video stream can be decoded by the target decoder corresponding to the second parser.
- the video file can be parsed by configuring a parser that can correctly analyze the video file, and the video file can be decoded according to the decoder corresponding to the configured parser, thereby improving The correct rate of decoding.
- FIG. 4 is a flowchart of parsing processing of a video file in an embodiment. As shown in FIG. 4, the process of parsing the video file may specifically include:
- Step 402 after the electronic device obtains the video file, it may call the MediaExtractor parser.
- Step 404 Parse the video file by calling the MediaExtractor parser to obtain the MIMETYPE of the video file.
- Step 406 Determine whether the MIMETYPE of the video file is "video/x-matroska”.
- the MIMETYPE of the video file determines that the file format of the video file is the preset file format, that is, For MKV (Multimedia Container) format, step 408 is executed; when the MIMETYPE of the video file is not "video/x-matroska", it is determined that the file format of the video file is not the preset file format, and step 438 is executed.
- Step 408 Invoking the MatroskaExtractor parser (first parser) to perform the first parsing process on the video file in the MKV format.
- Step 410 Detect whether the first parsing process reports an error. When an error is reported during the first parsing process, determine that the system does not support parsing of the MKV format video file, then obtain the first parsing data and error reporting data, and perform step 412; when the first When there is no error in the parsing process, it is determined that the system supports parsing of the MKV format video file, and step 438 is executed.
- Step 412 the MatroskaExtractor parser is enhanced by adding a second parser, and the second parsing process is performed by the enhanced MatroskaExtractor parser to obtain second parsing data.
- the decoder parameters can be configured through steps 414 to 434. Then, during the decoding process, the electronic device can call the corresponding decoder according to the parameters of the configured decoder. It can be understood that, when configuring the decoder parameters, the configured parameters can be written to the video file to establish a corresponding relationship with the audio stream and the video stream. In this way, during the decoding process, after the electronic device reads the audio stream and the video stream, it can read the decoder parameters corresponding to the configured audio stream and video stream, and then call the corresponding decoder according to the read decoder parameters Perform decoding processing.
- Step 414 Obtain the audio format of the audio stream in the video file according to the error data.
- the audio stream “Codec ID is A_AAC” and the encoding profile is not “1” it is determined that the audio stream is the first audio format, and step 416 is executed;
- the audio stream "CodecID is A_AAC” and the encoding profile is "1” it is determined that the audio stream is in the second audio format, and step 420 is executed.
- Step 416 Configure the first audio decoding parameter.
- the first target audio decoder may be an audio decoder of a system platform.
- the step of configuring the first audio decoding parameter may specifically include: configuring the MIMETYPE of the first target audio decoder to “audio/mp4a-latm”, and adding an audio ESDS field to the ACC audio decoder.
- the first target audio decoder can be invoked according to the configured first audio decoding parameter for audio decoding deal with.
- Step 418 Configure second audio decoding parameters.
- the second target audio decoder may be an audio decoder of the FFMPEG system
- the step of configuring the second audio decoding parameter may specifically include: configuring the MIMETYPE of the second target audio decoder to "audio/ffmpeg", Codec ID is set to "0x15002".
- the second audio decoding parameter is configured through step 418, and then the second target audio decoder can be called according to the configured second audio decoding parameter to perform audio decoding processing.
- step 420 the video format of the video stream in the video file is "V_MS/VFW/FOURCC" according to the error data.
- Step 422 Determine whether to use the first target video decoder to decode the video stream according to a pre-defined selection strategy. If yes, perform step 424; if no, perform step 426.
- the pre-defined selection strategy may be a selection strategy input by a user or a strategy automatically selected by an electronic device, which is not limited herein.
- the electronic device uses the first target video decoder by default, and when the remaining power of the electronic device is lower than the power threshold, uses the second target video decoder to perform video decoding processing on the video stream.
- Step 424 Configure the first video decoding parameters.
- the first target video decoder may be a native MPEG4 video decoder in the electronic device system, and the step of configuring the first video decoding parameter may specifically include: configuring the MIMETYPE of the first target video decoder to "video/mp4v-es", and Added video ESDS field.
- Step 426 Configure second video decoding parameters.
- the second target video decoder may be an FFMPEG video decoder, and the step of configuring the second video decoding parameters may specifically include: configuring the MIMETYPE of the second target video decoder to "video/ffmpeg" and the Codec ID to "0xd".
- Step 428 when the video file is not an MKV video file, create another video parser according to the file format of the video file.
- Step 430 Parse the video file according to the created other video parser.
- FIG. 5 is a flowchart of decoding a video file in an embodiment. As shown in FIG. 5, the process of decoding the video file may specifically include:
- Step 502 Call the MediaCodec decoder to obtain the audio stream and the video stream in the video file according to the first parsed data and the second parsed data.
- Step 504 After acquiring the audio stream in the video file, determine whether the audio decoding parameter corresponding to the read audio stream is the first audio decoding parameter.
- step 506 it is determined whether the MIMETYPE in the read audio decoding parameter is "audio/ffmpeg" and whether the encoding profile is "1". If not, step 506 is executed; if yes, the step is executed.
- Step 506 Read the first audio decoding parameter, that is, read the MIMETYPE corresponding to the audio stream as "audio/mp4a-latm" and the audio ESDS field.
- Step 508 Call the first target audio decoder according to the first audio decoding parameter, and perform audio decoding processing on the audio stream according to the first target audio decoder.
- the first target audio decoder native to the electronic device system may be called according to the first audio decoding parameter to perform audio decoding processing on the audio stream.
- Step 510 Read the second audio decoding parameter, that is, read the MIMETYPE corresponding to the audio stream as "audio/ffmpeg” and the Codec ID as "0x15002".
- Step 512 Call the second target audio decoder according to the second audio decoding parameter, and perform audio decoding processing on the audio stream according to the second target audio decoder.
- the audio decoder of the FFMPEG system can be called as the second target audio decoder according to the second audio decoding parameter.
- the called second target audio decoder performs audio decoding processing on the audio stream.
- Step 514 Determine whether to use the first target video decoder to decode the video stream according to a pre-defined selection strategy. If yes, go to step 516; if no, go to step 520.
- Step 516 Read the first video decoding parameter, that is, read the MIMETYPE corresponding to the video stream as "video/mp4v-es" and the video ESDS field.
- Step 518 Call the first target video decoder according to the first video decoding parameter, and perform video decoding processing on the video stream according to the first target video decoder.
- the video decoder in the native MPEG4 system of the electronic device system can be called as the first target video decoder according to the first video decoding parameter, and Perform video decoding processing on the video stream according to the called first target video decoder.
- Step 520 Read the second video decoding parameter, that is, read the MIMETYPE corresponding to the video stream as "video/ffmpeg" and the Codec ID as "0xd".
- Step 522 Call the second target video decoder according to the second video decoding parameter, and perform video decoding processing on the video stream according to the second target video decoder.
- steps in the flowcharts of FIGS. 1-5 are displayed in order according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless clearly stated in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in FIGS. 1-5 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed and completed at the same time, but may be executed at different times. These sub-steps or stages The execution order of is not necessarily sequential, but may be executed in turn or alternately with at least a part of other steps or sub-steps or stages of other steps.
- the video decoding device 600 includes a first parsing module 602, an error reporting module 604, a second parsing module 606, a shunt processing module 608, and a decoding processing module 610. among them:
- the first parsing module 602 is configured to perform first parsing processing on the acquired video file through the first parser.
- the error reporting module 604 is configured to obtain the first analysis data and the error reporting data obtained during the first analysis process when the first analysis process reports an error.
- the second parsing module 606 is configured to obtain a second parser based on the error report data, and perform a second parsing process on the video file through the second parser to obtain second parsing data, where The data and the second parsed data are used to represent the attributes of the video file.
- the stream processing module 608 is configured to obtain the audio stream and the video stream in the video file according to the first parsed data and the second parsed data.
- the decoding processing module 610 is configured to perform decoding processing on the audio stream and the video stream through a target decoder corresponding to the second parser to obtain the decoded audio stream and video stream.
- the first parser after acquiring the video file, performs the first parsing process on the video file.
- the first parsing process reports an error
- the first parsing data and the error reporting data are obtained during the first parsing process.
- obtain the second parser according to the error data and process the video file by the second parser to obtain the second parsing data.
- the audio stream and the video stream in the video file are obtained according to the obtained first parsing data and the second parsing data, and the audio stream and the video stream can be decoded by the target decoder corresponding to the second parser.
- the video file can be parsed by obtaining a parser that can correctly parse the video file, and the video file can be decoded according to the decoder corresponding to the obtained parser, thereby improving the video file The correct rate of decoding.
- the first parsing module 602 is further used to obtain a video file and obtain the file format of the video file; when the file format is a preset file format, the A parser performs a first parsing process on the video file.
- the second parser includes a second audio parser and a second video parser; the second parsing module 602 is also used to obtain the audio format and video format corresponding to the video file according to the error report data ; Obtain a second audio parser according to the audio format, and obtain the second video parser according to the video format; perform the second on the video file through the second audio parser and the second video parser The parsing process obtains the second parsing data.
- the target decoder includes a target audio decoder corresponding to the second audio parser and a target video decoder corresponding to the second video parser; the second parsing module 602 is further configured to A target audio decoder corresponding to the second audio parser performs audio decoding processing on the audio stream to obtain a decoded audio stream; and performs video decoding processing on the video stream according to the target video decoder corresponding to the second video parser To get the decoded video stream.
- the target audio decoder includes a first target audio decoder and a second target audio decoder; the second parsing module 602 is further configured to: according to the The first target audio decoder corresponding to the second audio parser performs audio decoding processing on the audio stream to obtain a decoded audio stream; when the audio format is the second audio format, according to the second audio parser The corresponding second target audio decoder performs audio decoding processing on the audio stream to obtain a decoded audio stream.
- the second parsing module 602 is further configured to obtain the first target video decoder corresponding to the second video parser according to the first configuration mode, and to compare the video according to the first target video decoder Perform video decoding processing on the stream to obtain the decoded video stream; or, obtain the second target video decoder corresponding to the second video parser according to the second configuration mode, and according to the second target video decoder
- the video stream is subjected to video decoding processing to obtain the decoded video stream.
- each module in the above video decoding device is for illustration only. In other embodiments, the video decoding device may be divided into different modules as needed to complete all or part of the functions of the above video decoding device.
- Each module in the above video decoding device may be implemented in whole or in part by software, hardware, or a combination thereof.
- the above modules may be embedded in the hardware or independent of the processor in the computer device, or may be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
- An embodiment of the present application also provides an electronic device. As shown in FIG. 7, for ease of description, only parts related to the embodiments of the present application are shown, and specific technical details are not disclosed, please refer to the method part of the embodiments of the present application.
- the electronic device may be any terminal device including a mobile phone, tablet computer, PDA (Personal Digital Assistant), POS (Point of Sales), in-vehicle computer, wearable device, etc. Taking the electronic device as a mobile phone for example :
- the mobile phone includes: a radio frequency (Radio Frequency) circuit 710, a memory 720, an input unit 730, a display unit 740, a sensor 750, an audio circuit 760, a wireless fidelity (WiFi) module 770, a processor 780 , And power supply 790 and other components.
- a radio frequency (Radio Frequency) circuit 710 for a radio frequency (Radio Frequency) circuit 710, a memory 720, an input unit 730, a display unit 740, a sensor 750, an audio circuit 760, a wireless fidelity (WiFi) module 770, a processor 780 , And power supply 790 and other components.
- WiFi wireless fidelity
- FIG. 7 does not constitute a limitation on the mobile phone, and may include more or less components than those shown in the figure, or a combination of certain components, or a different component arrangement.
- the RF circuit 710 can be used for receiving and sending signals during sending and receiving information or during a call. It can receive the downlink information of the base station and process it to the processor 780; it can also send the uplink data to the base station.
- RF circuits include but are not limited to antennas, at least one amplifier, transceiver, coupler, low noise amplifier (Low Noise Amplifier, LNA), duplexer, and so on.
- the RF circuit 710 can also communicate with the network and other devices through wireless communication.
- the above wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile (GSM), General Packet Radio Service (GPRS), and Code Division Multiple Access (Code Division) Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Message Service (SMS), etc.
- GSM Global System of Mobile
- GPRS General Packet Radio Service
- CDMA Code Division Multiple Access
- WCDMA Wideband Code Division Multiple Access
- LTE Long Term Evolution
- SMS Short Message Service
- the memory 720 may be used to store software programs and modules.
- the processor 780 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 720.
- the memory 720 may mainly include a program storage area and a data storage area, where the program storage area may store an operating system and applications required for at least one function (such as an application program for a sound playback function, an application program for an image playback function, etc.), etc.;
- the data storage area can store data (such as audio data, address book, etc.) created according to the use of the mobile phone.
- the memory 720 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
- the input unit 730 may be used to receive input numeric or character information, and generate key signal input related to user settings and function control of the mobile phone 700.
- the input unit 730 may include a touch panel 731 and other input devices 732.
- the touch panel 731 also known as a touch screen, can collect user's touch operations on or near it (for example, the user uses any suitable object or accessory such as a finger, a stylus, etc. on or near the touch panel 731 Operation), and drive the corresponding connection device according to the preset program.
- the touch panel 731 may include a touch detection device and a touch controller.
- the touch detection device detects the user's touch orientation, and detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device and converts it into contact coordinates, and then sends To the processor 780, and can receive the command sent by the processor 780 and execute it.
- the touch panel 731 may be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
- the input unit 730 may also include other input devices 732.
- other input devices 732 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.).
- the display unit 740 may be used to display information input by the user or information provided to the user and various menus of the mobile phone.
- the display unit 740 may include a display panel 741.
- the display panel 741 may be configured in the form of a liquid crystal display (Liquid Crystal) (LCD), an organic light-emitting diode (Organic Light-Emitting Diode, OLED), or the like.
- the touch panel 731 may cover the display panel 741, and when the touch panel 731 detects a touch operation on or near it, it is transmitted to the processor 780 to determine the type of touch event, and then the processor 780 according to The type of touch event provides a corresponding visual output on the display panel 741.
- the touch panel 731 and the display panel 741 are implemented as two independent components to realize the input and input functions of the mobile phone, in some embodiments, the touch panel 731 and the display panel 741 may be integrated and Realize the input and output functions of the mobile phone.
- the mobile phone 700 may further include at least one sensor 750, such as a light sensor, a motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 741 according to the brightness of the ambient light, and the proximity sensor may close the display panel 741 and/or when the mobile phone moves to the ear Or backlight.
- the motion sensor may include an acceleration sensor. The acceleration sensor can detect the magnitude of acceleration in various directions, and can detect the magnitude and direction of gravity when at rest. Pedometer, percussion), etc.
- the mobile phone can also be equipped with other sensors such as gyroscope, barometer, hygrometer, thermometer, infrared sensor and so on.
- the audio circuit 760, the speaker 761, and the microphone 762 may provide an audio interface between the user and the mobile phone.
- the audio circuit 760 can transmit the received electrical signal converted to electrical signals to the speaker 761, which is converted into a sound signal output by the speaker 761; on the other hand, the microphone 762 converts the collected sound signal into an electrical signal, which is converted by the audio circuit 760 After receiving, it is converted into audio data, and then processed by the audio data output processor 780, and then sent to another mobile phone through the RF circuit 710, or the audio data is output to the memory 720 for subsequent processing.
- WiFi is a short-range wireless transmission technology.
- the mobile phone can help users send and receive emails, browse web pages, and access streaming media through the WiFi module 770. It provides users with wireless broadband Internet access.
- FIG. 7 shows the WiFi module 770, it can be understood that it is not a necessary component of the mobile phone 700, and may be omitted as needed.
- the processor 780 is the control center of the mobile phone, connects various parts of the entire mobile phone with various interfaces and lines, executes or executes the software programs and/or modules stored in the memory 720, and calls the data stored in the memory 720 to execute Various functions and processing data of the mobile phone, so as to monitor the mobile phone as a whole.
- the processor 780 may include one or more processing units.
- the processor 780 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, user interface, application programs, and the like; the modem processor mainly processes wireless communication. It can be understood that the foregoing modem processor may not be integrated into the processor 780.
- the mobile phone 700 further includes a power supply 790 (such as a battery) for powering various components.
- a power supply 790 (such as a battery) for powering various components.
- the power supply can be logically connected to the processor 780 through a power management system, so as to realize functions such as charging, discharging, and power management through the power management system.
- the mobile phone 700 may further include a camera, a Bluetooth module, and the like.
- the processor 780 included in the electronic device implements the steps of the video decoding method provided in the foregoing embodiment when the computer program stored in the memory is executed.
- the embodiments of the present application also provide a computer-readable storage medium.
- One or more non-volatile computer-readable storage media containing computer-executable instructions, when the computer-executable instructions are executed by one or more processors, causing the processors to perform video decoding provided by the foregoing embodiments Method steps.
- Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
- Volatile memory can include random access memory (RAM), which acts as external cache memory.
- RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR) SDRAM, enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
- SRAM static RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM synchronous Link (Synchlink) DRAM
- Rambus direct RAM
- DRAM direct memory bus dynamic RAM
- RDRAM memory bus dynamic RAM
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频解码方法,包括:通过第一解析器对获取的视频文件进行第一解析处理;当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;及通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
Description
本申请涉及计算机技术领域,特别是涉及一种视频解码方法、装置、电子设备、计算机可读存储介质。
电子设备可以展示图片、播放音乐,还可以播放视频等。一般地,在生成视频文件的时候,采用的编码方式不同,会生成不同格式的视频文件。对编码后的视频文件进行播放之前,需要先对视频文件进行解码。因此,在对不同格式的视频文件进行播放的时候,所采用的解码方式也不同。
发明内容
本申请实施例提供一种视频解码方法、装置、电子设备、计算机可读存储介质。
一种视频解码方法,包括:
通过第一解析器对获取的视频文件进行第一解析处理;
当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;
根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;
根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;及
通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
一种视频解码装置,包括:
第一解析模块,用于通过第一解析器对获取的视频文件进行第一解析处理;
报错模块,用于当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;
第二解析模块,用于根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;
分流处理模块,用于根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;
解码处理模块,用于通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
通过第一解析器对获取的视频文件进行第一解析处理;
当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;
根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;
根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;及
通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
通过第一解析器对获取的视频文件进行第一解析处理;
当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;
根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;
根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;及
通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中视频解码方法的流程图;
图2为另一个实施例中视频解码方法的流程图;
图3为又一个实施例中视频解码方法的流程图;
图4为一个实施例中对视频文件进行解析处理的流程图;
图5为一个实施例中对视频文件进行解码处理的流程图;
图6为一个实施例中视频解码装置的结构示意图;
图7为与本申请实施例提供的电子设备相关的手机的部分结构的框图。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一解析器称为第二解析器,且类似地,可将第二解析器称为第一解析器。第一解析器和第二解析器两者都是解析器,但其不是同一解析器。
图1为一个实施例中视频解码方法的流程图。如图1所示,该视频解码方法包括步骤102至步骤110。其中:
步骤102,通过第一解析器对获取的视频文件进行第一解析处理。
在一个实施例中,电子设备可以对视频文件进行编码,编码的方式多种多样,不同编码方式对视频文件进行编码后的文件格式不同。例如,常见的视频编码格式有WMV(Windows Media Video,媒体视频格式)、MPEG(Moving Pictures Experts Group,动态图象专家组)、FFMPEG(Fast Forward Moving Pictures Experts Group,快进动态图象专家组)。
具体的,视频文件中包含了音频流和视频流,编码的主要作用是将视频像素数据和音频数据压缩成为视频码流,从而降低视频文件的数据量。电子设备获取的可以是存储在本 地的视频文件,也可以是接收的其他电子设备发送的视频文件。例如,用户可以启动终端中的第三方应用程序,通过第三方应用程序发起视频文件的获取指令,然后终端可以根据该获取指令向服务器发起获取视频文件的获取请求,服务器在接收到获取请求之后,将对应的视频文件发送给终端。
电子设备在获取到视频文件之后,可以通过第一解析器对视频文件进行第一解析处理。解析处理是指获取视频文件的属性信息的过程,例如,通过解析处理获取视频文件中视频流的播放时长、视频图像的尺寸、音频流的音频格式等等属性信息。电子设备可以采用自身集成的解析器对视频文件进行解析,也可以调用第三方解析平台的API(Application Programming Interface,应用程序编程接口)对视频文件进行解析,在此不做限定。
步骤104,当检测到第一解析处理报错时,获取第一解析处理过程中得到的第一解析数据和报错数据。
不同格式的视频文件的解析方式是不同的,因此在通过第一解析器对获取的视频文件进行第一解析处理时,如果第一解析器不支持该视频文件的解析处理,那么在第一解析处理的过程中就会报错。在通过第一解析器对视频文件进行解析的时候,可以得到表示视频文件的部分属性的第一解析数据,还可以得到报错数据。
通过该报错数据可以获取第一解析处理出错的原因,例如,报错数据可以表示为“第一解析器无法对Codec ID(Codec Identification,编解码器标识)为V_MS/VFW/FOURC的视频流进行解析”,根据报错数据就可以知道解析是因为视频流的格式问题才出错的。
步骤106,根据报错数据获取第二解析器,并通过第二解析器对视频文件进行第二解析处理得到第二解析数据,其中,第一解析数据和第二解析数据用于表示视频文件的属性。
当根据第一解析器进行第一解析处理报错的时候,可以根据报错数据得到第一解析处理出错的原因,从而根据报错数据获取第二解析器。然后根据获取的第二解析器对视频文件进行第二解析处理,得到第二解析数据。
例如,根据报错数据确定是由于音频格式问题,第一解析器无法对视频文件中的音频流进行解析。然后电子设备就可以获取解析上述音频格式的音频流的第二解析器,对上述音频流进行解析。
步骤108,根据第一解析数据和第二解析数据获取视频文件中的音频流和视频流。
在本申请提供的实施例中,根据得到的第一解析数据和第二解析数据可以得到视频文件的相关属性,第一解析数据和第二解析数据可以分别表示视频文件的不同属性,也可以表示相同的属性,在此不做限定。具体的,电子设备在得到第一解析数据和第二解析数据之后,可以调用一个视频文件的解码器,对视频文件进行解码,得到视频文件中的音频流和视频流。
步骤110,通过第二解析器对应的目标解码器对音频流和视频流进行解码处理,得到解码后的音频流和视频流。
在一个实施例中,得到音频流和视频流之后,可以通过第二解析器对应的目标解码器对音频流和视频流进行解码,这样得到的解码后的音频流和视频流就可以在电子设备中进行播放。具体的,电子设备在根据报错数据获取第二解析器的时候,可以同时获取目标解码器的参数。这样在对视频流和音频流进行解码的时候,可以直接通过获取的参数调用对应的目标解码器进行解码处理。
根据上述实施例提供的视频解码方法,在获取到视频文件之后,首先通过第一解析器对视频文件进行第一解析处理。当第一解析处理报错的时候,获取第一解析处理过程中得到第一解析数据和报错数据。然后根据报错数据获取第二解析器,并通过第二解析器对视频文件进行第二解析器处理得到第二解析数据。最后根据得到的第一解析数据和第二解析数据获取视频文件中的音频流和视频流,通过第二解析器对应的目标解码器就可以对音频 流和视频流进行解码处理。这样,在第一解析处理出错的时候,可以通过获取能对视频文件进行正确解析的解析器对视频文件解析,并根据获取的解析器对应的解码器对视频文件进行解码,从而提高对视频文件解码的正确率。
图2为另一个实施例中视频解码方法的流程图。如图2所示,该视频解码方法包括步骤202至步骤218。其中:
步骤202,获取视频文件,并获取视频文件的文件格式。
在一个实施例中,电子设备可以从本地存储的文件夹中读取视频文件,还可以接收其他电子设备发送的视频文件,在此不做限定。例如,当电子设备检测到播放指令时,获取播放指令对应的文件标识,然后获取文件标识对应的视频文件。在获取到视频文件之后,电子设备可以获取视频文件的文件格式。
以Android(安卓)系统为例,可以调用MediaExtractor API对视频文件的字节,在读取视频文件开头部分的字节之后,就可以根据读取的字节就得到视频文件的mimetype(Multipurpose Internet Mail Extensions Type,多用途互联网邮件扩展类型),根据读取的mimetype可以判断视频文件的文件格式。
步骤204,当文件格式为预设文件格式时,通过预设文件格式对应的第一解析器对视频文件进行第一解析处理。
具体的,对视频文件进行解析处理的解析器与视频文件的文件格式是对应的,当读取的视频文件的文件格式为预设文件格式时,电子设备可以调用预设文件格式对应的第一解析器对视频文件进行第一解析处理。当读取的视频文件的文件格式不是预设文件格式时,可以调用其他文件格式对应的视频解析器对视频文件进行解析处理。
例如,在读取到视频文件的MIMETYPE为“video/x-matroska”时,判定视频文件为MKV(Multimedia Container,多媒体容器)格式。在判断视频文件格式为MKV格式时,可以创建MatroskaExtractor解析器对视频文件进行第一解析处理。
步骤206,当检测到第一解析处理报错时,获取第一解析处理过程中得到的第一解析数据和报错数据。
步骤208,根据报错数据获取视频文件对应的音频格式和视频格式。
其中,视频文件对应的音频格式表示视频文件中的音频流的格式,视频格式表示视频文件中的视频流的格式。在第一解析处理过程报错的时候,说明电子设备的系统不支持该文件格式的视频文件的解析。根据报错数据就可以得到视频文件对应的音频格式和视频格式。
步骤210,根据音频格式获取第二音频解析器,并根据视频格式获取第二视频解析器。
电子设备中获取的第二解析器包括第二音频解析器和第二视频解析器,根据音频格式可以获取得到对应的第二音频解析器,根据视频格式可以获取得到对应的第二音频解析器。
步骤212,通过第二音频解析器和第二视频解析器对视频文件进行第二解析处理得到第二解析数据。
在获取得到第二音频解析器和第二视频解析器之后,可以通过第二音频解析器和第二视频解析器对视频文件进行第二解析处理,得到第二解析数据。具体的,第二音频解析器和第二视频解析器可以分别是添加的对视频文件进行第二解析处理的代码块,通过第二音频解析器对视频文件进行解析,可以得到音频流对应的属性信息,通过第二视频解析器对视频文件进行解析,可以得到视频流对应的属性信息。根据音频流对应的属性信息和视频流对应的属性信息,就可以得到第二解析数据。
步骤214,根据第一解析数据和第二解析数据获取视频文件中的音频流和视频流。
步骤216,根据第二音频解析器对应的目标音频解码器对音频流进行音频解码处理, 得到解码后的音频流。
得到音频流和视频流之后,可以根据第二解析器对应的目标解码器对音频流和视频流分别进行解码处理,得到的解码后的音频流和视频流。其中,目标解码器包括目标音频解码器和目标视频解码器,根据目标音频解码器对音频流进行音频解码处理,得到解码后的音频流。根据目标视频解码器对视频流进行视频解码处理,得到解码后的视频流。
具体的,在对音频流进行解码处理之前,可以先获取音频流对应的音频解码参数。然后再根据获取的音频解码参数调用对应的目标音频解码器,对上述音频流进行音频解码处理。
步骤218,根据第二视频解析器对应的目标视频解码器对视频流进行视频解码处理,得到解码后的视频流。
在对视频流进行解码处理之前,可以先获取视频流对应的视频解码参数。然后再根据获取的视频解码参数调用对应的目标视频解码器,对上述视频流进行视频解码处理。
在一个实施例中,对视频流进行解码的方法具体可以包括:根据第一配置方式获取第二视频解析器对应的第一目标视频解码器,并根据第一目标视频解码器对视频流进行视频解码处理,得到解码后的视频流;或,根据第二配置方式获取第二视频解析器对应的第二目标视频解码器,并根据第二目标视频解码器对视频流进行视频解码处理,得到解码后的视频流。
例如,第一视频解码器可以是MPEG4视频解码器,第二视频解码器可以是FFMPEG视频解码器。对MPEG4视频解码器和FFMPEG视频解码器进行配置的视频参数不同,调用的接口不同,因此获取MPEG4视频解码器和FFMPEG视频解码器的方式也不同。
解码后的音频流和解码后的视频流是对应的,电子设备可以同时读取解码后的音频流和视频流,并对解码后的音频流和视频流进行输出。
如图3所示,在本申请提供的实施例中,对音频流的解码过程具体还可以包括:
步骤302,当音频格式为第一音频格式时,根据第二音频解析器对应的第一目标音频解码器对音频流进行音频解码处理,得到解码后的音频流。
在对音频流进行音频解码的时候,根据音频格式获取不同的音频解码器。当音频格式为第一音频格式时,获取第一目标音频解码器对音频流进行音频解码处理,得到解码后的音频流。
步骤304,当音频格式为第二音频格式时,根据第二音频解析器对应的第二目标音频解码器对音频流进行音频解码处理,得到解码后的音频流。
当音频格式为第二音频格式时,获取第二目标音频解码器对音频流进行音频解码处理,得到解码后的音频流。可以理解的是,获取的第一目标音频解码器和第二目标音频解码器,分别是支持对第一音频格式和第二音频格式的音频流进行解码处理的解码器。
根据上述实施例提供的视频解码方法,在获取到的视频文件的文件格式为预设文件格式时,首先通过第一解析器对视频文件进行第一解析处理。当第一解析处理报错的时候,获取第一解析处理过程中得到第一解析数据和报错数据。然后根据报错数据配置第二解析器,并通过第二解析器对视频文件进行第二解析器处理得到第二解析数据。最后根据得到的第一解析数据和第二解析数据获取视频文件中的音频流和视频流,通过第二解析器对应的目标解码器就可以对音频流和视频流进行解码处理。这样,在第一解析处理出错的时候,可以通过配置能对视频文件进行正确解析的解析器对视频文件解析,并根据配置的解析器对应的解码器对视频文件进行解码,从而提高对视频文件解码的正确率。
图4为一个实施例中对视频文件进行解析处理的流程图。如图4所示,对视频文件进行解析处理的过程具体可以包括:
步骤402,当电子设备获取到视频文件之后,可以调用MediaExtractor解析器。
步骤404,通过调用的MediaExtractor解析器对视频文件进行解析,获取视频文件的MIMETYPE。
步骤406,判断视频文件的MIMETYPE是否为“video/x-matroska”,当读取到视频文件的MIMETYPE为“video/x-matroska”时,判定上述视频文件的文件格式为预设文件格式,即MKV(Multimedia Container,多媒体容器)格式,则执行步骤408;当视频文件的MIMETYPE不为“video/x-matroska”时,判定视频文件的文件格式不为预设文件格式,则执行步骤438。
步骤408,调用MatroskaExtractor解析器(第一解析器)对上述MKV格式的视频文件进行第一解析处理。
步骤410,检测第一解析处理是否报错,当第一解析处理过程中报错时,判定系统不支持该MKV格式的视频文件的解析,则获取第一解析数据和报错数据,执行步骤412;当第一解析处理没有报错时,判定系统支持该MKV格式的视频文件的解析,则执行步骤438。
步骤412,通过添加第二解析器的方式对MatroskaExtractor解析器进行增强,通过增强后的MatroskaExtractor解析器进行第二解析处理,得到第二解析数据。
具体的,解析之后,可以通过步骤414至步骤434配置解码器参数。然后电子设备在解码处理的时候,就可以根据配置的解码器的参数调用相应的解码器。可以理解的是,在配置解码器参数的时候,可以将配置的参数写入视频文件,与音频流和视频流建立对应关系。这样在解码过程中,电子设备读取到音频流和视频流之后,就可以读取到配置的音频流和视频流对应的解码器参数,然后根据读取到的解码器参数调用对应的解码器进行解码处理。
步骤414,根据报错数据获取视频文件中的音频流的音频格式,当音频流“Codec ID为A_AAC”,编码profile不为“1”时,判定音频流为第一音频格式,则执行步骤416;当音频流“Codec ID为A_AAC”,编码profile为“1”时,判定音频流为第二音频格式,则执行步骤420。
步骤416,配置第一音频解码参数。
具体的,第一目标音频解码器可以系统平台的音频解码器。配置第一音频解码参数的步骤具体可以包括:将第一目标音频解码器的MIMETYPE配置为“audio/mp4a-latm”,并对上述ACC音频解码器增加音频ESDS字段。
可以理解的是,当音频流的音频格式为第一音频格式时,通过步骤416配置第一音频解码参数,就可以根据配置好的配置第一音频解码参数调用第一目标音频解码器进行音频解码处理。
步骤418,配置第二音频解码参数。
在一个实施例中,第二目标音频解码器可以是FFMPEG系统的音频解码器,配置第二音频解码参数的步骤具体可以包括:将第二目标音频解码器的MIMETYPE配置为“audio/ffmpeg”,Codec ID配置为“0x15002”。
具体的,当音频流的音频格式为第二音频格式时,通过步骤418配置第二音频解码参数,然后就可以根据配置好的第二音频解码参数调用第二目标音频解码器进行音频解码处理。
步骤420,根据报错数据获取视频文件中的视频流的视频格式为“V_MS/VFW/FOURCC”。
步骤422,根据预先定义的选择策略判断是否采用第一目标视频解码器对视频流进行解码,若是,则执行步骤424;若否,则执行步骤426。
其中,预先定义的选择策略可以是用户输入的选择策略,也可以是电子设备自动选择的策略,在此不做限定。例如,电子设备默认使用第一目标视频解码器,当电子设备的剩余电量低于电量阈值时,使用第二目标视频解码器对视频流进行视频解码处理。
步骤424,配置第一视频解码参数。
第一目标视频解码器可以为电子设备系统中原生的MPEG4视频解码器,配置第一视频解码参数的步骤具体可以包括:配置第一目标视频解码器的MIMETYPE为"video/mp4v-es",并增加视频ESDS字段。
步骤426,配置第二视频解码参数。
第二目标视频解码器可以为FFMPEG视频解码器,配置第二视频解码参数的步骤具体可以包括:配置第二目标视频解码器的MIMETYPE为“video/ffmpeg”,Codec ID为“0xd”。
步骤428,当视频文件不为MKV视频文件时,根据视频文件的文件格式创建其他视频解析器。
步骤430,根据创建的其他视频解析器对视频文件进行解析。
图5为一个实施例中对视频文件进行解码处理的流程图。如图5所示,对视频文件进行解码处理的过程具体可以包括:
步骤502,调用MediaCodec解码器根据第一解析数据和第二解析数据获取视频文件中的音频流和视频流。
步骤504,获取到视频文件中的音频流之后,判断读取音频流对应的音频解码参数是否为第一音频解码参数。
具体的,判断读取的音频解码参数中的MIMETYPE是否为“audio/ffmpeg”以及编码profile是否为“1”,若否,则执行步骤506;若是,则执行步骤。
步骤506,读取第一音频解码参数,即读取音频流对应的MIMETYPE为“audio/mp4a-latm”,以及音频ESDS字段。
步骤508,根据第一音频解码参数调用第一目标音频解码器,根据第一目标音频解码器对音频流进行音频解码处理。
具体的,当第一音频解码参数中的MIMETYPE为“audio/mp4a-latm”时,可以根据第一音频解码参数调用电子设备系统原生的第一目标音频解码器对音频流进行音频解码处理。
步骤510,读取第二音频解码参数,即读取音频流对应的MIMETYPE为“audio/ffmpeg”,Codec ID为“0x15002”。
步骤512,根据第二音频解码参数调用第二目标音频解码器,根据第二目标音频解码器对音频流进行音频解码处理。
具体的,当第二音频解码参数中的MIMETYPE为“audio/ffmpeg”,Codec ID为“0x15002”时,可以根据第二音频解码参数调用FFMPEG系统的音频解码器作为第二目标音频解码器,根据调用的第二目标音频解码器对音频流进行音频解码处理。
步骤514,根据预先定义的选择策略判断是否采用第一目标视频解码器对视频流进行解码,若是,则执行步骤516;若否,则执行步骤520。
步骤516,读取第一视频解码参数,即读取视频流对应的MIMETYPE为"video/mp4v-es"以及视频ESDS字段。
步骤518,根据第一视频解码参数调用第一目标视频解码器,根据第一目标视频解码器对视频流进行视频解码处理。
具体的,当第一视频解码参数中的MIMETYPE为"video/mp4v-es"时,可以根据第一视频解码参数调用电子设备系统原生MPEG4系统中的视频解码器作为第一目标视频解码器,并根据调用的第一目标视频解码器对视频流进行视频解码处理。
步骤520,读取第二视频解码参数,即读取视频流对应的MIMETYPE为“video/ffmpeg”,Codec ID为“0xd”。
步骤522,根据第二视频解码参数调用第二目标视频解码器,根据第二目标视频解码器对视频流进行视频解码处理。
具体的,读取第二视频解码参数中的MIMETYPE为“video/ffmpeg”,Codec ID为“0xd”,根据第二视频解码参数调用FFMPEG系统中的视频解码器作为第二目标视频解码器,并根据调用的第二目标视频解码器对视频流进行视频解码处理。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例中视频解码装置的结构示意图。如图6所示,该视频解码装置600中包括第一解析模块602、报错模块604、第二解析模块606、分流处理模块608和解码处理模块610。其中:
第一解析模块602,用于通过第一解析器对获取的视频文件进行第一解析处理。
报错模块604,用于当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据。
第二解析模块606,用于根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性。
分流处理模块608,用于根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流。
解码处理模块610,用于通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
根据上述实施例提供的视频解码装置,在获取到视频文件之后,首先通过第一解析器对视频文件进行第一解析处理。当第一解析处理报错的时候,获取第一解析处理过程中得到第一解析数据和报错数据。然后根据报错数据获取第二解析器,并通过第二解析器对视频文件进行第二解析器处理得到第二解析数据。最后根据得到的第一解析数据和第二解析数据获取视频文件中的音频流和视频流,通过第二解析器对应的目标解码器就可以对音频流和视频流进行解码处理。这样,在第一解析处理出错的时候,可以通过获取能对视频文件进行正确解析的解析器对视频文件解析,并根据获取的解析器对应的解码器对视频文件进行解码,从而提高对视频文件解码的正确率。
在一个实施例中,第一解析模块602还用于获取视频文件,并获取所述视频文件的文件格式;当所述文件格式为预设文件格式时,通过所述预设文件格式对应的第一解析器对所述视频文件进行第一解析处理。
在一个实施例中,所述第二解析器包括第二音频解析器和第二视频解析器;第二解析模块602还用于根据所述报错数据获取所述视频文件对应的音频格式和视频格式;根据所述音频格式获取第二音频解析器,并根据所述视频格式获取所述第二视频解析器;通过所述第二音频解析器和第二视频解析器对所述视频文件进行第二解析处理得到第二解析数据。
在一个实施例中,所述目标解码器包括第二音频解析器对应的目标音频解码器以及所述第二视频解析器对应的目标视频解码器;第二解析模块602还用于根据所述第二音频解析器对应的目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流;根据所述第二视频解析器对应的目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流。
在一个实施例中,所述目标音频解码器包括第一目标音频解码器和第二目标音频解码器;第二解析模块602还用于当所述音频格式为第一音频格式时,根据所述第二音频解析器对应的第一目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流;当所述音频格式为第二音频格式时,根据所述第二音频解析器对应的第二目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流。
在一个实施例中,第二解析模块602还用于根据第一配置方式获取所述第二视频解析器对应的第一目标视频解码器,并根据所述第一目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流;或,根据第二配置方式获取所述第二视频解析器对应的第二目标视频解码器,并根据所述第二目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流。
上述视频解码装置中各个模块的划分仅用于举例说明,在其他实施例中,可将视频解码装置按照需要划分为不同的模块,以完成上述视频解码装置的全部或部分功能。
关于视频解码装置的具体限定可以参见上文中对于视频解码方法的限定,在此不再赘述。上述视频解码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例还提供了一种电子设备。如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该电子设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以电子设备为手机为例:
图7为与本申请实施例提供的电子设备相关的手机的部分结构的框图。参考图7,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路710可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器780处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机700的用户设置以 及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。在一个实施例中,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机700还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路760、扬声器761和传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710可以发送给另一手机,或者将音频数据输出至存储器720以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于手机700的必须构成,可以根据需要而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器780可包括一个或多个处理单元。在一个实施例中,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机700还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功 耗管理等功能。
在一个实施例中,手机700还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该电子设备所包括的处理器780执行存储在存储器上的计算机程序时实现上述实施例提供的视频解码方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的视频解码方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的视频解码方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
- 一种视频解码方法,包括:通过第一解析器对获取的视频文件进行第一解析处理;当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;及通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
- 根据权利要求1所述的方法,其特征在于,所述通过第一解析器对获取的视频文件进行第一解析处理,包括:获取视频文件,并获取所述视频文件的文件格式;当所述文件格式为预设文件格式时,通过所述预设文件格式对应的第一解析器对所述视频文件进行第一解析处理。
- 根据权利要求1所述的方法,其特征在于,所述第二解析器包括第二音频解析器和第二视频解析器;所述根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据包括:根据所述报错数据获取所述视频文件对应的音频格式和视频格式;根据所述音频格式获取第二音频解析器,并根据所述视频格式获取所述第二视频解析器;及通过所述第二音频解析器和第二视频解析器对所述视频文件进行第二解析处理得到第二解析数据。
- 根据权利要求3所述的方法,其特征在于,所述目标解码器包括第二音频解析器对应的目标音频解码器以及所述第二视频解析器对应的目标视频解码器;所述通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流,包括:根据所述第二音频解析器对应的目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流;根据所述第二视频解析器对应的目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流。
- 根据权利要求4所述的方法,其特征在于,所述目标音频解码器包括第一目标音频解码器和第二目标音频解码器;所述根据所述第二音频解析器对应的目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流,包括:当所述音频格式为第一音频格式时,根据所述第二音频解析器对应的第一目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流;当所述音频格式为第二音频格式时,根据所述第二音频解析器对应的第二目标音频解码器对所述音频流进行音频解码处理,得到解码后的音频流。
- 根据权利要求4所述的方法,其特征在于,所述根据所述第二视频解析器对应的目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流,包括:根据第一配置方式获取所述第二视频解析器对应的第一目标视频解码器,并根据所述第一目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流;或,根据第二配置方式获取所述第二视频解析器对应的第二目标视频解码器,并根据所述 第二目标视频解码器对所述视频流进行视频解码处理,得到解码后的视频流。
- 一种视频解码装置,包括:第一解析模块,用于通过第一解析器对获取的视频文件进行第一解析处理;报错模块,用于当检测到所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一解析数据和报错数据;第二解析模块,用于根据所述报错数据获取第二解析器,并通过所述第二解析器对所述视频文件进行第二解析处理得到第二解析数据,其中,所述第一解析数据和第二解析数据用于表示所述视频文件的属性;分流处理模块,用于根据所述第一解析数据和第二解析数据获取所述视频文件中的音频流和视频流;解码处理模块,用于通过所述第二解析器对应的目标解码器对所述音频流和视频流进行解码处理,得到解码后的音频流和视频流。
- 根据权利要求7所述的装置,其特征在于,所述第一解析模块还用于获取视频文件,并获取所述视频文件的文件格式;当所述文件格式为预设文件格式时,通过所述预设文件格式对应的第一解析器对所述视频文件进行第一解析处理。
- 一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的方法的步骤。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下权利要求1至6中任一项所述的方法的步骤。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201880098495.2A CN112823529B (zh) | 2018-11-29 | 2018-11-29 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
| PCT/CN2018/118296 WO2020107353A1 (zh) | 2018-11-29 | 2018-11-29 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2018/118296 WO2020107353A1 (zh) | 2018-11-29 | 2018-11-29 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020107353A1 true WO2020107353A1 (zh) | 2020-06-04 |
Family
ID=70851894
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/118296 Ceased WO2020107353A1 (zh) | 2018-11-29 | 2018-11-29 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN112823529B (zh) |
| WO (1) | WO2020107353A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115440250A (zh) * | 2022-09-06 | 2022-12-06 | 杭州登虹科技有限公司 | 一种协议音频格式的判断方法 |
| CN116206633A (zh) * | 2022-12-30 | 2023-06-02 | 深圳软牛科技有限公司 | 音频格式的转换方法、装置、设备及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020064188A1 (en) * | 2000-10-10 | 2002-05-30 | Norihiko Mizobata | Data selection/storage apparatus and data processing apparatus using data selection/storage apparatus |
| CN102904857A (zh) * | 2011-07-25 | 2013-01-30 | 风网科技(北京)有限公司 | 客户端视频播放系统及其方法 |
| CN103686210A (zh) * | 2013-12-17 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 实时音视频转码方法和系统 |
| CN107801095A (zh) * | 2017-09-25 | 2018-03-13 | 平安普惠企业管理有限公司 | 一种音视频解码方法及终端设备 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1039750A3 (en) * | 1999-03-26 | 2005-05-25 | Matsushita Electric Industrial Co., Ltd. | Video storage and retrieval apparatus |
| US6731657B1 (en) * | 2000-03-14 | 2004-05-04 | International Business Machines Corporation | Multiformat transport stream demultiplexor |
| CN101771869B (zh) * | 2008-12-30 | 2011-09-28 | 深圳市万兴软件有限公司 | 一种音视频编解码装置及方法 |
| TWI384459B (zh) * | 2009-07-22 | 2013-02-01 | Mstar Semiconductor Inc | 音框檔頭之自動偵測方法 |
| CN103813177A (zh) * | 2012-11-07 | 2014-05-21 | 辉达公司 | 一种视频解码系统和方法 |
| CN103297761B (zh) * | 2013-06-03 | 2016-04-20 | 贝壳网际(北京)安全技术有限公司 | 视频解析的监控方法及系统 |
| CN104837052B (zh) * | 2014-06-10 | 2018-09-04 | 腾讯科技(北京)有限公司 | 播放多媒体数据的方法及装置 |
| CN105744372A (zh) * | 2014-12-11 | 2016-07-06 | 深圳都好看互动电视有限公司 | 视频点播播出方法、系统、服务器及点播客户端 |
| CN105992056B (zh) * | 2015-01-30 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种视频解码的方法和装置 |
| CN104980788B (zh) * | 2015-02-11 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 视频解码方法及装置 |
| CN107172432A (zh) * | 2017-03-23 | 2017-09-15 | 杰发科技(合肥)有限公司 | 一种视频处理方法、装置及终端 |
| CN107302715A (zh) * | 2017-08-10 | 2017-10-27 | 北京元心科技有限公司 | 多媒体文件的播放方法、封装方法以及相应的装置、终端 |
| CN107666620A (zh) * | 2017-09-26 | 2018-02-06 | 上海爱优威软件开发有限公司 | 一种终端系统层解码方法及系统 |
| CN108712654B (zh) * | 2018-05-18 | 2020-04-14 | 网宿科技股份有限公司 | 一种音视频流的转码方法及设备 |
-
2018
- 2018-11-29 CN CN201880098495.2A patent/CN112823529B/zh active Active
- 2018-11-29 WO PCT/CN2018/118296 patent/WO2020107353A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020064188A1 (en) * | 2000-10-10 | 2002-05-30 | Norihiko Mizobata | Data selection/storage apparatus and data processing apparatus using data selection/storage apparatus |
| CN102904857A (zh) * | 2011-07-25 | 2013-01-30 | 风网科技(北京)有限公司 | 客户端视频播放系统及其方法 |
| CN103686210A (zh) * | 2013-12-17 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 实时音视频转码方法和系统 |
| CN107801095A (zh) * | 2017-09-25 | 2018-03-13 | 平安普惠企业管理有限公司 | 一种音视频解码方法及终端设备 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115440250A (zh) * | 2022-09-06 | 2022-12-06 | 杭州登虹科技有限公司 | 一种协议音频格式的判断方法 |
| CN116206633A (zh) * | 2022-12-30 | 2023-06-02 | 深圳软牛科技有限公司 | 音频格式的转换方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112823529B (zh) | 2023-06-13 |
| CN112823529A (zh) | 2021-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12417065B2 (en) | Multi-screen collaboration method and system, and electronic device | |
| CN108702480B (zh) | 电子设备和用于驱动其显示器的方法 | |
| CN103559516B (zh) | 一种nfc数据传输方法、终端设备及服务器 | |
| CN104978176A (zh) | 应用程序接口调用方法及装置 | |
| CN112689872B (zh) | 音频检测方法、计算机可读存储介质和电子设备 | |
| TW201508533A (zh) | 關聯終端的方法及系統、終端及電腦可讀取儲存介質 | |
| CN106980643A (zh) | 变更消息的发送方法、装置及电子设备 | |
| CN112823519B (zh) | 视频解码方法、装置、电子设备、计算机可读存储介质 | |
| CN110087149A (zh) | 一种视频图像分享方法、装置及移动终端 | |
| CN113873187A (zh) | 跨终端录屏方法、终端设备及存储介质 | |
| CN110874128A (zh) | 可视化数据处理方法和电子设备 | |
| CN106326489A (zh) | 网络资源更新的方法和装置 | |
| CN107566769B (zh) | 一种视频录制方法及移动终端 | |
| WO2017215511A1 (zh) | 一种场景音效的控制方法、及相关产品 | |
| WO2017215661A1 (zh) | 一种场景音效的控制方法、及电子设备 | |
| CN110277110B (zh) | 一种网络页面的录音、播放方法、装置及终端 | |
| CN107484201B (zh) | 流量统计方法和装置、终端、计算机可读存储介质 | |
| CN111405043B (zh) | 信息处理方法、装置及电子设备 | |
| CN112823529B (zh) | 视频解码方法、装置、电子设备、计算机可读存储介质 | |
| US10136115B2 (en) | Video shooting method and apparatus | |
| CN112997507B (zh) | 音频系统控制方法、装置、终端和计算机可读存储介质 | |
| CN111124721B (zh) | 网页处理方法、装置及电子设备 | |
| CN108366167B (zh) | 一种消息提醒的方法及移动终端 | |
| CN111208966B (zh) | 显示方法及装置 | |
| CN107708092A (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: 18941224 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09.11.2021) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18941224 Country of ref document: EP Kind code of ref document: A1 |