CN109168076B - Online course recording method, device, server and medium - Google Patents

Online course recording method, device, server and medium Download PDF

Info

Publication number
CN109168076B
CN109168076B CN201811302479.9A CN201811302479A CN109168076B CN 109168076 B CN109168076 B CN 109168076B CN 201811302479 A CN201811302479 A CN 201811302479A CN 109168076 B CN109168076 B CN 109168076B
Authority
CN
China
Prior art keywords
video
window
data
playing
online
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811302479.9A
Other languages
Chinese (zh)
Other versions
CN109168076A (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811302479.9A priority Critical patent/CN109168076B/en
Publication of CN109168076A publication Critical patent/CN109168076A/en
Application granted granted Critical
Publication of CN109168076B publication Critical patent/CN109168076B/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV

Landscapes

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

Abstract

The embodiment of the disclosure discloses a method, a device, a server and a medium for recording online courses. The method comprises the following steps: rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window; acquiring playing video data of the online course window according to the rendered picture data; and generating a playback video according to the playing video data of the online course window. The embodiment of the disclosure provides a method for recording online courses watched by a user through a browser, which can quickly form a recorded video and is convenient to play back and watch.

Description

Online course recording method, device, server and medium
Technical Field
The embodiment of the disclosure relates to the technical field of multimedia data processing, in particular to a method, a device, a server and a medium for recording online courses.
Background
The existing online network course plays multimedia contents through a browser, and a playing interface generally comprises a live explanation video of a teacher, a message interaction area, a whiteboard display area and the like. The windows of the various regions may be presented in the form of different plug-ins.
When the user wants to watch the course playback, the user needs to open the playback address by accessing the URL through the browser. There are several problems with this approach: 1. stability problems. Under the limitation of network, the synchronous playing can be influenced by any resource downloading abnormality; 2. subject to the provider. Any exception of the provider server can affect the playback of the course; 3. is not beneficial to sharing; 4. the user cannot download or watch and share the information through H5; 5. and the later machine learning analysis is not facilitated.
The prior art does not provide a scheme for efficiently and conveniently recording online course videos.
Disclosure of Invention
The embodiment of the disclosure provides a method, a device, a server and a medium for recording online courses, so as to conveniently record online courses played based on a browser.
In a first aspect, an embodiment of the present disclosure provides a method for recording an online course, including:
rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
acquiring playing video data of the online course window according to the rendered picture data;
and generating a playback video according to the playing video data of the online course window.
Optionally, the method further includes: acquiring original video data from a video source corresponding to a video playing window;
correspondingly, generating a playback video according to the playing video data of the online course window comprises:
and superposing the picture frames of the original video data in the picture frames of the video data played in the online course window frame by frame, and combining the audio data in the original video data to generate a playback video.
Optionally, the process of superimposing, frame by frame, the picture frame of the original video data in the picture frame of the video data played in the online course window further includes:
and softening the edge area of the picture frame of the original video data.
Optionally, the method further includes: acquiring audio data from a video source corresponding to the video playing window;
correspondingly, generating a playback video according to the playing video data of the online course window comprises:
and coding according to the audio data and the playing video data of the online course window to generate a playback video.
Optionally, rendering the online course window through the browser to form a plurality of picture data includes:
and calling a local interface of the browser through file transmission software, loading the online course multimedia content, and rendering and generating a plurality of picture data according to a web page corresponding to the online course multimedia content.
Optionally, the obtaining the playing video data of the online course window according to each rendered picture data includes:
continuously displaying the picture data;
capturing and storing a video frame from a screen display picture by using an API (application programming interface) of a screen capturing function of file transmission software according to a set frequency;
and generating the playing video data from each stored video frame by using audio and video processing software.
Optionally, the obtaining the playing video data of the online course window according to each rendered picture data includes:
using virtual graphic interface software to start a port monitoring function, acquiring rendered picture data in a memory, and sending the rendered picture data to a set port;
and generating playing video data of the online course window by using audio and video processing software through the picture data input by the set port, wherein the set port is a video input source port of the audio and video processing software.
Optionally, the obtaining of the audio data from the video source corresponding to the video playing window includes:
acquiring audio data from a video playing window by using audio acquisition software;
audio data is acquired from the audio acquisition software using audio video processing software.
Optionally, the interactive window includes at least one of a whiteboard, a slide show, and a chat log.
Optionally, the method further includes:
determining at least one external software that performs a rendering operation of the picture data, an acquisition operation of playing the video data, and a generation operation of the playback video;
and packaging each external software by using an application container engine, and calling each external software packaged by the application container engine to execute rendering operation of each picture data, acquisition operation of playing video data and generation operation of playback video when an online course recording requirement is generated.
In a second aspect, an embodiment of the present disclosure further provides an apparatus for recording an online course, including:
the rendering module is used for rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
the acquisition module is used for acquiring playing video data of the online course window according to each rendered picture data;
and the generating module is used for generating a playback video according to the playing video data of the online course window.
In a third aspect, an embodiment of the present disclosure further provides a server, including:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method for recording an online lesson as described in the first aspect.
In a fourth aspect, the disclosed embodiments also provide a computer-readable storage medium, on which a computer program is stored, which when executed by a processor implements the online course recording method according to the first aspect.
The embodiment of the disclosure provides a method, a device, a server and a medium for recording online courses. Rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window; acquiring playing video data of the online course window according to the rendered picture data; and generating a playback video according to the playing video data of the online course window. By the scheme, the online courses played by the browser can be conveniently recorded.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, a brief description will be given below to the drawings required for the embodiments or the technical solutions in the prior art, and it is obvious that the drawings in the following description are some embodiments of the present disclosure, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flowchart of a method for recording an online course according to an embodiment of the present disclosure;
fig. 2 is a flowchart of a method for recording an online course according to a second embodiment of the disclosure;
fig. 3 is a flowchart of a method for recording an online course according to a third embodiment of the present disclosure;
fig. 4 is a flowchart of a method for recording an online course according to a fourth embodiment of the disclosure;
fig. 5 is a schematic structural diagram of an online course recording apparatus according to a fifth embodiment of the present disclosure;
fig. 6 is a schematic hardware structure diagram of a server according to a sixth embodiment of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the disclosure and are not limiting of the disclosure. It should be further noted that, for the convenience of description, only some of the structures relevant to the present disclosure are shown in the drawings, not all of them.
In the following embodiments, optional features and examples are provided in each embodiment, and various features described in the embodiments may be combined to form a plurality of alternatives, and each numbered embodiment should not be regarded as only one technical solution.
Example one
Fig. 1 is a flowchart illustrating a method for recording an online course according to an embodiment of the present disclosure, which is applicable to recording an online course, and is particularly applicable to generating a playback video after a server records a course. The method can be implemented by an online lesson recording device, which can be implemented by software and/or hardware, and can be integrated in server software.
As shown in fig. 1, the method for recording online courses provided in the embodiment of the present disclosure includes the following steps:
s101, rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
the online course window can generally access the web page through the access address, the browser analyzes the web page script and renders to form picture data, the picture data respectively correspond to the content displayed in the online course window in real time, and the number of the pictures can be determined by setting the intercepting frequency or the intercepting time interval of the content of the browser.
The video playing window is video content provided by a teacher end and/or a student end in the online course window, and may be, for example, a live video of a teacher lecture. An interactive window is another tool for teachers and students to interact with the course content in the online course window.
Optionally, the interactive window includes at least one of a whiteboard, a slide show, and a chat log.
S102, acquiring playing video data of an online course window according to each rendered picture data;
and using video coding software to code rendered picture data as a video input source to generate playing video data.
Optionally, the method further includes: acquiring original video data from a video source corresponding to a video playing window;
correspondingly, generating a playback video according to the playing video data of the online course window comprises:
and superposing the picture frames of the original video data in the picture frames of the video data played in the online course window frame by frame, and combining the audio data in the original video data to generate a playback video.
Optionally, the process of superimposing, frame by frame, the picture frame of the original video data in the picture frame of the video data played in the online course window further includes: and softening the edge area of the picture frame of the original video data.
The original video data is video data of a video playing window, and is difficult to be well fused with picture data rendered by the whole online course window, for example, the peripheral edge of a picture frame of the original video data is difficult to be accurate to each row and each column of pixels, the peripheral edge of the picture frame of the original video data is strictly aligned with the edge of the video playing window in the online course window, and the staggered seam enables a user to see repeated picture pixels. Because the picture frames of the online lesson window are rendered and screenshot by the browser, slight deviations in the position of the video playback window may occur for a variety of reasons. Therefore, it is necessary to perform a softening process on the edge area of the picture frame of the original video data, for example, transition process is performed on the pixels with a set number of rows or columns at the peripheral edge of the picture frame of the original video data, for example, a few rows or columns of pixels are added at the periphery, and a fixed pattern or frame can be arranged outside the edge area, so that even if a position deviation occurs, the whole online course window can be made to look softer.
According to the technical scheme, the original video data including the picture frame and the audio data are directly obtained from the video source of the video playing window, and the picture frame and the audio data in the original video data have good synchronism. And superposing the picture frame of the original video data to the picture frame of the online course window, and combining the audio data, so that the synchronism of the audio data and the picture frame of the original video data can be kept.
Optionally, rendering the online course window through the browser to form a plurality of picture data includes:
and calling a local interface of the browser through file transmission software, loading the online course multimedia content, and rendering and generating a plurality of picture data according to a web page corresponding to the online course multimedia content.
The step of obtaining playing video data of the online course window according to the rendered picture data comprises the following steps:
continuously displaying the picture data;
intercepting and storing a video frame from a screen display picture according to a set frequency by using an API (application programming interface) application programming interface with a screen capturing function of file transmission software;
and generating the playing video data from each stored video frame by using audio and video processing software.
The file transfer software can be webdriver software, for example, which is an automated testing tool commonly used in the front end and is a set of file transfer tools convenient to use. The audio-video processing software, for example, may be selected from ffmpeg software, which is an open-source computer program that can be used to record, convert digital audio, video, and convert them into streams. Thereby providing a complete solution for recording, converting and streaming audio-video.
S103, generating a playback video according to the playing video data of the online course window.
The playback video is a complete video file, and is convenient for a user to download. Since the browser is also used for rendering the online course window in the video recording process, high-quality playback content can be provided for the user.
According to the technical scheme, the online courses played by the browser are recorded into the playback video, the problems that a user can only watch the playback in a mode that the user accesses the URL through the browser and cannot watch the playback through a terminal which is not compatible with the browser are solved, and the effect that the user can watch and forward the online course playback video conveniently is achieved.
Example two
Fig. 2 shows a flowchart of a recording method for online courses according to a second embodiment of the present disclosure, where this embodiment is based on the foregoing embodiment and is suitable for a situation where a server has a display card or does not have a display card, and if the server does not have a display card, the entire recording process does not need to actually display the content, so that the implementation of the recording scheme is not affected.
As shown in fig. 2, the method for recording online courses provided in the embodiment of the present disclosure includes the following steps:
s201, calling a local interface of a browser through file transmission software, loading online course multimedia content, and rendering and generating picture data according to a web page corresponding to the online course multimedia content;
s202, using virtual graphic interface software to start a port monitoring function, acquiring rendered picture data in a memory, and sending the rendered picture data to a set port;
preferably, a TCP port may be monitored, and rendered picture data may be obtained from the port through a TCP protocol.
The virtual graphics interface software, for example, may be xvfb, which corresponds to a wrapper package, and provides a virtual X server to the application. The X server is short for a graphical interface server in the linux system and can provide system support for graphical interfaces such as KDE and GNOME. By configuring the parameters of the virtual graphic interface software, the port monitoring function can be started, the picture data in the memory can be acquired, and the size of the picture interface can be controlled by setting the parameters. The rendered virtual graphics memory data can be sent to a designated port through a software command, and the file transfer software can perform video coding by setting an input source to the designated port of the file transfer software.
S203, generating playing video data of an online course window by using the picture data input by the audio and video processing software through the set port, wherein the set port is a video input source port of the audio and video processing software;
and S204, generating a playback video according to the playing video data of the online course window.
The playback video is a complete video file, and is convenient for a user to download. Since the browser is also used for rendering the online course window in the video recording process, high-quality playback content can be provided for the user.
According to the technical scheme of the embodiment, each rendered picture data can be directly acquired to serve as a video input source of video editing software, a server is not required to be provided with a display card, and the requirement of a recording method on hardware is reduced.
EXAMPLE III
Fig. 3 shows a flowchart of a method for recording an online course according to a third embodiment of the present disclosure, and this embodiment is based on the foregoing embodiments and is suitable for a situation where a server does not have a sound card and needs to record sound.
As shown in fig. 3, provided in the embodiments of the present disclosure
The method for recording the online courses comprises the following steps:
s301, rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
s302, acquiring playing video data of an online course window according to each rendered picture data;
s303, acquiring audio data from a video source corresponding to the video playing window;
s304, coding is carried out according to the audio data and the playing video data of the online course window to generate a playback video.
Wherein the audio data is the audio data of the video playing window itself. And using video coding software to take the audio data as an audio input source, and coding the audio data to generate playing audio data.
Optionally, the obtaining of the audio data from the video source corresponding to the video playing window includes:
acquiring audio data from a video playing window by using audio acquisition software;
audio data is acquired from the audio acquisition software using audio video processing software.
The audio acquisition software may be PulseAudio software, for example, which provides a cross-platform voice service operable through a network. Because the server is not usually installed with a sound card driver, audio data cannot be directly acquired from the sound card driver, and the PulseAudio software is a sound service between the ALSA (advanced Linux sound architecture for short) and the application layer, and the file transfer software can directly acquire the audio data from the audio acquisition software through a read-in command and encode the audio data.
The video coding method comprises the steps of coding according to the audio data and the playing video data of the online course window to generate a playback video, wherein the coding can be performed by using file transfer software, such as ffmpeg software, and video coding parameters can be adjusted through a built-in command of the software, and the video coding parameters can be specifically adjusted: specifying a data format for a video source;
respectively appointing to obtain virtual memory graphic data from a set port of a local machine, and obtaining audio data from audio obtaining software; the resolution of the video source; video clipping, such as removing the address bar and the surrounding blank area; other parameters, for example, include: video h264 coding, audio aac coding, a graphic storage format of yuv420p, a frame rate, audio of two channels, a sampling rate, an audio code rate and the like.
According to the technical scheme of the embodiment, the audio acquisition software is used for directly acquiring the audio data as the audio input source of the video editing software, the server is not required to be provided with a sound card, and the requirement of the recording method on hardware is reduced.
Example four
Fig. 4 shows a flowchart of a recording method for online courses according to a fourth embodiment of the present disclosure, which optimizes an overall engineering architecture based on the foregoing embodiments, and integrates a recording process for online courses into one project.
As shown in fig. 4, the method for recording online courses provided in the embodiment of the present disclosure includes the following steps:
s401, determining at least one external software for executing rendering operation of picture data, obtaining operation of playing video data and generating operation of playback video;
s402, packaging each external software by an application container engine, and calling each external software packaged by the application container engine to execute rendering operation of each picture data, acquisition operation of playing video data and generation operation of playback video when an online course recording requirement is generated.
The application container engine, for example, may be a docker, and is an open-source application container engine, so that developers may package their applications and dependency packages into a portable container, and then distribute the package to any popular Linux machine, and may also implement virtualization.
The recording process of the online course can be integrated into a project, and the project is divided into three parts, namely a task management API (application programming interface), a task execution part and a callback (callback), wherein each part is executed by a corresponding module.
The task management API module provides an external interface for acquiring task events, recording the task events into a warehouse and scheduling the tasks. The module is a general task management module and can manage which service each type of task is specifically executed by. The externally provided API functions include: 1. creating and binding a task according to the online course service, and setting default parameters and callback addresses of the task; 2. displaying a list of currently bound online course services; 3. providing a list of each online course recording task, and displaying the current task state; 4. the task to be performed is submitted. Where the online lesson service may correspond to different lessons, e.g., english, math, chinese, etc. An online course recording task corresponds to an online course, for example, an english course service, and an online course recording task can be triggered every english course. And the task management API module receives the task event of the front-end service module, acquires the URL of the online course to form a task, and sets a callback address, wherein the callback address is an address for feeding back the recorded playback video storage address and the recorded successful message to the front-end service address.
The task execution module runs on the server and runs in the mode of an application container engine container, and the application container engine packages file transmission software, virtual graphic interface software, audio acquisition software and audio and video processing software, so that a recording function can be provided. When the task execution module obtains the online course recording task, the application container engine is called, the course recording is carried out by using each software, a playback video is generated and uploaded to the storage server, the storage address and the recording completion state are written into the callback queue as callback information, and the callback module can conveniently carry out data callback.
The callback module provides general callback service, reads callback data from a callback queue, records the data into a database, inquires a corresponding callback address set by the task management API module, and finishes data callback to the callback address. The realization function comprises: 1. callback records, including the answer state; 2. and executing retry strategy after failing to retry.
S403, rendering an online course window through a browser to form a plurality of image data, wherein the online course window at least comprises a video playing window and an interactive window;
s404, acquiring playing video data of the online course window according to each rendered picture data;
s405, generating a playback video according to the playing video data of the online course window.
According to the technical scheme of the embodiment, the online courses are recorded into the playback video to create an integral frame task, the tasks are performed through the task management module, the task execution module and the call-back module, the multiple online course recording tasks at the front end are allowed to be supported, the problem that an achievable scheme of recording the online courses into the playback video does not exist in the prior art is solved, and the effect of enabling users to conveniently watch and forward the online course playback video is achieved.
EXAMPLE five
The online course recording device provided by the embodiment of the disclosure can execute the live content preview method provided by any embodiment of the disclosure, and has corresponding functional modules and beneficial effects of the execution method.
Fig. 5 is a schematic structural diagram of a recording device for online courses according to a fifth embodiment of the present disclosure, where the fifth embodiment of the present disclosure is applicable to a case of previewing live content.
As shown in fig. 5, the device for recording online courses in the embodiment of the disclosure includes
A rendering module 501, configured to render an online course window through a browser to form multiple pieces of picture data, where the online course window at least includes a video playing window and an interaction window;
an obtaining module 502, for obtaining the playing video data of the online course window according to each rendered picture data;
a generating module 503, configured to generate a playback video according to the playing video data of the online course window.
Optionally, the obtaining module 502 further includes an original video obtaining module 5021, configured to obtain original video data from a video source corresponding to the video playing window;
accordingly, the generating module 503 is further configured to:
and superposing the picture frames of the original video data in the picture frames of the video data played in the online course window frame by frame, and combining the audio data in the original video data to generate a playback video.
Optionally, the generating module 503 is further configured to:
and in the process of superposing the picture frames of the original video data on the picture frames of the playing video data of the online course window frame by frame, softening the edge regions of the picture frames of the original video data.
Optionally, the apparatus further includes an audio obtaining module 504, configured to obtain audio data from a video source corresponding to the video playing window;
accordingly, the generating module 503 is further configured to:
and coding according to the audio data and the playing video data of the online course window to generate a playback video.
Optionally, the rendering module 501 is specifically configured to:
and calling a local interface of the browser through file transmission software, loading the online course multimedia content, and rendering and generating a plurality of picture data according to a web page corresponding to the online course multimedia content.
Optionally, the obtaining module 502 is specifically configured to include:
continuously displaying the picture data;
capturing and storing a video frame from a screen display picture by using an API (application programming interface) of a screen capturing function of file transmission software according to a set frequency;
and generating the playing video data from each stored video frame by using audio and video processing software.
Optionally, the obtaining module 502 is specifically configured to:
using virtual graphic interface software to start a port monitoring function, acquiring rendered picture data in a memory, and sending the rendered picture data to a set port;
and generating playing video data of the online course window by using audio and video processing software through the picture data input by the set port, wherein the set port is a video input source port of the audio and video processing software.
Optionally, the audio obtaining module 504 is specifically configured to:
acquiring audio data from a video playing window by using audio acquisition software;
audio data is acquired from the audio acquisition software using audio video processing software.
Optionally, the interactive window includes at least one of a whiteboard, a slide show, and a chat log.
Optionally, the system further includes a project management module 505, configured to integrate the recording process of the online course into a project, specifically:
prior to rendering the online course window through the browser,
determining at least one external software that performs a rendering operation of the picture data, an acquisition operation of playing the video data, and a generation operation of the playback video;
packaging each external software by an application container engine, and calling each external software packaged by the application container engine to perform rendering operation of each picture data, acquisition operation of playing video data and generation operation of playback video when online course recording requirements are generated
The online course recording device provided by the embodiment of the disclosure and the online course recording method provided by the embodiment of the disclosure belong to the same inventive concept, and technical details which are not described in detail in the embodiment of the disclosure can be referred to the embodiment, and the embodiment of the disclosure and the method embodiment have the same beneficial effects.
EXAMPLE six
Fig. 6 shows a hardware structure diagram of a server 600 according to a fourth embodiment of the present disclosure. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the server 600 may include a processing device (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage device 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the server 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the server 600 to perform wireless or wired communication with other devices to exchange data. While fig. 6 illustrates a server 600 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.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
The method mainly comprises the following steps:
rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
acquiring playing video data of the online course window according to the rendered picture data;
and generating a playback video according to the playing video data of the online course window.
The terminal provided by the embodiment of the present disclosure and the method for recording the online course provided by the foregoing embodiment belong to the same inventive concept, and technical details that are not described in detail in the embodiment of the present disclosure may be referred to the foregoing embodiment, and the embodiment of the present disclosure has the same beneficial effects as the foregoing embodiment.
EXAMPLE seven
The seventh embodiment of the present disclosure provides a readable medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method for recording online courses provided in the foregoing embodiments, where the method mainly includes:
rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
acquiring playing video data of the online course window according to the rendered picture data;
and generating a playback video according to the playing video data of the online course window.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the server; or may exist separately and not be assembled into the server.
The computer readable medium carries one or more programs which, when executed by the server, cause the server to: acquiring at least two internet protocol addresses; sending a node evaluation request comprising the at least two internet protocol addresses to node evaluation equipment, wherein the node evaluation equipment selects the internet protocol addresses from the at least two internet protocol addresses and returns the internet protocol addresses; receiving an internet protocol address returned by the node evaluation equipment; wherein the obtained internet protocol address indicates an edge node in the content distribution network.
Alternatively, the computer readable medium carries one or more programs which, when executed by the server, cause the server to: receiving a node evaluation request comprising at least two internet protocol addresses; selecting an internet protocol address from the at least two internet protocol addresses; returning the selected internet protocol address; wherein the received internet protocol address indicates an edge node in the content distribution network.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first retrieving unit may also be described as a "unit for retrieving at least two internet protocol addresses".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (12)

1. A method for recording online courses, comprising:
rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
acquiring playing video data of the online course window according to the rendered picture data;
acquiring original video data according to a video source corresponding to a video playing window, superposing the picture frames of the original video data in the picture frames of the playing video data of the online course window frame by frame, and generating a playback video by combining audio data in the original video data.
2. The method as claimed in claim 1, wherein superimposing the frame of the original video data frame by frame in the frame of the video data played in the online lesson window further comprises:
and softening the edge area of the picture frame of the original video data.
3. The method of claim 1, further comprising: acquiring audio data from a video source corresponding to the video playing window;
correspondingly, generating a playback video according to the playing video data of the online course window comprises:
and coding according to the audio data and the playing video data of the online course window to generate a playback video.
4. The method of claim 3, wherein obtaining audio data from a video source corresponding to a video playback window comprises:
acquiring audio data from a video playing window by using audio acquisition software;
audio data is acquired from the audio acquisition software using audio video processing software.
5. The method of claim 1, wherein rendering the online lesson window through the browser to form the plurality of picture data comprises:
and calling a local interface of the browser through file transmission software, loading the online course multimedia content, and rendering and generating a plurality of picture data according to a web page corresponding to the online course multimedia content.
6. The method of claim 5, wherein obtaining the playing video data of the online lesson window according to the rendered respective picture data comprises:
continuously displaying each picture data;
capturing and storing a video frame from a screen display picture by using an API (application programming interface) of a screen capturing function of file transmission software according to a set frequency;
and generating the playing video data from each stored video frame by using audio and video processing software.
7. The method of claim 5, wherein obtaining the playing video data of the online lesson window according to the respective rendered picture data comprises:
using virtual graphic interface software to start a port monitoring function, acquiring rendered picture data in a memory, and sending the rendered picture data to a set port;
and generating playing video data of the online course window by using audio and video processing software through the picture data input by the set port, wherein the set port is a video input source port of the audio and video processing software.
8. The method of claim 1, wherein:
the interactive window includes at least one of a whiteboard, a slide show, and a chat log.
9. The method of claim 1, wherein prior to rendering the online lesson window via the browser, further comprising:
determining at least one external software that performs a rendering operation of the picture data, an acquisition operation of playing the video data, and a generation operation of the playback video;
and packaging each external software by using an application container engine, and calling each external software packaged by the application container engine to execute rendering operation of each picture data, acquisition operation of playing video data and generation operation of playback video when an online course recording requirement is generated.
10. An apparatus for recording online lessons, comprising:
the rendering module is used for rendering an online course window through a browser to form a plurality of picture data, wherein the online course window at least comprises a video playing window and an interactive window;
the acquisition module is used for acquiring playing video data of the online course window according to the rendered picture data;
the generating module is used for acquiring original video data according to a video source corresponding to a video playing window, superposing the picture frames of the original video data in the picture frames of the playing video data of the online course window frame by frame, and generating a playback video by combining the audio data in the original video data.
11. A server, characterized in that the server comprises:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement a method for recording an online lesson as recited in any of claims 1-9.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a method for recording an online lesson according to any one of claims 1 to 9.
CN201811302479.9A 2018-11-02 2018-11-02 Online course recording method, device, server and medium Active CN109168076B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811302479.9A CN109168076B (en) 2018-11-02 2018-11-02 Online course recording method, device, server and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811302479.9A CN109168076B (en) 2018-11-02 2018-11-02 Online course recording method, device, server and medium

Publications (2)

Publication Number Publication Date
CN109168076A CN109168076A (en) 2019-01-08
CN109168076B true CN109168076B (en) 2021-03-19

Family

ID=64875574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811302479.9A Active CN109168076B (en) 2018-11-02 2018-11-02 Online course recording method, device, server and medium

Country Status (1)

Country Link
CN (1) CN109168076B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111355768B (en) * 2019-04-24 2023-05-30 深圳市鸿合创新信息技术有限责任公司 Video data transmission method and device and electronic equipment
CN111050101A (en) * 2019-11-20 2020-04-21 杭州米络星科技(集团)有限公司 Courseware media mixed recording method based on CEF off-screen rendering technology
CN111818383B (en) * 2020-07-14 2022-03-04 北京字节跳动网络技术有限公司 Video data generation method, system, device, electronic equipment and storage medium
CN112004042A (en) * 2020-08-10 2020-11-27 深圳创维数字技术有限公司 Course recording method, device, system and computer readable storage medium
CN112399249A (en) * 2020-11-12 2021-02-23 创盛视联数码科技(北京)有限公司 Multimedia file generation method and device, electronic equipment and storage medium
CN112073810B (en) * 2020-11-16 2021-02-02 全时云商务服务股份有限公司 Multi-layout cloud conference recording method and system and readable storage medium
CN113055624B (en) * 2020-12-31 2022-06-14 创盛视联数码科技(北京)有限公司 Course playback method, server, client and electronic equipment
CN113259756B (en) * 2021-06-25 2021-09-17 大学长(北京)网络教育科技有限公司 Online course recording method and system
CN113905254B (en) * 2021-09-03 2024-03-29 前海人寿保险股份有限公司 Video synthesis method, device, system and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015154639A1 (en) * 2014-04-10 2015-10-15 Tencent Technology (Shenzhen) Company Limited Method and apparatus for recording and replaying video of terminal
CN105049916A (en) * 2015-06-30 2015-11-11 努比亚技术有限公司 Video recording method and device
CN105979357A (en) * 2015-12-03 2016-09-28 乐视致新电子科技(天津)有限公司 Teaching video processing method and device
CN108055490A (en) * 2017-10-25 2018-05-18 北京川上科技有限公司 A kind of method for processing video frequency, device, mobile terminal and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232598A (en) * 2008-02-28 2008-07-30 北京中星微电子有限公司 Equipment and method for displaying video image
US9049482B2 (en) * 2012-02-19 2015-06-02 Udacity, Inc. System and method for combining computer-based educational content recording and video-based educational content recording
WO2015112623A1 (en) * 2014-01-22 2015-07-30 Microsoft Technology Licensing, Llc Authoring, sharing and consumption of online courses
CN106406710B (en) * 2016-09-30 2021-08-27 维沃移动通信有限公司 Screen recording method and mobile terminal
CN106851385B (en) * 2017-02-20 2019-12-27 北京乐我无限科技有限责任公司 Video recording method and device and electronic equipment
CN108449640B (en) * 2018-03-26 2021-05-07 广州虎牙信息科技有限公司 Live video output control method and device, storage medium and terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015154639A1 (en) * 2014-04-10 2015-10-15 Tencent Technology (Shenzhen) Company Limited Method and apparatus for recording and replaying video of terminal
CN105049916A (en) * 2015-06-30 2015-11-11 努比亚技术有限公司 Video recording method and device
CN105979357A (en) * 2015-12-03 2016-09-28 乐视致新电子科技(天津)有限公司 Teaching video processing method and device
CN108055490A (en) * 2017-10-25 2018-05-18 北京川上科技有限公司 A kind of method for processing video frequency, device, mobile terminal and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于H.264/AVC屏幕录制回放系统;敖文兵;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130715(第7期);全文 *

Also Published As

Publication number Publication date
CN109168076A (en) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109168076B (en) Online course recording method, device, server and medium
US11887630B2 (en) Multimedia data processing method, multimedia data generation method, and related device
CN109168021B (en) Plug flow method and device
WO2021196903A1 (en) Video processing method and device, readable medium and electronic device
WO2020233142A1 (en) Multimedia file playback method and apparatus, electronic device, and storage medium
CN108924582B (en) Video recording method, computer readable storage medium and recording and playing system
CN113055624B (en) Course playback method, server, client and electronic equipment
CN111277869B (en) Video playing method, device, equipment and storage medium
US9952739B2 (en) Modular audio control surface
CN111930973B (en) Multimedia data playing method and device, electronic equipment and storage medium
EP4152757A1 (en) Video playback method and apparatus, storage medium, and electronic device
WO2020220773A1 (en) Method and apparatus for displaying picture preview information, electronic device and computer-readable storage medium
CN110784753B (en) Interactive video playing method and device, storage medium and electronic equipment
EP4131983A1 (en) Method and apparatus for processing three-dimensional video, readable storage medium, and electronic device
CN109168027B (en) Instant video display method and device, terminal equipment and storage medium
WO2024002120A1 (en) Media content display method and apparatus, device, and storage medium
CN111818383B (en) Video data generation method, system, device, electronic equipment and storage medium
US20220150290A1 (en) Adaptive collaborative real-time remote remediation
CN115941986A (en) Live broadcast information display method and device, electronic equipment and storage medium
CN112330996A (en) Control method, device, medium and electronic equipment for live broadcast teaching
CN113139090A (en) Interaction method, interaction device, electronic equipment and computer-readable storage medium
CN111885345A (en) Teleconference implementation method, teleconference implementation device, terminal device and storage medium
US20240160341A1 (en) Video processing methods, device, storage medium, and program product
Jonach et al. Automatic System for Producing and Distributing Lecture Recordings and Livestreams Using Opencast Matterhorn.
CN114302228A (en) Interactive video playing method, system 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
GR01 Patent grant
GR01 Patent grant