CN114363662A - Plug flow method, device, terminal and storage medium - Google Patents

Plug flow method, device, terminal and storage medium Download PDF

Info

Publication number
CN114363662A
CN114363662A CN202210015842.9A CN202210015842A CN114363662A CN 114363662 A CN114363662 A CN 114363662A CN 202210015842 A CN202210015842 A CN 202210015842A CN 114363662 A CN114363662 A CN 114363662A
Authority
CN
China
Prior art keywords
coding type
video data
rtmp
video
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210015842.9A
Other languages
Chinese (zh)
Inventor
马志友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kandao Technology Co Ltd
Original Assignee
Kandao Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kandao Technology Co Ltd filed Critical Kandao Technology Co Ltd
Priority to CN202210015842.9A priority Critical patent/CN114363662A/en
Publication of CN114363662A publication Critical patent/CN114363662A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a plug flow method, which comprises the following steps: setting a video coding type identification (videocode) based on a video coding type, wherein the video coding type at least comprises an H265 coding type or an H264 coding type; forming FLV FILE BODY by using a structure in which the preset virobecid, the previousTagSize, the NextTagHeader and the NextTagData are sequentially and circularly arranged; FLV FILE HEADER is formed using Signature, Version, Flags, and DataOffset; the FLV FILE BODY and the corresponding FLV FILE HEADER complete data encapsulation of the first video data of the H265 coding type or the H264 coding type; and performing plug flow operation on the packaged second video data.

Description

Plug flow method, device, terminal and storage medium
Technical Field
The present invention relates to the field of stream pushing, and in particular, to a stream pushing method, an apparatus, a terminal, and a storage medium.
Background
In recent years, higher demands have been made on the plug-flow technology due to the spread of high-definition and high-quality video. In the prior art, the RTMP stream pushing is limited to the video coding type of the stream pushing, and the stream pushing of more than 4K, such as 6K or 8K or even 12K, cannot be realized.
Therefore, it is necessary to provide a stream pushing method based on the RTMP-H265 stream pushing protocol to solve the above technical problems.
Disclosure of Invention
The invention mainly aims to provide a stream pushing method, a stream pushing device, a terminal and a computer readable storage medium, and aims to solve the problem that high-definition and high-image-quality video data stream pushing cannot be realized in the prior art.
In order to achieve the above object, the present invention provides a stream pushing method based on an RTMP-H265 stream pushing protocol, where the stream pushing method is applied to an RTMP stream pushing terminal, and the stream pushing method includes:
setting a video coding type identification (videocode) based on a video coding type, wherein the video coding type at least comprises an H265 coding type or an H264 coding type;
forming FLV FILE BODY by using the set videocordecid, and a structure in which PreviousTagSize, NextTagHeader and NextTagData are sequentially and circularly arranged;
FLV FILE HEADER is formed using Signature, Version, Flags, and DataOffset;
the FLV FILE BODY and the corresponding FLV FILE HEADER complete data encapsulation of the first video data of the H265 coding type or the H264 coding type;
and performing plug flow operation on the packaged second video data.
Optionally, the setting of the video coding type identification videocodeid based on the video coding type includes:
and setting the preset position corresponding to the videocodecid or the random position in the preset area corresponding to the videocodecid as a video coding identification character 7 or 12.
Optionally, the setting of the video coding type identification videocodeid based on the video coding type includes:
determining a setting position of the videocordecid based on preset storage path information; the preset storage path information comprises storage hierarchy information and/or bit sequence information of the videocordecid; the setting position comprises one or more;
and setting the videocodecid based on the setting position and the video coding type.
Optionally, the preset storage path information is storage hierarchy information of the videocordecid; the storage level information at least comprises a first preset storage level and a first preset sub-storage level attached to the first preset storage level; the determining the setting position of the videocordecid based on the preset storage path information includes:
searching a first level position corresponding to the first preset storage level;
searching a first sub-level position corresponding to the first preset sub-storage level under the first level position;
and determining a setting position of a video coding type identifier (Videocodecid) based on the first sub-hierarchy position.
Optionally, the preset storage path information is storage hierarchy information of the videocordecid; the storage level information at least comprises a second preset storage level to an nth preset storage level which are sequentially arranged, wherein n is more than 2; the determining the setting position of the videocordecid based on the preset storage path information includes:
sequentially searching and traversing each preset storage level position from the second preset storage level in sequence until determining the nth level position corresponding to the nth preset storage level;
and determining the setting position of the video coding type identification videocodecid based on the nth level position.
Optionally, the stream pushing method is applied to a stream pushing system, where the stream pushing system at least includes an RTMP stream pushing end, an RTMP stream server, and an RTMP player; the plug flow method comprises the following steps:
the RTMP stream pushing end executes the step of the stream pushing method, wherein when the RTMP stream pushing end executes the step of performing stream pushing operation on the encapsulated second video data, the RTMP stream pushing end pushes the second video data to the RTMP stream server;
the RTMP streaming server receives second video data pushed by the RTMP stream pushing end and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP streaming server judges that the second video data is of an H265 coding type;
if the videocordid character in the second video data is 7, the RTMP streaming server judges that the second video data is of an H264 coding type;
the RTMP streaming server sends the second video data to the RTMP player;
the RTMP player receives second video data sent by the RTMP streaming server and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP player decodes and plays the second video data by using an H265 decoder;
and if the videocordid character in the second video data is 7, the RTMP player decodes and plays the second video data by using an H264 decoder.
Optionally, the receiving, by the RTMP player, the second video data sent by the RTMP streaming server, and extracting the videocordid character in the second video data includes:
the RTMP player receives second video data sent by the RTMP streaming server, and extracts a videocordid character in the second video data from a plurality of videocordid setting positions;
the steps that the RTMP player receives the second video data sent by the RTMP streaming server and extracts the videocordid characters in the second video data comprise the following steps:
comparing and checking the videocordid characters in the preset positions;
and if the comparison check results are not consistent, returning check result information of the check error to the RTMP streaming server.
In order to achieve the above object, the present invention further provides a flow pushing device, including:
the video coding device comprises a video coding type setting module, a video coding type identification vi and a video coding type identification setting module, wherein the video coding type at least comprises an H265 coding type or an H264 coding type;
the first forming module is used for forming FLV FILE BODY by utilizing the set structures of the videocordecid, the previousTagSize, the NextTagHeader and the NextTagData which are sequentially and circularly arranged;
a second forming module for forming FLV FILE HEADER using Signature, Version, Flags, and DataOffset;
the data encapsulation module is used for encapsulating the FLV FILE BODY and the corresponding FLV FILE HE ADER data of the first video data of the H265 coding type or the H264 coding type;
and the stream pushing module is used for carrying out stream pushing operation on the packaged second video data.
In addition, in order to achieve the above object, the present invention further provides a plug flow terminal, which includes a processor and a memory, where the memory stores a plug flow program, and the plug flow program, when executed by the processor, implements the steps of the plug flow method as described above.
In addition, to achieve the above object, the present invention further provides a computer readable storage medium having a plug flow program stored thereon, where the plug flow program, when executed by a processor, implements the steps of the plug flow method as described above.
Compared with the prior art, the stream pushing method, the device, the terminal and the computer readable storage medium provided by the invention have the advantages that video encoding type identification video ocodec is set based on the video encoding type, wherein the video encoding type at least comprises an H265 encoding type or an H264 encoding type, then FLV FILE BODY is formed by using the set video ocodec and a structure in which PreviousTagSize, NextTagH eader and NextTagData are sequentially and circularly arranged, then FLV FILE HEADER is formed by using Signature, Version, tags and Datafset, the FLV FILE BODY and the corresponding FLV FILE HEADER are used for completing data encapsulation of first video data of the H265 encoding type or the H264 encoding type, and finally the encapsulated second video data is subjected to stream pushing operation, so that video data of the video encoding type of the RTMP stream pushing H265 is used, thereby realizing stream pushing of high-definition video data with the definition of more than 4k, and meeting the requirements of higher-definition video data stream pushing, has wider application prospect. .
Drawings
FIG. 1 is a system diagram of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart diagram illustrating an embodiment of a plug flow method according to the present invention;
FIG. 3 is a diagram of the general structure of FLV encapsulated video data according to the present invention;
FIG. 4 is a diagram illustrating exemplary FLV FILE BODY data according to an embodiment of the present invention;
FIG. 5 is a diagram illustrating FLV FILE HEADER exemplary data in accordance with an embodiment of the present invention;
FIG. 6 is a schematic flow chart diagram illustrating another exemplary plug-flow method of the present invention;
FIG. 7 is a schematic flow chart diagram illustrating another exemplary plug-flow method of the present invention;
fig. 8 is a schematic flow chart of another embodiment of the plug flow method of the present invention.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the prior art, the RTMP stream pushing is limited to the video coding type of the stream pushing, and the stream pushing of more than 4K, such as 6K or 8K or even 12K, cannot be realized.
In order to solve the technical problem, the present invention provides a stream pushing method, in which a video coding type identifier is set based on a video coding type, wherein the video coding type at least includes an H265 coding type or an H264 coding type, then an FLV FILE BODY is formed by using the set video coding type and a structure in which previousstagsize, NextTagHeader, and nexttagbata are sequentially and circularly arranged, then FLV FILE HEADER is formed by using Signature, Version, Flags, and DataOffset, the FLV FILE BODY and a corresponding FLV FILE HEADER complete data encapsulation of first video data of the H265 coding type or the H264 coding type, and finally a stream pushing operation is performed on the encapsulated second video data, so that video data of the video coding type using the RTMP stream pushing H265 is realized, and further image quality and high video data streaming of more than 4k are realized.
As shown in fig. 1, fig. 1 is a system structural diagram of a hardware operating environment according to an embodiment of the present invention.
The terminal in the embodiment of the present invention may be a terminal device with computing capability, or a PC, or a mobile terminal device with display function such as a smart phone, a tablet computer, an electronic book reader, an MP3(Moving Picture Experts Group Audio Layer III, motion Picture Experts compression standard Audio Layer 3) player, an MP4(Moving Picture Experts Group Audio Layer IV, motion Picture Experts compression standard Audio Layer 4) player, a portable computer, and the like.
As shown in fig. 1, the terminal may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Optionally, the terminal may further include a camera, a Radio Frequency (RF) circuit, a sensor, an audio circuit, a WiFi module, and the like. Such as light sensors, motion sensors, and other sensors. Specifically, the light sensor may include an ambient light sensor that may adjust the brightness of the display screen according to the brightness of ambient light, and a proximity sensor that may turn off the display screen and/or the backlight when the mobile terminal is moved to the ear. As one of the motion sensors, the gravity acceleration sensor can detect the magnitude of acceleration in each direction (generally, three axes), detect the magnitude and direction of gravity when the mobile terminal is stationary, and can be used for applications (such as horizontal and vertical screen switching, related games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer and tapping) and the like for recognizing the attitude of the mobile terminal; of course, the mobile terminal may also be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which are not described herein again.
Those skilled in the art will appreciate that the terminal structure shown in fig. 1 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, a memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a plug flow program.
In the terminal shown in fig. 1, the network interface 1004 is mainly used for connecting to a backend server and performing data communication with the backend server; the user interface 1003 is mainly used for connecting a client (user side) and performing data communication with the client; and the processor 1001 may be configured to call the plug flow program stored in the memory 1005 and perform the following operations:
setting a video coding type identification (videocode) based on a video coding type, wherein the video coding type at least comprises an H265 coding type or an H264 coding type;
forming FLV FILE BODY by using the set videocordecid, and a structure in which PreviousTagSize, NextTagHeader and NextTagData are sequentially and circularly arranged;
FLV FILE HEADER is formed using Signature, Version, Flags, and DataOffset;
the FLV FILE BODY and the corresponding FLV FILE HEADER complete data encapsulation of the first video data of the H265 coding type or the H264 coding type;
and performing plug flow operation on the packaged second video data.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and also perform the following operations:
and setting the preset position corresponding to the videocodecid or the random position in the preset area corresponding to the videocodecid as a video coding identification character 7 or 12.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and also perform the following operations:
determining a setting position of the videocordecid based on preset storage path information; the preset storage path information comprises storage hierarchy information and/or bit sequence information of the videocordecid; the setting position comprises one or more;
and setting the videocodecid based on the setting position and the video coding type.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and also perform the following operations:
searching a first level position corresponding to the first preset storage level;
searching a first sub-level position corresponding to the first preset sub-storage level under the first level position;
and determining a setting position of a video coding type identifier (Videocodecid) based on the first sub-hierarchy position.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and further perform the following operations:
sequentially searching and traversing each preset storage level position from the second preset storage level in sequence until determining the nth level position corresponding to the nth preset storage level;
and determining the setting position of the video coding type identification videocodecid based on the nth level position.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and also perform the following operations:
the RTMP stream pushing end executes the step of the stream pushing method, wherein when the RTMP stream pushing end executes the step of performing stream pushing operation on the encapsulated second video data, the RTMP stream pushing end pushes the second video data to the RTMP stream server;
the RTMP streaming server receives second video data pushed by the RTMP stream pushing end and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP streaming server judges that the second video data is of an H265 coding type;
if the videocordid character in the second video data is 7, the RTMP streaming server judges that the second video data is of an H264 coding type;
the RTMP streaming server sends the second video data to the RTMP player;
the RTMP player receives second video data sent by the RTMP streaming server and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP player decodes and plays the second video data by using an H265 decoder;
and if the videocordid character in the second video data is 7, the RTMP player decodes and plays the second video data by using an H264 decoder.
Further, the processor 1001 may call a plug flow program stored in the memory 1005, and further perform the following operations:
the RTMP player receives second video data sent by the RTMP streaming server, and extracts a videocordid character in the second video data from a plurality of videocordid setting positions;
the steps that the RTMP player receives the second video data sent by the RTMP streaming server and extracts the videocordid characters in the second video data comprise the following steps:
comparing and checking the videocordid characters in the preset positions;
and if the comparison check results are not consistent, returning check result information of the check error to the RTMP streaming server.
Referring to fig. 2, fig. 2 is a flow chart of an embodiment of the plug flow method of the present invention,
the stream pushing method of the invention is based on RTMP-H265 stream pushing protocol, and in the general prior art, the video coding format of the general RTMP stream pushing is H264. The present invention proposes an RTMP-H265 stream pushing method, which is different in that stream pushing can be performed in H265 video format. The RTMP-H265 push protocol was developed based on the conventional RTMP push protocol. The RTMP protocol is based on the TCP protocol, and encapsulation of video data based on the FLV format is used in the plug flow of the RTMP protocol. The stream pushing method of the embodiment can be applied to an RTMP stream pushing end. In some embodiments, the plug flow method of the present invention comprises the steps of:
step S10, setting a video coding type identifier (videocoding id) based on the video coding type, wherein the video coding type at least includes an H265 coding type or an H264 coding type.
The video coding type identification videocode in the embodiment of the present invention is used to identify a video coding type, which includes, but is not limited to, an H265 coding type and an H264 coding type. Wherein, the H265 coding type corresponds to the video coding type identification character 12, and the H264 coding type corresponds to the video coding type character 7. Setting the video coding type identifier, i.e., setting the value of the storage location or the setting location corresponding to the video coding type to be the character 12 or the character 7 according to the actual coding type of the video data to be streamed. The Videoccocid is generally set in the FLV meta-information metadata, which is some information describing various types of attributes of the FLV file. This information is stored in the AMF format in the beginning of the file. The FLV meta information may include: audiochannels, audiochips, audiodates, audiovideos, and widths.
Step S20, forming FLVFILEBODY by the set structures of the videocordecid, Previous TagSize, Nex tTagHeader and NextTagData which are sequentially circularly arranged;
the videoid of the present invention is set in a specific position or a random position in a specific area in flvfilebdody. The set completion of the videoid means that the setting is completed in flvfilebdody.
As shown in fig. 3, fig. 3 is a schematic diagram of a general structure of FLV-encapsulated video data. The FLV-encapsulated video data consists of two parts, FLV FILE BODY and FLV FILE HEADER. Wherein, the FLV FIL E BODY is composed of Previous Tag size and Tag circulation, and the Tag can be divided into Tag header and Tag data, therefore, the FLV FILE BODY is formed by the circulation structure of the following structure: prev _ tag _ size + NextTagHeader + NextTagData | prev _ tag _ size + NextTagHeader + NextTagData | prev _ tag _ size + NextTagHeader + NextTagData | … …. Wherein, the size of prev _ Tag _ size is 4 bytes, the size of the previous Tag header + Tag data is marked, the first Tag has no corresponding data before, so four bytes are 0, and here four bytes are big endian; the size of the NextTagHeader is generally 11 bytes, and tag types, time stamps, data sizes and the like are contained in the NextTagHeader; NextTagData is the real data, i.e., the naked data of the NALU of H264 or H265 (i.e., the start code is removed).
As shown in fig. 4, fig. 4 is a diagram illustrating specific data of FLV FILE BODY in an embodiment of the present invention. In some embodiments, the FLV FILE BODY is made up of a series of back-pointers (shown as part of block 4 in FIG. 4) and Tag. Wherein, back-pointers, i.e. prev _ tag _ size as described above, has a size of 4 bytes and is used to indicate the size of the previous tag. Tag consists of the following parts: tag type (shown as block 5 in FIG. 4), tag data size (shown as block 6 in FIG. 4), TimestampsExtended (shown as block 1 in FIG. 4), streamid (shown as block 2 in FIG. 4), and tag data (shown as block 7 in FIG. 4). Wherein, the size of tag type is 1 byte, which is used to identify tag type, the value is set as character 8 to represent Audio, the value is set as character 9 to represent Video, and the value is set as character 18 to represent scripts. the size of the tag data size is 3 bytes, and is used for indicating the length of the tag data. Timestamps is a time stamp with a size of 3 bytes, a Timestamps extended time stamp extension field with an extension of 1 byte, plus the original 3 bytes for 4 bytes. streamid is 3 bytes in total and is always set to 0. In addition, a portion shown in block 3 in fig. 4 represents a front header portion.
Step S30, forming FLV FILE HEADER using Signature, Version, Flags, and DataOffset;
as shown in fig. 5, fig. 5 is a diagram illustrating FLV FILE HEADER specific data according to an embodiment of the invention. In some embodiments FLV FILE HEADER are formed from Signature (part shown in block 1 in FIG. 5), Version (part shown in block 2 in FIG. 5), Flags (part shown in block 3 in FIG. 5), and DataOffset (part shown in block 4 in FIG. 5). Wherein, the size of Signature is 3 bytes, fixed characters are set for marking FLV, and when three characters at the head of FLV FILE HEADER are identified as FLV, the video data is determined to be an FLV file. Version has a size of 1 byte and is used to indicate the Version number of FLV. Flags are 1 byte in size and serve as a content flag, and the 0 th bit and the second bit indicate the presence of video and audio, respectively (1 indicates presence, and 0 indicates absence). The correspondence in fig. 5 is 0x05, i.e. 00000101, representing both video and audio. The DataOffset has a size of 4 bytes, represents FLV FILE HEADER length, and has a fixed length of 9.
Step S40, data package of the FLV FILE BODY and the corresponding FLV FILE HEADER complete first video data of the H265 coding type or the H264 coding type.
Based on the above steps, after FLV FILE HEADER and the corresponding FLV FILE BODY are formed, the obtained FLV FILE HEADER and the corresponding FLV FILE BODY may be used to package the first video data to be pushed, and the second video data is obtained after the package. The first video data to be pushed may be video data of an H265 coding type or video data of an H264 coding type.
Step S50, performing a plug flow operation on the packaged second video data.
And after the packaged second video data is obtained, performing stream pushing operation on the second video data. Specifically, the RTMP streaming end may push the encapsulated second video data to the RTMP streaming server, and then the RTMP streaming server pushes the second video data to the playing end for playing.
The stream pushing method is applied to an RTMP stream pushing end, and sets video coding type identification videocoded id based on video coding types, wherein the video coding types at least comprise H265 coding types or H264 coding types; forming an FLV FILE B ODY by using the set videocordecid, and a structure in which Previous TagSize, NextTagHeader and NextTagData are sequentially and circularly arranged; FLV FILE HEA DER is formed using Signature, Version, Flags, and DataOffset; the FLV FILE BODY and the corresponding FLVFILEHEADER complete data encapsulation of the first video data of the H265 coding type or the H264 coding type; and performing plug flow operation on the packaged second video data. Through the mode, compared with the prior art, the method has the advantages that video data of a video coding type of RTMP plug flow H265 can be utilized, high-definition and high-image-quality video data plug flow of more than 4k can be further achieved, the requirement of higher-definition video data plug flow is met, and the method has a wider application prospect.
In some embodiments, step S10 includes:
step S11, setting the preset position corresponding to the videocode id or the random position in the preset area corresponding to the videocode id as a video code identification character 7 or 12.
As shown in fig. 6, fig. 6 is a schematic flow chart of another embodiment of the plug-flow method of the present invention. In some embodiments, a setting position of the videoid, that is, a preset position, may be set in advance, and specifically, as shown in fig. 4, the position shown in block 9 may be set as a fixed position for setting the videoid as the preset position. When the step of setting the videocodecid is performed before the stream is pushed, the value of the preset position is set to 7 (the video coding type is the H264 coding type) or 12 (the video coding type is the H265 coding type) based on the video coding type of the video data to be pushed. And then after subsequent stream pushing, the receiving end reads the videocode character from the preset position, and judges that the received video data is H265 video coded data or H264 video coded data based on the videocode character read from the preset position.
In some embodiments, a setting area of the videoid, that is, a preset area, may be set in advance, where there are a plurality of positions in the preset area where the videoid can be set. When the step of setting the videoid is performed before the stream is pushed, a random position within a preset area may be determined based on a random algorithm to set the videoid, and then a position identifier of the videoid is added. And then, after subsequent stream pushing, the receiving end reads the videocordid character from the corresponding position based on the position identification. Specifically, as shown in fig. 4, the area shown in block 8 may be set as an area for setting the videoid, which is a preset area, and in setting the videoid, one or more random positions may be randomly determined from the area shown in block 8 based on a random algorithm to set the videoid.
It should be noted that each of the blocks 8 and 9 shown in fig. 4 is only used to illustrate a preset position or a preset area, and only plays a role of explanation, and does not limit the position of the preset position or the preset area, nor does it necessarily correspond to an actual position or area where the videocordid is set.
In the stream pushing method, the preset position corresponding to the videocodecid or the random position in the preset area corresponding to the videocodecid is set as the video coding identification character 7 or 12, so that the videocodecid can be prevented from being modified after subsequent stream pushing, the stability of data is improved, and the stream pushing identification and reading are facilitated.
As shown in fig. 7, fig. 7 is a schematic flow chart of another embodiment of the plug-flow method of the present invention. In some embodiments, step S10 includes:
step S12, determining the setting position of the videoid based on the preset storage path information; the preset storage path information comprises storage hierarchy information and/or bit sequence information of the videocordecid; the setting position includes one or more.
The preset storage path information refers to path information set in advance about a storage location of a videoid character. The preset storage path information includes storage hierarchy information of the videocodecid. The bit sequence information refers to information such as a specific position or a position number. Specifically, in some embodiments, the preset storage path information is storage hierarchy information of the videocordecid; the storage level information at least comprises a first preset storage level and a first preset sub-storage level attached to the first preset storage level. All data storage locations may be divided in advance into a plurality of parallel first-tier storage tiers, and the first preset storage tier refers to which storage tier among the parallel first-tier storage tiers the locations at which the videos are stored. Under each first-level storage level, a second-level storage level, i.e., a sub-storage level of the first-level storage level, may be provided to which the first-level storage level is attached. The first preset storage hierarchy refers to which second-level storage hierarchy the videocordecid is stored in. In some embodiments, the first preset sub-storage level may correspond to a specific storage location, and the preset storage path information is accurate to the level; in some embodiments, a lower subordinate hierarchy may be further continuously set to the storage hierarchy of the second layer, and the preset storage path information may further include specific digit information. Specifically, referring to fig. 4, a first predetermined storage level is shown in block 8, and a first predetermined sub-storage level is shown in block 9. In some embodiments, step S12 may include:
step S121, searching for a first level position corresponding to the first preset storage level.
As described above, when the videoid is set, the first tier position corresponding to the first preset storage tier is searched first, referring to the position shown in block 8 shown in fig. 4.
Step S122, searching a first sub-hierarchy position corresponding to the first preset sub-storage hierarchy in the first hierarchy position.
After determining the first hierarchical position, i.e. the position indicated by block 8, the corresponding first sub-hierarchical position of the first predetermined sub-hierarchical pair is searched for in the first hierarchical position, i.e. the position indicated by block 9 shown in fig. 4.
Step S123, determining a setting position of the video coding type identifier, based on the first sub-level position.
Based on the above steps, if the first sub-hierarchy location can only accommodate one videoid setup location, the videoid can be directly stored in the first sub-hierarchy location, as shown in block 9 of fig. 4.
Of course, in some embodiments, the first sub-level location may include a space capable of accommodating a plurality of the set locations of the videoid, in which case the videoid may be set based on a random algorithm determining one or more set locations from the first level location.
In the plug flow method, a first level position corresponding to the first preset storage level is searched; searching a first sub-level position corresponding to the first preset sub-storage level under the first level position; and determining a setting position of a video coding type identifier (Videocodecid) based on the first sub-hierarchy position. Through the mode, the setting position of the virobecid is determined at least according to the two storage hierarchies, so that the stability of the virobecid can be improved, and the setting and the searching are facilitated.
Further, in some embodiments, the storage hierarchy may be correspondingly divided based on the actual data type of the FLV-encapsulated video data, e.g., HEADER and BODY as a first tier, the respective subordinate data types corresponding to a second tier, etc.
Step S13, setting the videocodecid based on the setting position and the video coding type.
And after the setting position is determined based on the steps, setting the value of the setting position as an identification character corresponding to the video coding type according to the actual video coding type of the video data, thereby completing the setting of the videocodecid.
The plug flow method determines the setting position of the videocordecid based on the preset storage path information; the preset storage path information comprises storage hierarchy information and/or bit sequence information of the videocordecid; the setting position comprises one or more; and setting the videocodecid based on the setting position and the video coding type. By the mode, the setting position of the videoid can be determined by presetting the storage path information, the stability of the videoid can be improved, and the videoid can be conveniently set and searched.
In addition, in some embodiments, the preset storage path information is storage hierarchy information of the videocordecid; the storage level information at least comprises a second preset storage level to an nth preset storage level which are sequentially arranged, wherein n is more than 2.
Specifically, in some embodiments, the data referring to the starting data to the storage of the videocordecid may be divided only by the first storage hierarchy, and after the first storage hierarchy is divided into the second preset storage hierarchy to the nth preset storage hierarchy, the subordinate lower storage hierarchy is not divided or set. The second preset storage level only plays a role in distinguishing the first preset storage level, and does not have a sequential front-back or size role with the first preset storage level.
The second to nth preset storage levels in parallel may be divided based on actually stored data types, each occupying one preset storage level. The second preset storage level is an initial reference level, and the videocordecid is stored in the nth preset storage level. Of course, the preset storage levels may be divided in an equal-digit manner, so that the second to nth preset storage levels are partitions of the same size.
Step S12 includes:
step S124, sequentially searching and traversing each preset storage hierarchy position from the second preset storage hierarchy in sequence until determining the nth hierarchy position corresponding to the nth preset storage hierarchy;
when the setting position of the virobecid is determined, a second preset storage level of the initial reference level is identified, then, the preset storage levels are searched and traversed in sequence from the second preset storage level, and the searched and traversed levels are counted until the nth preset storage level where the virobecid is located is reached. And determining the nth level position corresponding to the nth preset storage level.
Step S125, determining a setting position of the video coding type identifier videocodecid based on the nth level position.
In some embodiments, the size of the nth hierarchical position may be divided to coincide with the actual size of the setting position of the videoid, in which case the nth hierarchical position is directly taken as the setting position of the videoid. In some embodiments, the nth hierarchical location may be divided into storage areas that may accommodate multiple set locations of the videoid, in which case one or more set locations for setting the videoid may be determined based on a stochastic algorithm.
In the plug flow method, the preset storage path information is storage level information of the videocodecid; the storage level information at least comprises a second preset storage level to an nth preset storage level which are sequentially arranged, wherein n is more than 2; sequentially searching and traversing each preset storage level position from the second preset storage level in sequence until determining the nth level position corresponding to the nth preset storage level; and determining the setting position of the video coding type identification videocodecid based on the nth level position. Through the mode, only one preset storage hierarchy is set, the setting position of the virocodecid is determined according to the preset storage hierarchy, the data structure is simplified, and the virocodecid is convenient to set and search.
As shown in fig. 8, fig. 8 is a schematic flow chart of another embodiment of the plug-flow method of the present invention.
In some embodiments, the stream pushing method of the present invention can be applied in a stream pushing system, where the stream pushing system at least includes an RTMP stream pushing terminal, an RTMP stream server, and an RTMP player. Specifically, the plug flow method comprises the following steps.
First, the RTMP streaming end executes step S50, and step S50 specifically executes:
step S51, the RTMP streaming end pushes the second video data to the RTMP streaming server.
Based on the stream pushing method, the RTMP stream pushing terminal obtains the encapsulated video data, i.e., the second video data, after encapsulating the FLV video data, and then pushes the second video data to the RTMP stream server based on a communication network, such as a wired communication network or a wireless communication network (e.g., WiFi or a cellular data network).
Step S60, the RTMP streaming server receives the second video data pushed by the RTMP stream pushing end, and extracts a videocordid character in the second video data;
based on the stream pushing method, the RTMP stream server reads the videocordid character from the setting position when receiving the second video data pushed by the RTMP stream pushing end. And if the setting position is randomly determined, the Videoccocid characters are read after the setting position is determined based on the identification information of the setting position. If there are a plurality of installation positions, the videoid characters may be read from one installation position or read from a plurality of or even all of the installation positions according to the preset setting.
In step S70, if the videoid character in the second video data is 12, the RTMP streaming server determines that the second video data is of the H265 encoding type.
In step S80, if the videoid character in the second video data is 7, the RTMP streaming server determines that the second video data is of the H264 encoding type.
After the RTMP streaming server extracts the videocordid character, if the extracted character is 12, the second video data is judged to be video data of an H265 coding type; if the extracted character is 7, the second video data is judged to be the video data of the H264 coding type.
Step S90, the RTMP streaming server sends the second video data to the RTMP player.
And the RTMP streaming server sends the second video data to the RTMP player based on a wired communication network or a wireless communication network.
Step S100, the RTMP player receives the second video data sent by the RTMP streaming server, and extracts the videocordid character in the second video data.
And when receiving the second video data pushed by the RTMP streaming server, the RTMP player reads the videocordid character from the set position. And if the setting position is randomly determined, the Videoccocid characters are read after the setting position is determined based on the identification information of the setting position. If there are a plurality of installation positions, the videoid characters may be read from one installation position or read from a plurality of or even all of the installation positions according to the preset setting.
In step S110, if the videoid character in the second video data is 12, the RTMP player decodes and plays the second video data by using an H265 decoder.
In step S120, if the videoid character in the second video data is 7, the RTMP player decodes and plays the second video data by using an H264 decoder.
The RTMP player at least comprises two types of decoders, namely an H265 decoder and an H264 decoder, so as to decode and play the second video data of the H265 coding type or the H264 coding type respectively. Based on the above steps, if the videoid character in the second video data read by the RTMP is 12, it indicates that the second video data is the video data of the H265 encoding type, and the H265 decoder can be used to decode and play the second video data. If the videoid character in the second video data read by the RTMP is 7, it indicates that the second video data is the video data of the H264 encoding type, and the H264 decoder can be used to decode and play the second video data.
The stream pushing method is applied to a stream pushing system comprising an RTMP stream pushing end, an RTMP stream server and an RTMP player, after stream pushing, the RTMP player determines the video coding type based on the videocodecid characters and then adopts a corresponding decoder to decode and play, so that video data of different coding types can be played in the RTMP stream pushing system, the applicable scene of the stream pushing method is expanded, and the requirement of high-definition video data stream pushing is met.
In some embodiments, step S100 may comprise:
step S101, the RTMP player receives second video data sent by the RTMP streaming server, and extracts the videocordid characters in the second video data from a plurality of videocordid setting positions.
Based on the above-mentioned plug flow method, in some embodiments, there may be a plurality of setting positions of the videoid, and the videoid may be set in each of the plurality of setting positions. The multiple set position videoid characters of the same FLV video data are in principle the same. The RTMP player, upon receiving the second video data, may read the corresponding videoid characters from the plurality of setting positions, respectively.
Step S100 may be followed by:
step S130, comparing and checking the videocordid characters in a plurality of preset positions.
And then, comparing and checking the read videocordid characters in the plurality of setting positions, and judging whether the plurality of videocordid characters are consistent or not.
Step S140, if the comparison and verification results are not consistent, returning verification result information of a verification error to the RTMP streaming server.
And if the plurality of the videocordid characters are consistent, decoding and playing by using a corresponding decoder. If the comparison check result is not consistent, it indicates that data change occurs in the stream pushing process, and at this time, to avoid decoding failure and waste of decoding time, check result information of a check error may be returned to the RTMP stream server, so that the RTMP stream server or the RTMP stream pushing end re-pushes the corresponding video data.
In the stream pushing method, the RTMP player receives the second video data sent by the RTMP stream server, and extracts the videocordid characters in the second video data from a plurality of videocordid setting positions; comparing and checking the videocordid characters in the preset positions; and if the comparison check results are not consistent, returning check result information of the check error to the RTMP streaming server. By the mode, the changed data in the stream pushing process can be identified in time, the wrong decoder can not be used for decoding through verification, and decoding failure is avoided.
In addition, the invention also provides a flow pushing device.
Wherein, the plug flow device of the invention comprises:
the device comprises a video coding type setting module, a video coding type identification setting module and a video coding type identification setting module, wherein the video coding type identification setting module is used for setting video coding type identification based on video coding type, and the video coding type at least comprises an H265 coding type or an H264 coding type;
the first forming module is used for forming FLV FILE BODY by utilizing the set structures of the videocordecid, the previousTagSize, the NextTagHeader and the NextTagData which are sequentially and circularly arranged;
a second forming module for forming FLV FILE HEADER using Signature, Version, Flags, and DataOffset;
the data encapsulation module is used for encapsulating the FLV FILE BODY and the corresponding FLV FILE HEADER data of the first video data of the H265 coding type or the H264 coding type;
and the stream pushing module is used for carrying out stream pushing operation on the packaged second video data.
For the specific implementation of the plug flow device of the present invention, reference may be made to various embodiments of the plug flow method of the present invention, which are not described herein again.
In addition, the invention also provides a plug flow terminal.
The plug flow terminal comprises a processor and a memory, wherein the memory is stored with a plug flow program, and the plug flow program realizes the steps of the plug flow method when being executed by the processor.
The method implemented when the plug flow program running on the processor is executed may refer to each embodiment of the plug flow method of the present invention, and details are not described here.
In addition, the embodiment of the invention also provides a computer readable storage medium.
The computer readable storage medium of the present invention has stored thereon a plug flow program, which when executed by a processor implements the steps of the plug flow method as described above.
The method implemented when the plug flow program running on the processor is executed may refer to each embodiment of the plug flow method of the present invention, and details are not described here.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A flow pushing method is applied to an RTMP flow pushing end, and comprises the following steps:
setting a video coding type identification (videocode) based on a video coding type, wherein the video coding type at least comprises an H265 coding type or an H264 coding type;
forming FLV FILE BODY by using the set videocordecid, and a structure in which PreviousTagSize, NextTagHeader and NextTagData are sequentially and circularly arranged;
FLV FILE HEADER is formed using Signature, Version, Flags, and DataOffset;
the FLV FILE BODY and the corresponding FLV FILE HEADER complete data encapsulation of the first video data of the H265 coding type or the H264 coding type;
and performing plug flow operation on the packaged second video data.
2. The stream pushing method of claim 1, wherein said setting a video coding type identification videocodecid based on a video coding type comprises:
and setting the preset position corresponding to the videocodecid or the random position in the preset area corresponding to the videocodecid as a video coding identification character 7 or 12.
3. The stream pushing method of claim 1, wherein said setting a video coding type identification videocodecid based on a video coding type comprises:
determining a setting position of the videocordecid based on preset storage path information; the preset storage path information comprises storage hierarchy information and/or bit sequence information of the videocordecid; the setting position comprises one or more;
and setting the videocodecid based on the setting position and the video coding type.
4. The push flow method according to claim 3, wherein the preset storage path information is storage hierarchy information of the viocodecid; the storage level information at least comprises a first preset storage level and a first preset sub-storage level attached to the first preset storage level; the determining the setting position of the videocordecid based on the preset storage path information includes:
searching a first level position corresponding to the first preset storage level;
searching a first sub-level position corresponding to the first preset sub-storage level under the first level position;
and determining a setting position of a video coding type identifier (Videocodecid) based on the first sub-hierarchy position.
5. The push flow method according to claim 3, wherein the preset storage path information is storage hierarchy information of the viocodecid; the storage level information at least comprises a second preset storage level to an nth preset storage level which are sequentially arranged, wherein n is more than 2; the determining the setting position of the videocordecid based on the preset storage path information includes:
sequentially searching and traversing each preset storage level position from the second preset storage level in sequence until determining the nth level position corresponding to the nth preset storage level;
and determining the setting position of the video coding type identification videocodecid based on the nth level position.
6. A plug flow method is characterized in that the plug flow method is applied to a plug flow system, and the plug flow system at least comprises an RTMP plug flow end, an RTMP flow server and an RTMP player; the plug flow method comprises the following steps:
the RTMP stream pushing end executes the step of the stream pushing method according to any one of claims 1 to 5, wherein when the RTMP stream pushing end executes the step of performing the stream pushing operation on the encapsulated second video data, the RTMP stream pushing end pushes the second video data to the RTMP stream server;
the RTMP streaming server receives second video data pushed by the RTMP stream pushing end and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP streaming server judges that the second video data is of an H265 coding type;
if the videocordid character in the second video data is 7, the RTMP streaming server judges that the second video data is of an H264 coding type;
the RTMP streaming server sends the second video data to the RTMP player;
the RTMP player receives second video data sent by the RTMP streaming server and extracts a videocordid character in the second video data;
if the videocordid character in the second video data is 12, the RTMP player decodes and plays the second video data by using an H265 decoder;
and if the videocordid character in the second video data is 7, the RTMP player decodes and plays the second video data by using an H264 decoder.
7. The stream pushing method of claim 6, wherein the receiving, by the RTMP player, the second video data sent by the RTMP streaming server, and extracting the videocordid character in the second video data comprises:
the RTMP player receives second video data sent by the RTMP streaming server, and extracts a videocordid character in the second video data from a plurality of videocordid setting positions;
the steps that the RTMP player receives the second video data sent by the RTMP streaming server and extracts the videocordid characters in the second video data comprise the following steps:
comparing and checking the videocordid characters in the preset positions;
and if the comparison check results are not consistent, returning check result information of the check error to the RTMP streaming server.
8. A flow pushing device, comprising:
the device comprises a video coding type setting module, a video coding type identification setting module and a video coding type identification setting module, wherein the video coding type identification setting module is used for setting video coding type identification based on video coding type, and the video coding type at least comprises an H265 coding type or an H264 coding type;
the first forming module is used for forming FLV FILEBODY by utilizing the set structures of the videocordecid, the previousTagSize, the NextTagHeader and the NextTagData which are sequentially and circularly arranged;
a second forming module for forming FLV FILE HEADER using Signature, Version, Flags, and DataOffset;
the data encapsulation module is used for encapsulating the FLV FILE BODY and the corresponding FLV FILE HEADER data of the first video data of the H265 coding type or the H264 coding type;
and the stream pushing module is used for carrying out stream pushing operation on the packaged second video data.
9. A push flow terminal, characterized in that it comprises a processor and a memory, said memory having stored thereon a push flow program which, when executed by said processor, implements the steps of the push flow method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a plug-flow program which, when executed by a processor, implements the steps of the plug-flow method according to any one of claims 1 to 7.
CN202210015842.9A 2022-01-07 2022-01-07 Plug flow method, device, terminal and storage medium Pending CN114363662A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210015842.9A CN114363662A (en) 2022-01-07 2022-01-07 Plug flow method, device, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210015842.9A CN114363662A (en) 2022-01-07 2022-01-07 Plug flow method, device, terminal and storage medium

Publications (1)

Publication Number Publication Date
CN114363662A true CN114363662A (en) 2022-04-15

Family

ID=81107776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210015842.9A Pending CN114363662A (en) 2022-01-07 2022-01-07 Plug flow method, device, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN114363662A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062313A1 (en) * 2000-10-27 2002-05-23 Lg Electronics Inc. File structure for streaming service, apparatus and method for providing streaming service using the same
CN102131084A (en) * 2010-01-19 2011-07-20 深圳市在线通网络科技开发有限公司 RTMP (Real Time Messaging Protocol) pushing device and method for audio/video streaming media
CN104602105A (en) * 2014-12-31 2015-05-06 腾讯科技(北京)有限公司 Video file playing method and user equipment
CN107147916A (en) * 2017-06-09 2017-09-08 苏州蜗牛数字科技股份有限公司 A kind of method for transmitting H.265 encoded video data on the level of the transport layer
CN110858915A (en) * 2018-08-24 2020-03-03 北京字节跳动网络技术有限公司 Resolution switching method and device in media file playing process and storage medium
CN111010593A (en) * 2019-11-08 2020-04-14 深圳市麦谷科技有限公司 Method and device for packaging H.265 video data based on FLV format
CN111083510A (en) * 2019-12-18 2020-04-28 深圳市麦谷科技有限公司 Method and device for pushing HEVC (high efficiency video coding) video

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062313A1 (en) * 2000-10-27 2002-05-23 Lg Electronics Inc. File structure for streaming service, apparatus and method for providing streaming service using the same
CN102131084A (en) * 2010-01-19 2011-07-20 深圳市在线通网络科技开发有限公司 RTMP (Real Time Messaging Protocol) pushing device and method for audio/video streaming media
CN104602105A (en) * 2014-12-31 2015-05-06 腾讯科技(北京)有限公司 Video file playing method and user equipment
CN107147916A (en) * 2017-06-09 2017-09-08 苏州蜗牛数字科技股份有限公司 A kind of method for transmitting H.265 encoded video data on the level of the transport layer
CN110858915A (en) * 2018-08-24 2020-03-03 北京字节跳动网络技术有限公司 Resolution switching method and device in media file playing process and storage medium
CN111010593A (en) * 2019-11-08 2020-04-14 深圳市麦谷科技有限公司 Method and device for packaging H.265 video data based on FLV format
CN111083510A (en) * 2019-12-18 2020-04-28 深圳市麦谷科技有限公司 Method and device for pushing HEVC (high efficiency video coding) video

Similar Documents

Publication Publication Date Title
CN103402126B (en) A kind of display packing of advertising message and device
CN110446062B (en) Receiving processing method for big data file transmission, electronic device and storage medium
CN108495185B (en) Video title generation method and device
US20030063675A1 (en) Image data providing system and method thereof
CN106131550B (en) Method and device for playing multimedia file
CN109840879B (en) Image rendering method and device, computer storage medium and terminal
CN103609117A (en) Method and device for encoding and decoding an image
CN110996160B (en) Video processing method and device, electronic equipment and computer readable storage medium
CN107864384B (en) Method and device for redirecting internet video playing on cloud desktop
CN108377394B (en) Image data reading method of video encoder, computer device and computer-readable storage medium
CN108399327B (en) Electronic device, user authentication method based on dynamic picture and storage medium
WO2006009414A1 (en) Extended package scheme to support application program downloading, and system and method for application program service using the same
CN112055254A (en) Video playing method, device, terminal and storage medium
CN113254393A (en) Interactive video packaging method and device and electronic equipment
CN111506747B (en) File analysis method, device, electronic equipment and storage medium
CN114363662A (en) Plug flow method, device, terminal and storage medium
CN107634928A (en) A kind of processing method and processing device of bit stream data
CN108184101B (en) Apparatus and method for processing video
CN101335884B (en) Multimedia data acquiring method and multimedia equipment
CN108093258B (en) Code stream data decoding method, computer device and computer readable storage medium
CN115866254A (en) Method and equipment for transmitting video frame and camera shooting parameter information
CN111885417B (en) VR video playing method, device, equipment and storage medium
CN114827735A (en) Video review method, device, equipment and storage medium
CN113657928A (en) Advertisement display method and device, storage medium and terminal equipment
CN114640711B (en) TLV data packet pushing method, intelligent terminal and storage 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