CN111314378B - Code stream data processing method - Google Patents
Code stream data processing method Download PDFInfo
- Publication number
- CN111314378B CN111314378B CN202010193500.7A CN202010193500A CN111314378B CN 111314378 B CN111314378 B CN 111314378B CN 202010193500 A CN202010193500 A CN 202010193500A CN 111314378 B CN111314378 B CN 111314378B
- Authority
- CN
- China
- Prior art keywords
- code stream
- client
- request
- sdp
- streaming media
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present disclosure provides a code stream data processing method, which includes: after receiving a request for acquiring a streaming media address sent by a client, calling sdk to send a playing request to the hard disk video recorder; caching a code stream received from the hard disk video recorder; extracting code stream coding parameters from the cached code stream data, wherein the code stream coding parameters are contained in the generated SDP; and returning the SDP to the client according to the request of the client. The technical scheme of the present disclosure can realize that the streaming media server generates accurate SDP content to the RTSP client.
Description
Technical Field
The present disclosure relates to the field of code stream transmission technologies, and in particular, to a code stream data processing method, a readable storage medium, and a processing device for use in a video monitoring system.
Background
With the increasing demand of people for safety precaution, video monitoring systems have been widely used in various fields of social life. The video surveillance system generally includes a front-end camera, a transmission cable, and a video surveillance platform. The camera transmits Video images to a DVR (Digital Video Recorder) or NVR (Network Video Recorder) in the Video monitoring platform through a Network cable or a coaxial Video cable, and the monitoring platform distributes the Video signals to each monitor and Video equipment for display, storage and other operations.
In a video monitoring system, a client needs to call a real-time or historical audio/video code stream of a video recorder (NVR/DVR) to a streaming media server. After receiving the client request, the Streaming media server returns uri (Uniform Resource Identifier) of RTSP (Real Time Streaming Protocol) to the client. The streaming media server obtains the code stream from the hard disk video recorder of each manufacturer by calling sdk (Software Development Kit) of each recorder manufacturer, packages the code stream into rtp (Real Time Protocol) packets, and transmits the code stream between the client and the streaming media server through a standard RTSP Protocol.
In the interaction process through the RTSP Protocol, after the client sends a DESCRIBE (Session Description information acquisition) request, the server returns SDP (Session Description Protocol) content, which contains descriptions about media and sessions. However, description about media in SDP content generated by the current codestream data processing method may be erroneous, which results in failure of processing and decoding by the client after being returned to the client.
Disclosure of Invention
In order to solve or at least alleviate at least one of the above technical problems, the present disclosure provides a codestream data processing method, a readable storage medium, and a processing device, which can enable a streaming media server to generate accurate SDP content to an RTSP client.
According to one aspect of the disclosure, a code stream data processing method is used for a video monitoring system, and the code stream data processing method comprises the following steps:
after receiving a request for acquiring a streaming media address sent by a client, calling sdk to send a playing request to the hard disk video recorder;
caching the code stream received from the hard disk video recorder;
extracting code stream coding parameters from the cached code stream data, wherein the code stream coding parameters are contained in the generated SDP; and
and returning SDP to the client according to the request of the client.
According to at least one embodiment of the present disclosure, the code stream data processing method further includes:
and after the code stream coding parameters are extracted from the cached code stream data, the receiving of the code stream from the hard disk video recorder is suspended.
According to at least one embodiment of the present disclosure, the code stream data processing method further includes:
after receiving a playing request sent by the client, sending a cached code stream to the client;
continuing to receive code streams from the hard disk video recorder; and
and sending the code stream received subsequently to the client.
According to at least one embodiment of the present disclosure, the code stream data processing method further includes:
And after the code stream is paused to be received from the hard disk video recorder, if a request for acquiring the session description information or a request for establishing the session or a request for playing sent by the client is not received within a preset time interval, releasing the cached code stream.
According to at least one embodiment of the present disclosure, the returning the SDP to the client according to the request of the client includes:
after receiving a request for acquiring session description information sent by the client, judging whether the extraction of the code stream coding parameters from the cached code stream data is finished;
if the client is finished, returning SDP to the client;
and if the client does not finish extracting the code stream coding parameters from the cached code stream data, returning the SDP to the client.
According to at least one embodiment of the present disclosure, the code stream data processing method further includes:
and after receiving a request for acquiring the streaming media address sent by the client, returning the streaming media address to the client.
According to another aspect of the present disclosure, a bitstream data processing apparatus for a video surveillance system, the bitstream data processing apparatus includes:
the acquiring streaming media address request processing module is used for calling sdk to send a playing request to the hard disk video recorder after receiving the acquiring streaming media address request sent by the client;
The code stream receiving module is used for caching the code stream received from the hard disk video recorder;
the code parameter extracting module is used for extracting code stream code parameters from the cached code stream data, and the code stream code parameters are contained in the generated SDP; and
and the SDP sending module is used for returning the SDP to the client according to the request of the client.
According to at least one embodiment of the present disclosure, after the code stream encoding parameter is extracted from the cached code stream data by the encoding parameter extracting module, the code stream receiving module suspends receiving the code stream from the hard disk video recorder.
According to yet another aspect of the disclosure, a readable storage medium has stored therein execution instructions for implementing the method of any one of the preceding claims when executed by a processor.
According to still another aspect of the present disclosure, a codestream data processing apparatus, the apparatus comprising:
a memory storing execution instructions; and
a processor executing execution instructions stored by the memory to cause the processor to perform the method of any of the preceding claims.
The code stream data processing method disclosed by the invention comprises the steps of calling sdk to send a play request to the hard disk video recorder after receiving a request for acquiring a streaming media address sent by a client, firstly caching the code stream received from the hard disk video recorder, extracting code stream coding parameters from the cached code stream data to generate an SDP (service provider protocol) and returning the SDP to the client. After code stream data is cached to obtain code stream frame data, the real coding parameters of the code stream can be accurately extracted by analyzing coding information attached in the code stream data, so that the situation that the generated SDP contains wrong coding parameter information is avoided, and the problem that the client fails in decoding due to the fact that the client returns the wrong SDP to the client in the prior art is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the disclosure and together with the description serve to explain the principles of the disclosure.
Fig. 1 is a schematic flowchart of an exemplary embodiment of a codestream data processing method according to the present disclosure.
Fig. 2 is a flowchart illustrating another exemplary embodiment of the disclosed codestream data processing method.
Fig. 3 is a flowchart illustrating another exemplary embodiment of the disclosed codestream data processing method.
Fig. 4 is a flowchart of interaction between a client, a streaming media server, and a hard disk video recorder in the disclosed codestream data processing method.
Fig. 5 is a flowchart of interaction between a client, a streaming media server, and a hard disk video recorder in a method for processing streaming data in the prior art.
Fig. 6 is a schematic structural diagram of an exemplary embodiment of the codestream data processing apparatus according to the present disclosure.
Fig. 7 is a schematic structural diagram of an exemplary embodiment of the codestream data processing apparatus of the present disclosure.
Detailed Description
The present disclosure will be described in further detail with reference to the drawings and embodiments. It is to be understood that the specific embodiments described herein are for purposes of illustration only and are not to be construed as limitations of the present disclosure. It should be further noted that, for the convenience of description, only the portions relevant to the present disclosure are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
The video monitoring system is generally composed of a cluster management node, a plurality of streaming media service nodes and a plurality of monitoring points. The cluster management node is used for redirecting a video access request of a user to a corresponding streaming media service node, each streaming media service node is equivalent to a streaming media server or called a streaming media server, the streaming media service node is used for acquiring streaming media requested by the user from a corresponding monitoring point, and the streaming media service is provided for the user by the corresponding streaming media service node. The monitoring point is used for carrying out video acquisition on a monitored environment to generate streaming media, and the monitoring point can be a hard disk video recorder (NVR/DVR). And pre-establishing a corresponding relation between the monitoring point and the streaming media service node, and storing the corresponding relation into the cluster management node. One monitoring point corresponds to one streaming media service node, and one streaming media service node can correspond to one or more monitoring points. When a user (client) requests streaming media generated by a certain monitoring point, the cluster management node redirects the access request of the user to a streaming media service node uniquely corresponding to the monitoring point according to the corresponding relation, and the streaming media service node provides streaming media service for the user. The code stream is transmitted between the client and the Streaming media service node through a standard RTSP (real Time Streaming protocol) real-Time Streaming protocol.
Referring to fig. 5, a flow interaction diagram between a client, a streaming media server, and a hard disk video recorder in the prior art code stream data processing method is shown. In the interactive process of the client and the streaming media server, the client firstly sends a GetStreamUri (acquiring a streaming media address) request to the streaming media server, and after receiving the GetStreamUri request, the streaming media server quickly returns uri (Uniform Resource Identifier), namely a streaming media address, to the client; after the client receives the RTSP uri, an RTSP real-time streaming protocol interaction process is started between the client and the streaming media server. In addition, the streaming media server side also obtains an audio and video coding parameter command interface of the hard disk video recorder by calling sdk of a hard disk video recorder manufacturer, and the audio and video coding parameter command interface is used for generating an SDP and returning the SDP to the client side. That is to say, the streaming media server calls the SDK command interface of the recorder manufacturer to obtain the audio/video encoding parameters, referring to fig. 5, the streaming media server sends an SDK GetChannelCfg request to the hard disk recorder, and the hard disk recorder returns codec info (encoding parameter information) to the streaming media server. However, this method has the following problems:
1. some hard disk recorder manufacturers have inaccurate real-time audio and video coding parameter information of the recorder channel obtained by the sdk command interface.
2. Even though the sdk command can accurately acquire real-time audio and video coding parameters of a video recorder channel, a sdk command interface of a hard disk video recorder manufacturer does not support acquisition of historical audio and video coding parameters of a video file; the encoding parameters of the hard disk video recorder may be modified in the using process, and the encoding parameters in the historical video recording are not necessarily the encoding parameters of the existing hard disk video recorder. For example, if a video file one month ago is requested to be played back, only the current encoding parameters of the hard disk recorder can be obtained through the sdk command interface, the encoding parameters of the hard disk recorder one month ago cannot be obtained, and another set of audio/video encoding parameters may be set by the hard disk recorder one month ago.
In both cases, the streaming media server generates an incorrect SDP to be returned to the client, which results in a failure of the client to process decoding. Therefore, the present disclosure is directed to a video monitoring system, and in an effort to solve or at least alleviate at least one of the above technical problems, a bitstream data processing method, a readable storage medium, and a processing device for use in a video monitoring system are disclosed.
According to an aspect of the present disclosure, refer to a schematic flow chart of an exemplary implementation of the code stream data processing method of the present disclosure shown in fig. 1. A code stream data processing method is used for a video monitoring system, and comprises the following steps:
S10, after receiving the request for obtaining the stream media address sent by the client, calling sdk to send a play request to the hard disk video recorder. After receiving the request of the client, the client can be confirmed to have the requirement of initiating the request for playing back the video. In addition, the client is also returned a streaming media address.
And S20, caching the code stream received from the hard disk video recorder. The size or time of the cached data amount can be set according to the requirements of the application scenario.
And S30, extracting code stream coding parameters from the cached code stream data, wherein the code stream coding parameters are contained in the generated SDP. The method for extracting the code stream coding parameters from the cached code stream data in this step is known to those skilled in the art, and is not described herein again.
And S40, returning SDP to the client according to the request of the client.
The code stream data processing method disclosed by the invention comprises the steps of calling sdk to send a play request to the hard disk video recorder after receiving a request for acquiring a streaming media address sent by a client, firstly caching the code stream received from the hard disk video recorder, extracting code stream coding parameters from the cached code stream data to generate an SDP (service provider protocol) and returning the SDP to the client. Each frame of code stream data provided by a general hard disk video recorder manufacturer sdk is accompanied by corresponding coding parameter information, which can be directly extracted. For the condition that some hard disk video recorder manufacturer sdk code stream data is not accompanied by coding parameter information, multi-frame data can be continuously detected from the cached code stream data to see whether specific frame header information such as h264/h265/ps is contained, and then the coding type of the audio and video is analyzed and judged and key frame parameters are extracted. After the code stream data is cached to obtain the code stream frame data, the real coding parameters of the code stream can be accurately extracted by analyzing the coding information attached in the code stream data, so that the phenomenon that the generated SDP contains wrong coding parameter information, namely, the description error of media occurs is avoided, and the problem that the client fails to process decoding due to the fact that the SDP which is returned to the client is wrong in the prior art is solved.
When the method is concretely implemented, the execution main body of the code stream data processing method is a streaming media server, and a framework of a video monitoring system is formed between the streaming media server and a client and a hard disk video recorder. The streaming media server receives the request of the client and returns data to the client; in addition, the streaming media server sends a request to the hard disk video recorder and receives the code stream data returned by the hard disk video recorder. And after receiving the request of the client, the streaming media server executes the code stream data processing method and returns the code stream data processing method to the client SDP.
In an embodiment of the present disclosure, referring to a flow diagram of another exemplary embodiment of the code stream data processing method of the present disclosure shown in fig. 2, the code stream data processing method further includes:
and S31, after code stream coding parameters are extracted from the cached code stream data, the receiving of the code stream from the hard disk video recorder is suspended. During specific implementation, the streaming media server can call the SDK Pause to request the digital video recorder to Pause playing.
Since the cached code stream data needs to consume a memory or other storage resources, and the cached code stream data amount needs to be ensured to be enough for extracting correct coding parameters, the code stream caching can be suspended immediately after the code stream coding parameters are extracted, the system resources occupied by the cached code stream data are reduced, and longer caching time and data amount can be set according to specific needs.
Further, referring to a flow diagram of another exemplary embodiment of the code stream data processing method of the present disclosure shown in fig. 3, the code stream data processing method further includes:
and S50, after receiving the playing request sent by the client, sending the cached code stream to the client.
Because the code stream data processing method disclosed by the invention adopts the mode of calling sdk to fetch the stream (including command interaction, code stream data transmission and analysis), namely, fetching the code stream first and extracting the coding parameters from the code stream, more time is consumed than the mode of independently calling sdk command interfaces to directly obtain the real-time audio and video coding parameters of the hard disk video recorder channel in the prior art, but the whole outflow speed of the client cannot be slowed down. Therefore, after receiving the playing request sent by the client, the cached code stream is sent to the client. This approach compensates for the time consumed, making the overall time required comparable to that of the prior art approach, even though there is some time interval between the client issuing the GetStreamUri request and the DESCRIBE request, the scheme of the present disclosure may be faster than the outbound speed of the prior art scheme.
The reason is that the client sends a GetStreamUri request, a DESCRIBE request, a SETUP request, and a PLAY request to the streaming server in sequence during the interaction with the streaming server according to the RTSP protocol. The streaming media server starts caching the code stream data after receiving a GetStreamUri request sent by the client, and before the client sends a PLAY request to the streaming media server to fetch the stream, the streaming media server also needs to send a DESCRIBE request and a SETUP request in sequence, for example, after the client sends the GetStreamUri request, the client needs to execute other operation processing or wait for user interface interaction, and the DESCRIBE request is initiated at intervals. During the time interval, the streaming media server may perform relevant data processing from the obtained cached code stream, that is, can perform relevant processing on the cached code stream data, such as transcoding, packaging, and the like. The code stream data can be sent to the client side immediately after the Play request of the client side is received. In the prior art, after receiving the Play request from the client, the streaming media server calls the SDK Play to request the hard disk recorder to Play, and after receiving the code stream returned by the hard disk recorder, the streaming media server can package the code stream data and send the code stream data to the client.
And S60, continuously receiving the code stream from the hard disk video recorder. During specific implementation, when the transmission of the cached code stream data to the client is finished or is close to the completion of the transmission, the streaming media server calls the SDK play to request the digital video recorder to play, and continues to receive the code stream from the digital video recorder.
And S70, sending the code stream received subsequently to the client.
In an embodiment of the present disclosure, the code stream data processing method further includes:
s32, after the code stream is received from the hard disk video recorder, if the request for obtaining the session description information or the request for establishing the session or the request for playing sent by the client is not received in the preset time interval, releasing the cached code stream.
In specific implementation, the effective time of a section of cached code stream can be set, the cached code stream is effective in the effective time, and if the streaming media server does not receive any request of the client beyond the effective time, the cached code stream is cleared, and the storage space is released. The fact that the streaming media server side does not receive any request of the client side means that the client side does not send a DESCRIBE request, a SETUP request or a PLAY request to complete an rtsp code stream request process when overtime occurs.
In one embodiment of the present disclosure, returning the SDP to the client terminal according to the request of the client terminal, that is, step S40 includes:
S41, after receiving a request for acquiring session description information sent by a client, judging whether the extraction of code stream coding parameters from the cached code stream data is finished;
s42, if finished, returning SDP to the client;
and S43, if not, returning SDP to the client after waiting for the completion of extracting the code stream coding parameters from the cached code stream data.
In specific implementation, after the client sends the GetStreamUri request to the streaming media server, the streaming media server will quickly return uri (streaming media address) to the client, and after receiving the returned streaming media address, the client needs to send a DESCRIBE request to the streaming media server. If the time interval between the two requests is short, the extraction of the coding parameters may not be completed, and at this time, the SDP can be generated only after the coding parameters are extracted.
Referring to fig. 4, a flow interaction diagram among a client, a streaming media server, and a hard disk video recorder in the disclosed code stream data processing method is shown, where the following is an exemplary embodiment:
d1, the client side sends a request to the streaming media server side to play back the video; after receiving the request, the streaming media server calls sdk to request the hard disk video recorder to play back the video and fetch the stream; and the streaming media server quickly returns uri to the client.
D2, the streaming media server receives the code stream of the hard disk video recorder, and caches the received code stream; extracting code stream coding parameters from the code stream data; after the coding parameters are extracted, the streaming media server side immediately suspends sdk stream fetching, so that the phenomenon that excessive cache occupies a memory is avoided; and setting the effective time of the cached code stream, and clearing the cached code stream to release the cache when the effective time is exceeded and no client request rtsp exists.
D3, after receiving the uri returned by the streaming media server, the client sends a DESCRIBE request to the streaming media server; if the extraction of the coding parameters is finished at the moment, the streaming media server side immediately returns the SDP to the client side; if the extraction of the coding parameters is not completed, the client needs to wait, and the streaming media service returns to the SDP after the extraction of the coding parameters is completed.
D4, SETUP request and PLAY request interaction between the client and the streaming media server. This step is conventional and follows the RTSP standard protocol.
D5, the streaming media server sends the code stream to the client; firstly, sending a code stream cached before; the streaming media server calls Sdk Play to continue to receive the stream from the hard disk video recorder; and sending the code stream received subsequently to the client.
D6, the client, the streaming media server and the hard disk video recorder control the normal playback and end the playback according to the RTSP standard protocol.
According to another aspect of the present disclosure, referring to a schematic structural diagram of an exemplary embodiment of a bitstream data processing apparatus of the present disclosure shown in fig. 6, there is provided a bitstream data processing apparatus for a video surveillance system, the bitstream data processing apparatus including:
the acquiring streaming media address request processing module 100 is configured to call sdk to send a play request to the hard disk recorder after receiving a request for acquiring a streaming media address sent by a client;
a code stream receiving module 200, configured to cache a code stream received from the hard disk video recorder;
a code parameter extracting module 300, configured to extract a code stream code parameter from the cached code stream data, where the code stream code parameter is included in the generated SDP; and
and an SDP sending module 400, configured to return an SDP to the client according to the request of the client.
When the method is specifically implemented, the code stream data processing device can be realized through a streaming media server, has the advantages of the code stream data processing method, and solves the problem that the client fails to process decoding due to the fact that the SDP is returned to the client in an error mode in the prior art.
Furthermore, after the code stream coding parameters are extracted from the cached code stream data by the coding parameter extraction module, the code stream receiving module suspends the reception of the code stream from the hard disk video recorder. The system resources occupied by the cached code stream data can be reduced, and the system performance is improved.
The present disclosure also provides a code stream data processing device, as shown in fig. 7, which is a schematic structural diagram of an exemplary embodiment of the code stream data processing device of the present disclosure, and the device includes: a communication interface 1000, a memory 2000, and a processor 3000. The communication interface 1000 is used for communicating with an external device to perform data interactive transmission. The memory 2000 has stored therein a computer program that is executable on the processor 3000. The processor 3000 implements the method in the above-described embodiments when executing the computer program. The number of the memory 2000 and the processor 3000 may be one or more.
The memory 2000 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
If the communication interface 1000, the memory 2000 and the processor 3000 are implemented independently, the communication interface 1000, the memory 2000 and the processor 3000 may be connected to each other through a bus to complete communication therebetween. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not represent only one bus or one type of bus.
Optionally, in a specific implementation, if the communication interface 1000, the memory 2000, and the processor 3000 are integrated on a chip, the communication interface 1000, the memory 2000, and the processor 3000 may complete communication with each other through an internal interface.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and the scope of the preferred embodiments of the present disclosure includes other implementations in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the implementations of the present disclosure. The processor performs the various methods and processes described above. For example, method embodiments in the present disclosure may be implemented as a software program tangibly embodied in a machine-readable medium, such as a memory. In some embodiments, some or all of the software program may be loaded and/or installed via memory and/or a communication interface. When the software program is loaded into memory and executed by a processor, one or more steps of the method described above may be performed. Alternatively, in other embodiments, the processor may be configured to perform one of the methods described above by any other suitable means (e.g., by means of firmware).
The logic and/or steps represented in the flowcharts or otherwise described herein may be embodied in any readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
For the purposes of this description, a "readable storage medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the readable storage medium include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable read-only memory (CDROM). In addition, the readable storage medium may even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in the memory.
It should be understood that portions of the present disclosure may be implemented in hardware, software, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on data information, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps of the method implementing the above embodiments may be implemented by hardware instructions associated with a program, which may be stored in a readable storage medium, and when executed, includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in the embodiments of the present disclosure may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a separate product, may also be stored in a readable storage medium. The storage medium may be a read-only memory, a magnetic or optical disk, or the like.
In the description herein, reference to the description of the terms "one embodiment/mode," "some embodiments/modes," "example," "specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment/mode or example is included in at least one embodiment/mode or example of the application. In this specification, the schematic representations of the terms used above are not necessarily intended to be the same embodiment/mode or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments/modes or examples. Furthermore, the various embodiments/aspects or examples and features of the various embodiments/aspects or examples described in this specification can be combined and combined by one skilled in the art without conflicting therewith.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
It will be understood by those skilled in the art that the foregoing embodiments are merely for clarity of illustration of the disclosure and are not intended to limit the scope of the disclosure. Other variations or modifications may occur to those skilled in the art, based on the foregoing disclosure, and are still within the scope of the present disclosure.
Claims (9)
1. A code stream data processing method is used for a video monitoring system and is characterized by comprising the following steps:
after receiving a request for acquiring a streaming media address sent by a client, calling sdk to send a playing request to the hard disk video recorder;
caching the code stream received from the hard disk video recorder;
extracting code stream coding parameters from the cached code stream data, wherein the code stream coding parameters are contained in the generated SDP; and
returning SDP to the client according to the request of the client;
the returning of the SDP to the client according to the request of the client includes:
after receiving a request for acquiring session description information sent by the client, judging whether the extraction of the code stream coding parameters from the cached code stream data is finished;
if the client is finished, returning SDP to the client;
And if not, returning the SDP to the client after waiting for the completion of extracting the code stream coding parameters from the cached code stream data.
2. The codestream data processing method of claim 1, further comprising:
and after the code stream coding parameters are extracted from the cached code stream data, the receiving of the code stream from the hard disk video recorder is suspended.
3. The codestream data processing method according to claim 2, further comprising:
after receiving a playing request sent by the client, sending a cached code stream to the client;
continuing to receive code streams from the hard disk video recorder; and
and sending the code stream received subsequently to the client.
4. The codestream data processing method according to claim 2, further comprising:
and after the code stream is paused to be received from the hard disk video recorder, if a request for acquiring the session description information or a request for establishing the session or a request for playing sent by the client is not received within a preset time interval, releasing the cached code stream.
5. The codestream data processing method according to any one of claims 1 to 4, further comprising:
And after receiving a request for acquiring the streaming media address sent by the client, returning the streaming media address to the client.
6. A code stream data processing device is used for a video monitoring system, and is characterized by comprising:
the acquiring streaming media address request processing module is used for calling sdk to send a playing request to the hard disk video recorder after receiving the acquiring streaming media address request sent by the client;
the code stream receiving module is used for caching the code stream received from the hard disk video recorder;
the code parameter extracting module is used for extracting code stream code parameters from the cached code stream data, and the code stream code parameters are contained in the generated SDP; and
the SDP sending module is used for returning the SDP to the client according to the request of the client;
the SDP sending module is specifically configured to:
after receiving a request for acquiring session description information sent by the client, judging whether the extraction of the code stream coding parameters from the cached code stream data is finished;
if the client is finished, returning SDP to the client;
and if not, returning the SDP to the client after waiting for the completion of extracting the code stream coding parameters from the cached code stream data.
7. The stream data processing apparatus according to claim 6, wherein the stream receiving module suspends receiving the stream from the hard disk recorder after the code stream encoding parameter is extracted from the cached stream data by the encoding parameter extracting module.
8. A readable storage medium having stored thereon execution instructions for execution by a processor to implement the method of any one of claims 1 to 5.
9. A codestream data processing apparatus, characterized in that the apparatus comprises:
a memory storing execution instructions; and
a processor executing execution instructions stored by the memory to cause the processor to perform the method of any of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193500.7A CN111314378B (en) | 2020-03-18 | 2020-03-18 | Code stream data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193500.7A CN111314378B (en) | 2020-03-18 | 2020-03-18 | Code stream data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314378A CN111314378A (en) | 2020-06-19 |
CN111314378B true CN111314378B (en) | 2022-07-29 |
Family
ID=71147956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010193500.7A Active CN111314378B (en) | 2020-03-18 | 2020-03-18 | Code stream data processing method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314378B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008125054A1 (en) * | 2007-04-13 | 2008-10-23 | Huawei Technologies Co., Ltd. | A method, system and apparatus for switching between channels belonging to multi-media stream |
WO2011000151A1 (en) * | 2009-06-30 | 2011-01-06 | 华为技术有限公司 | Method and the corresponding apparatus for realizing internet protocol television channel services |
CN102065339A (en) * | 2010-11-09 | 2011-05-18 | 中国电信股份有限公司 | Method and system for playing audio and video media stream |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496678B2 (en) * | 2005-05-11 | 2009-02-24 | Netapp, Inc. | Method and system for unified caching of media content |
CN101309393B (en) * | 2007-05-17 | 2010-06-23 | 中兴通讯股份有限公司 | Method and system for inter-cut video monitoring in interactive network television |
CN101505298B (en) * | 2009-02-09 | 2012-09-26 | 中兴通讯股份有限公司 | Storing and obtaining method for media time shift code stream and multimedia service system |
CN101924944B (en) * | 2009-06-15 | 2013-06-05 | 华为技术有限公司 | Selection method and information providing method and devices of scalable video coding operating point |
CN101778295B (en) * | 2009-12-25 | 2012-11-14 | 中兴通讯股份有限公司 | Video monitor system and method for forward correcting thereof |
CN101873475B (en) * | 2010-01-07 | 2012-09-05 | 杭州海康威视数字技术股份有限公司 | Control command sending method, data transmission method, monitoring system and device |
CN102014284B (en) * | 2010-12-10 | 2014-09-10 | 中兴通讯股份有限公司 | Method, system and device for acquiring parameter set value of video code stream in transcoding business |
KR102540459B1 (en) * | 2016-12-22 | 2023-06-05 | 한화비전 주식회사 | Method and Device for media streaming between server and client using RTP/RTSP standard protocol |
CN109274634B (en) * | 2017-07-18 | 2021-06-11 | 腾讯科技(深圳)有限公司 | Multimedia communication method and device, and storage medium |
CN109862400B (en) * | 2019-02-18 | 2021-08-31 | 苏州长风航空电子有限公司 | Streaming media transmission method, device and system |
-
2020
- 2020-03-18 CN CN202010193500.7A patent/CN111314378B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008125054A1 (en) * | 2007-04-13 | 2008-10-23 | Huawei Technologies Co., Ltd. | A method, system and apparatus for switching between channels belonging to multi-media stream |
WO2011000151A1 (en) * | 2009-06-30 | 2011-01-06 | 华为技术有限公司 | Method and the corresponding apparatus for realizing internet protocol television channel services |
CN102065339A (en) * | 2010-11-09 | 2011-05-18 | 中国电信股份有限公司 | Method and system for playing audio and video media stream |
Also Published As
Publication number | Publication date |
---|---|
CN111314378A (en) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11412021B2 (en) | Method and device for media streaming between server and client using RTP/RTSP standard protocol | |
US9584870B2 (en) | Content locating method and content delivery network node | |
CN111010614A (en) | Method, device, server and medium for displaying live caption | |
US8005973B2 (en) | Method and system for playing video on a mobile device | |
RU2454806C2 (en) | Method, device and system to notify about events of real-time streaming protocol | |
CN112738140A (en) | Video stream transmission method, device, storage medium and equipment based on WebRTC | |
EP4060955A1 (en) | Security method, apparatus and system easy to access by user | |
CN101754002B (en) | Video monitoring system and realization method for dual-stream monitoring front end thereof | |
US11523163B2 (en) | Dynamic playlist customization by adaptive streaming client | |
CN104219479A (en) | Video communication service processing method and system | |
CN113973214A (en) | Video stream format conversion method, device and storage medium | |
CN109729318B (en) | Video data playback processing method, video data playback processing device, computer equipment and storage medium | |
CN113301388B (en) | Video stream processing system, equipment and method | |
EP2405649B1 (en) | Method and terminal for synchronously recording sounds and images of opposite ends based on circuit domain video telephone | |
CN111314378B (en) | Code stream data processing method | |
CN112601114B (en) | GB28181 on-demand stream pulling realization method based on hook callback | |
CN106713846B (en) | Live connection establishing method and device | |
CN113141480A (en) | Screen recording method, device, equipment and storage medium | |
CN106358008B (en) | Method for avoiding repeated call access and conference television terminal equipment | |
CN111314654B (en) | Implementation method of high-definition playing technology based on android vehicle-mounted monitoring | |
KR100834295B1 (en) | Method for converting image in real time | |
US20220329903A1 (en) | Media content distribution and playback | |
WO2024198454A1 (en) | Method for determining video lagging, and electronic device and storage medium | |
CN118118624A (en) | Signaling server, streaming media system and media stream control method | |
CN116266858A (en) | Audio and video recording method, device, equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |