CN112511887A - Video playing control method and corresponding device, equipment, system and storage medium - Google Patents

Video playing control method and corresponding device, equipment, system and storage medium Download PDF

Info

Publication number
CN112511887A
CN112511887A CN202011379312.XA CN202011379312A CN112511887A CN 112511887 A CN112511887 A CN 112511887A CN 202011379312 A CN202011379312 A CN 202011379312A CN 112511887 A CN112511887 A CN 112511887A
Authority
CN
China
Prior art keywords
playing
video
thread
equipment
decoding
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.)
Granted
Application number
CN202011379312.XA
Other languages
Chinese (zh)
Other versions
CN112511887B (en
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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202011379312.XA priority Critical patent/CN112511887B/en
Publication of CN112511887A publication Critical patent/CN112511887A/en
Application granted granted Critical
Publication of CN112511887B publication Critical patent/CN112511887B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

The application provides a video playing control method, and a corresponding device, equipment, system and storage medium. The video playing control method comprises the following steps: in the video playing process, acquiring a video playing position of a main device and a video playing position of the device; when the difference value between the video playing position of the main equipment and the video playing position of the equipment is larger than the difference value threshold value, the playing of the video of the equipment by the playing thread is paused, and the playing position of the playing thread is jumped from the current playing position to the key frame position corresponding to the video playing position of the main equipment; starting from the video playing position of the main equipment, decoding, rendering and playing each video frame through a decoding thread until reaching the key frame position; and starting from the position of the key frame, resuming the playing thread to play the video of the equipment. The method and the device can realize video synchronization of any playing position among different display devices.

Description

Video playing control method and corresponding device, equipment, system and storage medium
Technical Field
The present application relates to the field of video processing technologies, and in particular, to a video playing control method, and a corresponding apparatus, device, system, and storage medium.
Background
With the increasing requirement of the digital cinema playing system on the definition, the resolution of an output picture far exceeds the output resolution of one computer or one display device, so that a plurality of display devices are often required to splice a complete picture with ultrahigh resolution together, and how to ensure the synchronization of pictures output by all the devices becomes a key problem.
A common soft synchronization method is: the method includes the steps that small videos which are divided into equal parts of complete videos are played on different display devices, the playing time of the different display devices is synchronized through network communication, accordingly, a picture with ultrahigh resolution is synchronized and spliced, and when the machine is synchronized, jumping is achieved through seekTo functions (jumping functions) of Android (Android) players and media players.
However, this method has the following problems: since the videos published to different display devices are different, the contained key frames and decoding packets are different, and for versions before and below android8.0, the seekTo function of the MediaPlayer only supports jumping to the key frames, and does not support tuning to a specific playing position, so that the key frames cannot be aligned, and the display devices cannot realize synchronous playing.
Disclosure of Invention
The application provides a video playing control method, a corresponding device, equipment, system and storage medium aiming at the defects of the existing mode, and aims to solve the technical problem that the prior version of android8.0 cannot realize synchronous playing at any position in the prior art.
In a first aspect, an embodiment of the present application provides a video playing control method, which is applied to any slave device, and includes:
in the video playing process, acquiring a video playing position of a main device and a video playing position of the device;
when the difference value between the video playing position of the main equipment and the video playing position of the equipment is larger than the difference value threshold value, the playing of the video of the equipment by the playing thread is paused, and the playing position of the playing thread is jumped from the current playing position to the key frame position corresponding to the video playing position of the main equipment;
starting from the video playing position of the main equipment, decoding, rendering and playing each video frame through a decoding thread until reaching the key frame position;
and starting from the position of the key frame, resuming the playing thread to play the video of the equipment.
In a second aspect, an embodiment of the present application provides a video playback control apparatus, which is applied to any slave device, and includes:
the information acquisition module is used for acquiring the video playing position of the main equipment and the video playing position of the equipment in the video playing process;
the first playing control module is used for pausing the playing of the video of the main equipment by the playing thread when the difference value between the video playing position of the main equipment and the video playing position of the main equipment is greater than the difference value threshold value, and jumping the playing position of the playing thread from the current playing position to the key frame position corresponding to the video playing position of the main equipment;
the second playing control module is used for decoding, rendering and playing each video frame through a decoding thread from the video playing position of the main equipment until reaching the key frame position;
and the third playing control module is used for recovering the playing thread to play the video of the equipment from the position of the key frame.
In a third aspect, an embodiment of the present application provides a display device, as a slave device, including:
a memory;
a processor electrically connected to the memory;
the memory stores a computer program, and the computer program is executed by the processor to implement the video playback control method provided by the first aspect of the embodiments of the present application.
In a fourth aspect, an embodiment of the present application provides a video playing system, including: a display device as a master device and a display device as a slave device provided in the third aspect of the embodiments of the present application;
the display devices are connected in series, and two adjacent display devices are in communication connection.
In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer program implements the video playback control method provided in the first aspect of the embodiment of the present application.
The technical scheme provided by the embodiment of the application at least has the following beneficial effects:
the embodiment of the application adopts the play configuration of double threads (a play thread and a decoding thread), and the video play position of the equipment can be jumped from the current video play position to the received video play position of the main equipment through the decoding thread, so that the video synchronization of any play position between different display equipment can be realized, the defects of the prior art are overcome, and the problem that the video synchronization of any position between different display equipment cannot be realized by the previous version of android8.0 is solved; most of the existing board cards are developed based on the version before Android8.0, and the development based on the version before Android8.0 and the version after Android8.0 is less, so that the technical scheme of the embodiment of the application has high practicability.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The foregoing and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic diagram illustrating an operating principle of a video playing system according to an embodiment of the present application;
FIG. 2 is a schematic diagram illustrating a communication principle between a master device and a slave device in an embodiment of the present application;
fig. 3 is a schematic flowchart of a video playing control method according to an embodiment of the present application;
FIG. 4 is a schematic diagram illustrating a principle of dual-thread video switching in an embodiment of the present application;
FIG. 5 is a schematic diagram illustrating a principle of synchronization of decoding threads in an embodiment of the present application;
fig. 6 is a schematic structural framework diagram of a video playback control apparatus according to an embodiment of the present disclosure;
fig. 7 is a schematic structural framework diagram of a display device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to the present application, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar parts or parts having the same or similar functions throughout. In addition, if a detailed description of the known art is not necessary for illustrating the features of the present application, it is omitted. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
It will be understood by those within the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments.
An embodiment of the present application provides a video playing system, including: a display device as a master device and a display device as a slave device; the display devices are connected in series, and two adjacent display devices are in communication connection.
Optionally, referring to the example of fig. 1, the master device in this embodiment is further configured to communicate with a server, receive a play plan (a splicing play plan) sent by the server, adjust clock information of the board card of the device (that is, time of the real-time clock RTC) according to the play plan, make the clock information of the board card of the device consistent with the play plan, generate a timestamp based on the play plan, and send the timestamp to the connected slave device.
In an alternative embodiment, the slave device is configured to: acquiring a timestamp sent by a main device; and adjusting the clock information of the board card of the equipment (namely the time of the real-time clock RTC) according to the timestamp, synchronizing the clock information of the board card of the equipment (representing the display equipment executing the current step) with the clock information of the board card of the main equipment, and sending the timestamp to other slave equipment.
In another optional implementation manner, referring to the example of fig. 1, the slave device in this embodiment is further configured to be in communication connection with a server, receive a play plan sent by the server, and adjust clock information of the board card of the device according to the play plan, so that the clock information of the board card of the device is consistent with the play plan.
Optionally, information transmission between the master device and the server and between the slave devices based on the server may be achieved based on an IOT (Internet of Things) communication mode, where the IOT communication mode is a frequently connected communication mode based on an MQTT (Message queue Telemetry Transport) protocol; the server sends a play plan to the master device and/or the slave device based on the IOT communication mode, and the master device and/or the slave device can acquire the clock information (i.e. the time of the real-time clock RTC) of the server from the play plan.
Alternatively, referring to the example of fig. 1, the timestamp transmission between the master device and the slave device, and between the slave device and the slave device may be implemented through serial communication.
Optionally, the master device is configured with a play thread and a send thread. The playing thread comprises a MediaPlayer (media player), a TextureView (texture view control) and a mediaextra (media extractor), wherein the MediaPlayer is used for playing video, the TextureView is used for rendering video, and the mediaextra is used for acquiring the video playing position of the device; the sending Thread Send Thread is used for sending the video playing position to the slave device in a timing mode.
Optionally, the slave device is configured with a play thread, a decode thread and a receive thread. Wherein, the playing thread is the same as the main device; the decoding thread includes MediaCodec for decoding video and TextureView for rendering video; and the receiving Thread Receive Thread is used for receiving the video playing position sent by the main equipment.
Alternatively, referring to the example of fig. 2, the master device and the slave device may implement transmission of the video playing position based on UDP (User Datagram Protocol), where a sending Thread of the master device is UDP Send Thread based on UDP, and a receiving Thread of the slave device is UDP Receive Thread based on UDP.
When the slave device in the embodiment of the present application receives the video playing position sent by the master device, the video playing position of the slave device may be adjusted based on the video playing position to implement synchronous playing of the video with the master device, and the specific principle of the slave device will be described in detail in the following method embodiments.
Based on the same inventive concept, an embodiment of the present application provides a video playing control method, which can be applied to any slave device, as shown in fig. 3, and the method includes:
s301, in the video playing process, the video playing position of the main device and the video playing position of the device are obtained.
Optionally, before the video playing position of the host device and the video playing position of the device are obtained, any one of the following time synchronization operations is further included:
the first method is as follows: acquiring a timestamp sent by a main device; adjusting the clock information of the board card of the equipment according to the timestamp to synchronize the clock information of the board card of the equipment with the clock information of the board card of the main equipment, and sending the timestamp to other slave equipment; the time stamp is generated by the master device based on the play plan.
In the second mode, a playing plan sent by the server is obtained; and adjusting the clock information of the board card of the equipment according to the playing plan so that the clock information of the board card of the equipment is consistent with the playing plan.
The process can realize the time synchronization among different display devices, and is favorable for realizing the synchronization of video playing on the basis of the time synchronization.
S302, when the difference value between the video playing position of the main device and the video playing position of the device is larger than the difference value threshold value, the playing of the video of the device by the playing thread is paused, and the playing position of the playing thread is jumped from the current playing position to the key frame position corresponding to the video playing position of the main device.
The difference threshold value in the embodiment of the application can be set according to actual requirements, and when the difference between the video playing position of the main device and the video playing position of the device is smaller than or equal to the difference threshold value, the video playing position of the device does not need to be adjusted.
Optionally, referring to Scene one (Scene1) in fig. 4, the pausing the playback of the video of the device by the playback thread includes:
save the current surface texture (surface texture object) as the surface texture1 (first surface texture object); call onSurfaceTextureDestored (surface texture object removal control), remove TextureView1 (texture view control representing Play thread) in ViewGroup (view container).
Through the method, the playing of the video of the equipment by the playing thread is paused, the preparation is made for the video playing of the decoding thread, and the transition to the decoding thread is realized.
Optionally, in the embodiment of the present application, the playing position of the playing thread may be skipped from the current playing position to a key frame position corresponding to the video playing position of the main device through a SeekTo function, where the key frame position corresponding to the video playing position of the main device is specifically a first key frame after the video playing position of the main device.
And S303, starting from the video playing position of the main equipment, decoding, rendering and playing each video frame through a decoding thread until the position of the key frame is reached.
Fig. 5 shows the working principle Of the decoding thread, and the part from the Video sequence header to the Video sequence tail in fig. 5 is represented as the whole Video frame sequence Of the Video Of the present device, and multiple GOPs (Group Of Pictures) are included between the Video sequence header and the Video sequence tail, and each GOP includes multiple Video frames (including I frame, P frame and B frame). The position 7500ms (millisecond) pointed by Seek in fig. 5 is the obtained video playing position of the main device, specifically the position of the first B frame in a GOP; the 7700ms pointed by Result is a Key frame (Key Fream) position corresponding to the video playing position of the master device, specifically, an I frame position in a next GOP of a GOP where the video playing position of the master device is located.
After receiving a video playing position of a main device and determining that the device needs to be synchronously adjusted, a playing thread (MediaPlayer + TextureView1+ mediaextra) pauses playing at a current video playing position of the device and jumps to a key frame position of 7700ms through a SeekTo function; the decoding thread (MediaCodec + TextureView2) acquires the key frame position through mediaextra, and starts to decode, render and play each video frame from the position of 7500ms until the key frame position is 7700 ms; the Play thread (MediaPlayer + TextureView1+ MediaExtractor) resumes the video starting at the key frame position of 7700ms and continues to play the following video frames.
The decoding thread of the embodiment of the application can be directly jumped from the current video playing position of the device to the video playing position of the main device, and decoding is started from the video playing position of the main device
Optionally, decoding, rendering, and playing each video frame through a decoding thread, including: decoding each video frame by a decoder; rendering the decoded video frame through a texture view control; and calling a display thread to play the rendered video frame.
Optionally, before decoding each video by the decoder, the method further includes: initializing video resources of a decoder and the decoder; in the embodiment of the application, the video data to be decoded is the video data between the video playing position of the main device and the key frame, and the initialization operation on the video resource of the decoder comprises the steps of acquiring the video data between the video playing position of the main device and the key frame, and asynchronously calling back the video data to the decoder for decoding after initialization.
Referring to the example of fig. 4, the initialization operation (initialization MediaCodec) for the decoder may be performed during the process of pausing the playback of the video of the present apparatus by the playback thread.
Optionally, before invoking the display thread to play the rendered video frame, the method further includes: initializing a display thread mhandler.post (mRunnable), wherein the initialization operation comprises setting a time interval for playing two adjacent frames, and the display thread mhandler.post (mRunnable) can be called when a video needs to start playing after the initialization.
Optionally, referring to Scene two (Scene2) in fig. 4, rendering the decoded video frame through a texture view control in the playback thread includes:
call onSurfaceTextureAvailable (surface texture object Add control), add TextureView2 (texture view control representing decode thread) to ViewGroup, import SurfaceTexture1 into TextureView2 for rendering.
The decoded video frame is rendered in the mode, and then the rendered video frame is played, so that the natural switching from playing thread video playing to decoding flow video playing can be realized.
S304, starting from the position of the key frame, resuming the playing thread to play the video of the device.
Optionally, referring to a first scenario in fig. 4, resuming the playing of the video of the device by the playing thread includes:
saving the current SurfaceTexture as SurfaceTexture 2; call onsurface texturedestroyed, remove TextureView2 in ViewGroup; call onSurfaceTextureAvailable, add TextureView1 to ViewGroup, import SurfaceTexture2 into TextureView1 for rendering, and play rendered SurfaceTexture2 by MediaPlayer.
By the method, the decoding thread can be naturally transited and switched to the playing thread, and the subsequent video frames are rendered and played again through the playing thread, so that the synchronization of key frames is realized, and further the synchronization of the subsequent video frames is realized.
In the process of resuming the playing thread to play the video of the device, the operation (initialization MediaCodec) of fig. 4 for initializing the decoder may not be performed.
Based on the same inventive concept, as shown in fig. 6, a video playing control device 600 provided in the embodiments of the present application includes: an information acquisition module 601, a first playing control module 602, a second playing control module 603, and a third playing control module.
The information acquisition module 601 is configured to acquire a video playing position of a host device and a video playing position of the device during a video playing process;
a first playing control module 602, configured to pause playing of a video of a local device by a playing thread when a difference between the video playing position of a host device and the video playing position of the local device is greater than a difference threshold, and jump the playing position of the playing thread from a current playing position to a key frame position corresponding to the video playing position of the host device;
a second playing control module 603, configured to decode, render, and play each video frame through a decoding thread from the video playing position of the master device until the key frame position is reached;
a third playing control module 604, configured to resume, from the position of the key frame, the playing of the video of the device by the playing thread.
Optionally, the video playing control device provided in this application further includes: and a clock synchronization module.
The clock synchronization module is used for acquiring the timestamp sent by the master equipment; adjusting the clock information of the board card of the equipment according to the timestamp to synchronize the clock information of the board card of the equipment with the clock information of the board card of the main equipment, and sending the timestamp to other slave equipment; the timestamp is generated by the master device based on a playback plan.
Optionally, when the playing thread is paused to play the video of the device, the first play control module 602 is specifically configured to: saving the current surface texture object as a first surface texture object; and calling a surface texture object elimination control, and removing the texture view control of the playing thread in a view container.
Optionally, the second playing control module 603 is specifically configured to: decoding, by the decoder, each video frame; rendering the decoded video frame through the texture view control; and calling a display thread to play the rendered video frame.
Optionally, when the decoded video frame is rendered through the texture view control, the second play control module 603 is specifically configured to: and calling a surface texture object adding control, adding the texture view control of the decoding thread in a view container, and inputting the first surface texture object into the texture view control of the decoding thread for rendering.
Optionally, when the playing thread resumes playing the video of the device, the third playing control module 604 is specifically configured to: saving the current surface texture object as a second surface texture object; calling a surface texture object elimination control, and removing the texture view control of the decoding thread in a view container; calling a surface texture object adding control, adding the texture view control of the playing thread in a view container, inputting the second surface texture object into the texture view control of the playing thread for rendering, and playing the rendered second surface texture object through a media player in the playing thread.
The video playback control apparatus 600 of this embodiment can execute any video playback control method provided in this embodiment, and the implementation principles thereof are similar, and details not shown in this embodiment refer to the foregoing embodiments, which are not described herein again.
Based on the same inventive concept, an embodiment of the present application provides a display apparatus, including: the storage and the processor are electrically connected.
The memory stores a computer program, and the computer program is executed by the processor to implement any video playing control method provided by the embodiment of the application.
It will be appreciated by those skilled in the art that the display devices provided in the embodiments of the present application may be specially designed and manufactured for the required purposes, or may include known devices in general-purpose computers. These devices have stored therein computer programs that are selectively activated or reconfigured. Such a computer program may be stored in a device (e.g., computer) readable medium or in any type of medium suitable for storing electronic instructions and respectively coupled to a bus.
The present application provides, in an alternative embodiment, a display device, as shown in fig. 7, the display device 700 comprising: the memory 701 and the processor 702 are electrically connected, such as by a bus 703.
Optionally, the memory 701 is used for storing application program codes for executing the scheme of the present application, and the processor 702 controls the execution. The processor 702 is configured to execute the application program codes stored in the memory 701 to implement any one of the video playback control methods provided by the embodiments of the present application.
The Memory 701 may be a ROM (Read-Only Memory) or other type of static storage device that can store static information and instructions, a RAM (Random Access Memory) or other type of dynamic storage device that can store information and instructions, an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read-Only Memory) or other optical disk storage, optical disk storage (including Compact Disc, laser Disc, optical Disc, digital versatile Disc, blu-ray Disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these.
The Processor 702 may be a CPU (Central Processing Unit), a general-purpose Processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or other Programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 702 may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others.
Bus 703 may include a path that transfers information between the above components. The bus may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. 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 in FIG. 7, but this is not intended to represent only one bus or type of bus.
Optionally, the electronic device 700 may also include a transceiver 704. The transceiver 704 may be used for reception and transmission of signals. The transceiver 704 may allow the electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. It should be noted that the transceiver 704 is not limited to one in practical applications.
Optionally, the electronic device 700 may further include an input unit 705. The input unit 705 may be used to receive input numeric, character, image, and/or sound information or to generate key signal inputs related to user settings and function control of the electronic apparatus 700. The input unit 705 may include, but is not limited to, one or more of a touch screen, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, a camera, a microphone, and the like.
Optionally, the electronic device 700 may further include an output unit 706. The output unit 706 may be used to output or display information processed by the processor 702. The output unit 706 may include, but is not limited to, one or more of a display device, a speaker, a vibration device, and the like.
While fig. 7 illustrates a display apparatus 700 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
Based on the same inventive concept, embodiments of the present application provide a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements any one of the video playback control methods provided by embodiments of the present application.
The computer readable medium includes, but is not limited to, any type of disk including floppy disks, hard disks, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs (Erasable Programmable Read-Only Memory), EEPROMs, flash Memory, magnetic cards, or fiber optic cards. That is, a readable medium includes any medium that stores or transmits information in a form readable by a device (e.g., a computer).
The embodiment of the present application provides a computer-readable storage medium suitable for any one of the above video playing control methods, which is not described herein again.
By applying the technical scheme of the embodiment of the application, at least the following beneficial effects can be realized:
1) the embodiment of the application adopts the play configuration of double threads (a play thread and a decoding thread), and the video play position of the equipment can be jumped from the current video play position to the received video play position of the main equipment through the decoding thread, so that the video synchronization of any play position between different display equipment can be realized, the defects of the prior art are overcome, and the problem that the video synchronization of any position between different display equipment cannot be realized by the version before android8.0 (below android 7.1.2) is solved; most of the existing board cards are developed based on the version before Android8.0, and the development based on the version before Android8.0 and the version after Android8.0 is few, so that the technical scheme of the embodiment of the application has high practicability.
2) The embodiment of the application can complete the synchronization of the system time among different display devices based on the playing plan, and is beneficial to realizing the synchronization of video playing on the basis of the synchronization of the system time.
3) According to the embodiment of the application, through a double-thread (playing thread and decoding thread) video switching scheme, switching naturalness can be ensured, and seamless switching is facilitated.
4) The technical scheme of the embodiment of the application is that adaptation adjustment is performed on the application layer of the android system, so that the application flexibility can be increased, the adaptation cost of the system layer is reduced, the method can be applied to most board cards, and the limitation on the aspect of the board cards can be reduced.
Those of skill in the art will appreciate that the various operations, methods, steps in the processes, acts, or solutions discussed in this application can be interchanged, modified, combined, or eliminated. Further, other steps, measures, or schemes in various operations, methods, or flows that have been discussed in this application can be alternated, altered, rearranged, broken down, combined, or deleted. Further, steps, measures, schemes in the prior art having various operations, methods, procedures disclosed in the present application may also be alternated, modified, rearranged, decomposed, combined, or deleted.
In the description of the present application, it is to be understood that the terms "first", "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implying any number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the present application, "a plurality" means two or more unless otherwise specified.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (10)

1. A video playing control method is applied to any slave device, and is characterized by comprising the following steps:
in the video playing process, acquiring a video playing position of a main device and a video playing position of the device;
when the difference value between the video playing position of the main equipment and the video playing position of the equipment is larger than the difference value threshold value, pausing the playing of the video of the equipment by a playing thread, and jumping the playing position of the playing thread from the current playing position to a key frame position corresponding to the video playing position of the main equipment;
starting from the video playing position of the main equipment, decoding, rendering and playing each video frame through a decoding thread until reaching the key frame position;
and resuming the playing thread to play the video of the device from the position of the key frame.
2. The video playback control method according to claim 1, wherein before the acquiring the video playback position of the host device and the video playback position of the present device, the method further comprises:
acquiring a timestamp sent by the main equipment; the timestamp is generated by the master device based on a playback plan;
and adjusting the clock information of the equipment board card according to the timestamp to synchronize the clock information of the equipment board card with the clock information of the main equipment board card, and sending the timestamp to other slave equipment.
3. The video playback control method according to claim 1, wherein the decoding thread includes a decoder and a texture view control;
and decoding, rendering and playing each video frame through a decoding thread, comprising:
decoding each video frame by a decoder;
rendering the decoded video frame through the texture view control;
and calling a display thread to play the rendered video frame.
4. The video playback control method according to claim 3, wherein the pausing of the playback of the video of the device by the playback thread includes:
saving the current surface texture object as a first surface texture object;
calling a surface texture object elimination control, and removing the texture view control of the playing thread in a view container;
and rendering the decoded video frame through a texture view control in a play thread, including:
calling a surface texture object adding control, adding the texture view control of the decoding thread in a view container, and inputting the first surface texture object into the texture view control of the decoding thread for rendering;
and the resuming the playing of the video of the device by the playing thread includes:
saving the current surface texture object as a second surface texture object;
calling a surface texture object elimination control, and removing the texture view control of the decoding thread in a view container;
calling a surface texture object adding control, adding the texture view control of the playing thread in a view container, inputting the second surface texture object into the texture view control of the playing thread for rendering, and playing the rendered second surface texture object through a media player in the playing thread.
5. A video playing control device is applied to any slave equipment, and is characterized by comprising:
the information acquisition module is used for acquiring the video playing position of the main equipment and the video playing position of the equipment in the video playing process;
the first playing control module is used for pausing the playing of the video of the main device by a playing thread when the difference value between the video playing position of the main device and the video playing position of the main device is greater than the difference value threshold value, and jumping the playing position of the playing thread from the current playing position to a key frame position corresponding to the video playing position of the main device;
the second playing control module is used for decoding, rendering and playing each video frame through a decoding thread from the video playing position of the main equipment until the key frame position is reached;
and the third playing control module is used for recovering the playing of the video of the equipment by the playing thread from the position of the key frame.
6. The video playback control device according to claim 5, further comprising:
the clock synchronization module is used for acquiring the timestamp sent by the master equipment; adjusting the clock information of the board card of the equipment according to the timestamp to synchronize the clock information of the board card of the equipment with the clock information of the board card of the main equipment, and sending the timestamp to other slave equipment;
the timestamp is generated by the master device based on a playback plan.
7. A display device, as a slave device, comprising:
a memory;
a processor electrically connected with the memory;
the memory stores a computer program executed by the processor to implement the video playback control method according to any one of claims 1 to 4.
8. A video playback system, comprising: a display device as a master device and a display device as a slave device as claimed in claim 7;
the display devices are connected in series, and two adjacent display devices are in communication connection.
9. The video playback system of claim 8,
the master device is also used for being in communication connection with a server, receiving the playing plan sent by the server, adjusting the clock information of the board card of the device according to the playing plan, enabling the clock information of the board card of the device to be consistent with the playing plan, generating a timestamp based on the playing plan, and sending the timestamp to the connected slave device.
10. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, implements the video playback control method according to any one of claims 1 to 4.
CN202011379312.XA 2020-11-30 2020-11-30 Video playing control method, corresponding device, equipment, system and storage medium Active CN112511887B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011379312.XA CN112511887B (en) 2020-11-30 2020-11-30 Video playing control method, corresponding device, equipment, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011379312.XA CN112511887B (en) 2020-11-30 2020-11-30 Video playing control method, corresponding device, equipment, system and storage medium

Publications (2)

Publication Number Publication Date
CN112511887A true CN112511887A (en) 2021-03-16
CN112511887B CN112511887B (en) 2023-10-13

Family

ID=74968907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011379312.XA Active CN112511887B (en) 2020-11-30 2020-11-30 Video playing control method, corresponding device, equipment, system and storage medium

Country Status (1)

Country Link
CN (1) CN112511887B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027768A1 (en) * 2022-08-04 2024-02-08 京东方科技集团股份有限公司 Multi-screen video display method and system, and playing end and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2479984A1 (en) * 2011-01-19 2012-07-25 Thomson Licensing Device and method for synchronizing content received from different sources
CN107801085A (en) * 2017-09-30 2018-03-13 口碑(上海)信息技术有限公司 A kind of video playing control method and device
CN108650541A (en) * 2018-05-09 2018-10-12 福建星网视易信息系统有限公司 Realize that the method and system of video is played simultaneously in distinct device
US20190272088A1 (en) * 2018-03-05 2019-09-05 Qingdao Hisense Media Network Technology Co., Ltd. Playing media
CN110636370A (en) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 Video processing method and device, electronic equipment and readable medium
CN110719524A (en) * 2019-10-16 2020-01-21 腾讯科技(深圳)有限公司 Video playing method and device, intelligent playing equipment and storage medium
CN111432260A (en) * 2020-03-31 2020-07-17 腾讯科技(深圳)有限公司 Method, device and equipment for synchronizing multiple paths of video pictures and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2479984A1 (en) * 2011-01-19 2012-07-25 Thomson Licensing Device and method for synchronizing content received from different sources
CN107801085A (en) * 2017-09-30 2018-03-13 口碑(上海)信息技术有限公司 A kind of video playing control method and device
US20190272088A1 (en) * 2018-03-05 2019-09-05 Qingdao Hisense Media Network Technology Co., Ltd. Playing media
CN108650541A (en) * 2018-05-09 2018-10-12 福建星网视易信息系统有限公司 Realize that the method and system of video is played simultaneously in distinct device
CN110636370A (en) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 Video processing method and device, electronic equipment and readable medium
CN110719524A (en) * 2019-10-16 2020-01-21 腾讯科技(深圳)有限公司 Video playing method and device, intelligent playing equipment and storage medium
CN111432260A (en) * 2020-03-31 2020-07-17 腾讯科技(深圳)有限公司 Method, device and equipment for synchronizing multiple paths of video pictures and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027768A1 (en) * 2022-08-04 2024-02-08 京东方科技集团股份有限公司 Multi-screen video display method and system, and playing end and storage medium

Also Published As

Publication number Publication date
CN112511887B (en) 2023-10-13

Similar Documents

Publication Publication Date Title
US10930318B2 (en) Gapless video looping
KR102536652B1 (en) Dynamic reduction of alternative content playback to support aligning the end of the alternative content with the end of the substitute content.
CN111418215B (en) Media client, method, non-transitory data storage device
CN105187896B (en) The media file playing method and system more being segmented
CN110430445B (en) Video synchronous playing method, device, equipment and medium
CN112770168B (en) Video playing method, related device and equipment
TWI663875B (en) Video processing method and device thereof
US10412320B1 (en) Method and system for switching display from first video source to second video source
CN106331820B (en) Audio and video synchronization processing method and device
CN112511887B (en) Video playing control method, corresponding device, equipment, system and storage medium
US6650709B2 (en) Image decoding device, image decoding method, and storage medium and integrated circuit thereof
CN112118473B (en) Video bullet screen display method and device, computer equipment and readable storage medium
US20100076944A1 (en) Multiprocessor systems for processing multimedia data and methods thereof
CN111193570A (en) Method, device, system, medium and electronic equipment for executing instructions
CN114071225B (en) Frame animation playing method, device and system
CN112804577B (en) Video switching display method and device, video processing equipment and storage medium
KR102251148B1 (en) Audio-Video Synchronization Processing Method
JP2010109755A (en) Information processing apparatus, effect program and content correction processing method
CN115134661A (en) Video processing method and video processing application
CN117241091A (en) Method, apparatus and computer readable medium for processing image decoding data
CN117531193A (en) Audio and video data processing method and device, readable storage medium and electronic equipment
CN115580740A (en) Video playing method, device, equipment, storage medium and program product
CN113726778A (en) Streaming media seek method, device, computing equipment and computer storage medium
CN115811621A (en) Live stream playing method and device, computer equipment and storage medium
KR20080035112A (en) Download method of moving picture in mobile communication terminal and mobile communication terminal therefor

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