CN102572518A - VideoLan client (VLC)-based video image analysis platform and method - Google Patents

VideoLan client (VLC)-based video image analysis platform and method Download PDF

Info

Publication number
CN102572518A
CN102572518A CN2012100096791A CN201210009679A CN102572518A CN 102572518 A CN102572518 A CN 102572518A CN 2012100096791 A CN2012100096791 A CN 2012100096791A CN 201210009679 A CN201210009679 A CN 201210009679A CN 102572518 A CN102572518 A CN 102572518A
Authority
CN
China
Prior art keywords
algorithm
client
video image
module
file
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
CN2012100096791A
Other languages
Chinese (zh)
Other versions
CN102572518B (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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN201210009679.1A priority Critical patent/CN102572518B/en
Publication of CN102572518A publication Critical patent/CN102572518A/en
Application granted granted Critical
Publication of CN102572518B publication Critical patent/CN102572518B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)

Abstract

The invention discloses a videoLan client (VLC)-based video image analysis platform and a VLC-based video image analysis method. The platform comprises a libvlc kernel, an algorithm processing buffer frame module, a video streaming output module and a client interface. Client/server architecture is adopted by the method. A client has a function of uploading video images and algorithms and can be used for watching video image processing results on line, and a server is used for offering a video image processing function, supporting the Matlab programming algorithm to process video images on line and transmitting processed video files to the client by means of VLC streaming media. According to the technology, the video files with various formats can be processed, and processed results can be watched in real time while Matlab programming is supported.

Description

Video image analysis platform and method based on VLC
Technical field
The present invention can be the user service of Matlab online treatment video image is provided, and is specifically related to video image processing, multimedia communication and network calculations technology, belongs to intelligent video image processing and web services technologies field.
Background technology
At present; The video image Processing Algorithm adopts Matlab software to carry out emulation more, and main cause is that Matlab not only has abundant function library, makes algorithm routine develop than be easier to; And have various video image processing kit, make the user handle various video images more easily.Therefore, cause the Matlab software systems huge and complicated, made problems such as the video image processing speed is slower, and cross-platform installation is loaded down with trivial details.Especially, when Matlab handles video image, aspects such as coded format and file size there is strict requirement.Therefore, in practical application, has significant limitation.
VLC (VideoLan Client) is a cross-platform media player and streaming media server, is initially the client of VideoLan, can be used for playing network streaming media and this machine multimedia file, and video data is had powerful tenability.Restriction when making the user need not consider that Matlab handles video image; Like coded format and file size etc.; More easily the video image related algorithm is studied, it is kernel with VLC that the present invention has developed a kind of, can support the video image processing technology of Matlab programming.This technology provides great convenience for the user who is familiar with the .M script emulation, supports Matlab programmed algorithm online treatment video image, and the user need not download also can watch processed video stream.
Summary of the invention
The present invention seeks to provides a kind of video image analysis platform and method based on VLC to the defective that prior art exists.
The present invention adopts following technical scheme for realizing above-mentioned purpose:
The present invention is based on the video image analysis platform of VLC, comprise the libvlc kernel, algorithm process buffered frame module, video flowing output module and client-side interface; Libvlc kernel calls algorithm process buffered frame module is to accomplish the processing to video image; Algorithm process buffered frame module is used for handling tears the video image of depositing at heap behind the frame open; The video flowing output module is used for showing result at server end, and the result is sent to client; Client-side interface partly comprises access, video output and the threaded systems of client functionality interface, stream, and the client functionality interface is used to receive the Matlab programmed algorithm of client upload; The access of stream is used to receive the video flowing of client upload; Video output is the video image process result to be transferred to client to server end according to user's request; Threaded systems is after client and server end connect, to open a thread customer in response end operation.
Analytical method based on the video image analysis platform of VLC; Said method is drawn together as follows: client is uploaded to server end according to user's demand with vedio data with based on the algorithm of Matlab programming; After server end receives the algorithm and data that the user uploads; Through VLC video image processing platform algorithm is loaded in the corresponding video image, it is handled, the video image result is shown to client with the mode of Streaming Media.
Is that coupling module falls in algorithm by transmission module on the algorithm based on the video image analysis platform of VLC to the processing by the algorithm of Matlab programming, calls algoritic module 3 parts and forms; Transmission module comprises client upload function and server receiving function to the Matlab programmed algorithm of the client end of uploading onto the server on the algorithm; Algorithm falls coupling module and is compiled into the C file to the Matlab programmed algorithm that receives, and is placed under the modules subdirectory; The utilization of libvlc kernel is called algoritic module and is called C file under the modules catalogue, supplies the video image in the algorithm process buffered frame resume module heap.
Algorithm process buffered frame module performing step is following:
(1) the libvlc kernel finds the current images displayed of wanting in heap;
(2) utilization is called algoritic module and is called Matlab video image Processing Algorithm under the modules catalogue;
(3) this image of libvlc kernel calls algorithm process buffered frame resume module;
(4) the processed video image is write back in the heap.
The video flowing output module is concrete to be realized as follows:
(a) the class MediaException of structural anomaly structure, structure Core class, MediaHandle class, Media class, MediaPlayerHandle class, MediaPlayer class;
(b) create also libvlc instance of initialization;
(c) create an empty medium player object, relevant parameter is set;
(d) use the back to discharge media player object, reduce the number of times of quoting of media player object.If counting has been zero, will discharge media player object, if media player object has been released, this method no longer is called;
(e) the event notice Register is provided with event handler;
(f) the win32/win64 window handle that gives the output of media player medium is set;
(g) reclaim the rubbish associative operation.
Transmission module comprises client upload function and server termination receipts function on the algorithm:
Client algorithm upload function performing step:
1) setting up socket with server end is connected;
2) the user end to server end sends the filename of Matlab algorithm, then from the Matlab programmed algorithm reading of data to buffering area and send to server end;
3) client is opened up the buffering area of transmission; Should the size and the buffering area of residue file be done comparison before each the transmission; When the size of residue file during less than buffering area big or small, the size of adjustment buffering area is identical with the residue file, and remaining file is sent to server end;
Server end is done following processing:
A) with after client connects, after receiving file reception request command and Matlab algorithm filename, the file opening receiving thread;
B) the file receiving thread is opened up with the buffering area of the identical size of client and is received the Matlab algorithm that client transmits, if the size of last filebuf less than buffer size, only accepts should have mutually that block buffer of data.
The coupling module performing step falls in said algorithm, like Fig. 6:
A) server end is accepted the Matlab algorithm and the Request Processing instruction of client upload;
B) utilize compiler that the .M file is compiled into the .C file, support the compiling of a plurality of .M files, the C file that the compiling back generates is placed under the modules subdirectory, and what deposit under the modules catalogue all is the video image Processing Algorithm of VLC;
C) this C file is the interface that VLC handles video image, and the libvlc kernel calls algoritic module through utilization and calls the video image in this interface confession algorithm process buffered frame resume module heap.
The present invention can handle the video file of multiple form, when supporting the Matlab programming, can watch in real time and handle the back result.
Description of drawings
Fig. 1: video image processing platform;
Fig. 2: server end is supported Matlab online treatment technology;
Fig. 3: algorithm process buffered frame module;
Fig. 4: video flowing output module;
The last transmission module of Fig. 5: Matlab;
Fig. 6: coupling module falls in the Matlab programmed algorithm.
Embodiment
The present invention has designed a kind of in LAN environment; With VLC is the video image processing technology of kernel exploitation; This technology is with the basic framework of the pattern construction system of client/server; Wherein, server end has been developed the video image processing platform based on VLC, can carry out relevant treatment operations to video image; Client is uploaded to server according to user's demand with vedio data with based on the algorithm of Matlab programming; After server end receives the algorithm and data that the user uploads; Through VLC video image processing platform algorithm is loaded in the corresponding video image; It is handled, and the video image result is shown to client with the mode of Streaming Media.
The present invention design be that the video image processing platform of core comprises the libvlc kernel, algorithm process buffered frame module, video flowing output module and client-side interface 4 parts with VLC.Libvlc kernel calls algorithm process buffered frame module is to accomplish the processing to video image; Algorithm process buffered frame module is used for handling tears the video image of depositing at heap behind the frame open; The video flowing output module is used for showing result at server end, and the result is sent to client.Client-side interface comprises that partly client functionality interface, stream insert, video is exported and threaded systems.The client functionality interface is used to receive the Matlab programmed algorithm of client upload; Stream inserts the video flowing that is used to receive client upload; Video output is the video image process result to be utilized libvlc to server end according to user's request, and dynamic link libraries such as libvlccore are transferred to client; Threaded systems is after client and server end connect, to open a thread customer in response end operation.The video image processing platform is as shown in Figure 1.
The server end video image processing platform of the present invention's design supports that it is that coupling module falls in algorithm by transmission module on the algorithm based on Matlab programmed algorithm online treatment function, calls algoritic module 3 parts and forms.Transmission module comprises client upload function and server receiving function to the Matlab programmed algorithm of the client end of uploading onto the server on the algorithm; Algorithm falls coupling module and is compiled into the C file to the Matlab programmed algorithm that receives, and is placed under the modules subdirectory; The libvlc utilization is called algoritic module and is called C file under the modules catalogue, supplies the video image in the algorithm process buffered frame resume module heap.Server supports Mallab online treatment technology to see Fig. 2:
Video image processing system based on the VLC exploitation:
The video image processing platform that with VLC is core is handled the video image function by the libvlc kernel, algorithm process buffered frame module, and video flowing output module 3 parts realize.The video image of depositing in the libvlc kernel calls algorithm process buffered frame resume module heap; Libvlc kernel calls video flowing output module sends to client with the result.
The Matlab programmed algorithm generates the .C file after falling coupling module through algorithm; This document is placed under the modules subdirectory; Utilize the libvlc kernel in heap, to find the player next frame to want images displayed; Libvlc kernel utilization is simultaneously called the C file that algoritic module calls the modules subdirectory under dynamically and is supplied algorithm process buffered frame resume module next frame to want video image displayed, and the image after the processing is write back in the heap, creates a multimedia player object; Be used for showing that the current time stabs wants images displayed, and will handle back result and send to client with the mode of flow transmission.Algorithm process buffered frame module performing step (is seen shown in Figure 3) as follows:
(1) the libvlc kernel finds the current images displayed of wanting in heap;
(2) utilization is called algoritic module and is called Matlab video image Processing Algorithm under the modules catalogue;
(3) this image of libvlc kernel calls algorithm process buffered frame resume module;
(4) the processed video image is write back in the heap.
The video flowing output module:
After service end is received video file and Matlab algorithm, just begin to handle video image and utilize libvlc, libvlccore to carry out flow transmission simultaneously, specifically realize following (see figure 4):
(1) the class MediaException of structural anomaly structure, structure Core class, MediaHandle class, Media class, MediaPlayerHandle class, MediaPlayer class;
(2) create also libvlc instance of initialization;
(3) create an empty medium player object, relevant parameter is set;
(4) use the back to discharge media player object, reduce the number of times of quoting of media player object.If counting has been zero, will discharge media player object, if media player object has been released, this method should not be called again;
(5) the event notice Register is provided with event handler;
(6) the win32/win64 window handle that gives the output of media player medium is set;
(7) reclaim associative operation such as rubbish.
Server end is to Matlab algorithm on-line processing capacity
Server end has designed transmission module on the algorithm in order to support the Matlab programming, and coupling module falls in algorithm, calls algoritic module 3 parts.Transmission module is used for the Matlab programmed algorithm that the user the writes end of uploading onto the server on the algorithm; Algorithm falls coupling module and is compiled into the C file to the Matlab programmed algorithm that receives, and is placed under the modules subdirectory; Call algoritic module and call C file under the modules catalogue, supply the video image in the algorithm process buffered frame resume module heap.Transmission module comprises client upload function and server termination receipts function on the algorithm.As shown in Figure 5:
Client algorithm upload function performing step:
(1) setting up socket with server end is connected;
(2) the user end to server end sends the filename of Matlab algorithm, then from the Matlab programmed algorithm reading of data to buffering area and send to server end;
(3) client is opened up the buffering area of transmission; Should the size and the buffering area of residue file be done comparison before each the transmission; When the size of residue file during less than buffering area big or small, the size of adjustment buffering area is identical with the residue file, and remaining file is sent to server end.
Server end is done following processing:
(1) with after client connects, after receiving file reception request command and Matlab algorithm filename, the file opening receiving thread;
(2) the file receiving thread is opened up with the buffering area of the identical size of client and is received the Matlab algorithm that client transmits, if the size of last filebuf less than buffer size, only accepts should have mutually that block buffer of data.The coupling module performing step falls in algorithm, like Fig. 6:
(1) server end is accepted the Matlab algorithm and the Request Processing instruction of client upload;
(2) utilize compiler that the .M file is compiled into the .C file, support the compiling of a plurality of .M files, the C file that the compiling back generates is placed under the modules subdirectory, and what deposit under the modules catalogue all is the video image Processing Algorithm of VLC;
(3) this C file is the interface that VLC handles video image, and the libvlc kernel calls algoritic module through utilization and calls the video image in this interface confession algorithm process buffered frame resume module heap.
Call algoritic module:
The VLC kernel is through calling the Matlab algorithm with the C hybrid programming, and the C file that generates after the on-the-flier compiler is kept under the modules subdirectory, can call algoritic module through utilization on the VLC kernel and call this C file completion video image processing.The interface function that the VLC video image is handled be MyFilter (filter_t*, picture_t*), return value is the image after handling, the libvlc kernel writes back it in heap.Matlab algorithm and C hybrid programming flow process are like Fig. 6.

Claims (7)

1. the video image analysis platform based on VLC is characterized in that comprising the libvlc kernel, algorithm process buffered frame module, video flowing output module and client-side interface; Libvlc kernel calls algorithm process buffered frame module is to accomplish the processing to video image; Algorithm process buffered frame module is used for handling tears the video image of depositing at heap behind the frame open; The video flowing output module is used for showing result at server end, and the result is sent to client; Client-side interface partly comprises access, video output and the threaded systems of client functionality interface, stream, and the client functionality interface is used to receive the Matlab programmed algorithm of client upload; The access of stream is used to receive the video flowing of client upload; Video output is the video image process result to be transferred to client to server end according to user's request; Threaded systems is after client and server end connect, to open a thread customer in response end operation.
2. analytical method based on the video image analysis platform of VLC; It is characterized in that said method is following: client is uploaded to server end according to user's demand with vedio data with based on the algorithm of Matlab programming; After server end receives the algorithm and data that the user uploads; Through VLC video image processing platform algorithm is loaded in the corresponding video image, it is handled, the video image result is shown to client with the mode of Streaming Media.
3. the analytical method of the video image analysis platform based on VLC according to claim 2, the algorithm that it is characterized in that said Matlab programming is by transmission module on the algorithm, and coupling module falls in algorithm, calls algoritic module 3 parts and forms; Transmission module comprises client upload function and server receiving function to the Matlab programmed algorithm of the client end of uploading onto the server on the algorithm; Algorithm falls coupling module and is compiled into the C file to the Matlab programmed algorithm that receives, and is placed under the modules subdirectory; The utilization of libvlc kernel is called algoritic module and is called C file under the modules catalogue, supplies the video image in the algorithm process buffered frame resume module heap.
4. the analytical method of the video image analysis platform based on VLC according to claim 2 is characterized in that said algorithm process buffered frame module performing step is following:
(1) the libvlc kernel finds the current images displayed of wanting in heap;
(2) utilization is called algoritic module and is called Matlab video image Processing Algorithm under the modules catalogue;
(3) this image of libvlc kernel calls algorithm process buffered frame resume module;
(4) the processed video image is write back in the heap.
5. the analytical method of the video image analysis platform based on VLC according to claim 2 is characterized in that said video flowing output module is concrete to realize as follows:
(a) the class MediaException of structural anomaly structure, structure Core class, MediaHandle class, Media class, MediaPlayerHandle class, MediaPlayer class;
(b) create also libvlc instance of initialization;
(c) create an empty medium player object, relevant parameter is set;
(d) use the back to discharge media player object, reduce the number of times of quoting of media player object.If counting has been zero, will discharge media player object, if media player object has been released, this method no longer is called;
(e) the event notice Register is provided with event handler;
(f) the win32/win64 window handle that gives the output of media player medium is set;
(g) reclaim the rubbish associative operation.
6. the analytical method of the video image analysis platform based on VLC according to claim 2 is characterized in that on the said algorithm that transmission module comprises that client upload function and server termination receive function:
Client algorithm upload function performing step:
1) setting up socket with server end is connected;
2) the user end to server end sends the filename of Matlab algorithm, then from the Matlab programmed algorithm reading of data to buffering area and send to server end;
3) client is opened up the buffering area of transmission; Should the size and the buffering area of residue file be done comparison before each the transmission; When the size of residue file during less than buffering area big or small, the size of adjustment buffering area is identical with the residue file, and remaining file is sent to server end;
Server end is done following processing:
A) with after client connects, after receiving file reception request command and Matlab algorithm filename, the file opening receiving thread;
B) the file receiving thread is opened up with the buffering area of the identical size of client and is received the Matlab algorithm that client transmits, if the size of last filebuf less than buffer size, only accepts should have mutually that block buffer of data.
7. the analytical method of the video image analysis platform based on VLC according to claim 2 is characterized in that the coupling module performing step falls in said algorithm, like Fig. 6:
A) server end is accepted the Matlab algorithm and the Request Processing instruction of client upload;
B) utilize compiler that the .M file is compiled into the .C file, support the compiling of a plurality of .M files, the C file that the compiling back generates is placed under the modules subdirectory, and what deposit under the modules catalogue all is the video image Processing Algorithm of VLC;
C) this C file is the interface that VLC handles video image, and the libvlc kernel calls algoritic module through utilization and calls the video image in this interface confession algorithm process buffered frame resume module heap.
CN201210009679.1A 2012-01-13 2012-01-13 VideoLan client (VLC)-based video image analysis platform and method Active CN102572518B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210009679.1A CN102572518B (en) 2012-01-13 2012-01-13 VideoLan client (VLC)-based video image analysis platform and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210009679.1A CN102572518B (en) 2012-01-13 2012-01-13 VideoLan client (VLC)-based video image analysis platform and method

Publications (2)

Publication Number Publication Date
CN102572518A true CN102572518A (en) 2012-07-11
CN102572518B CN102572518B (en) 2014-04-09

Family

ID=46416793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210009679.1A Active CN102572518B (en) 2012-01-13 2012-01-13 VideoLan client (VLC)-based video image analysis platform and method

Country Status (1)

Country Link
CN (1) CN102572518B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581196A (en) * 2014-12-30 2015-04-29 北京像素软件科技股份有限公司 Video image processing method and device
CN109640153A (en) * 2018-12-12 2019-04-16 安徽科大国创软件科技有限公司 A kind of method and device thereof that the browser multiwindow based on VLC plays
CN110139153A (en) * 2018-02-08 2019-08-16 株洲中车时代电气股份有限公司 A kind of detection of video broadcasting condition and control method for playing back and system
CN111443987A (en) * 2020-02-19 2020-07-24 北京数字精准医疗科技有限公司 Image video script processing system and method based on web system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464930A (en) * 2009-01-22 2009-06-24 清华大学 Inverted pendulum remote experiment system and method
CN102034240A (en) * 2010-12-23 2011-04-27 北京邮电大学 Method for detecting and tracking static foreground
US20110169922A1 (en) * 2010-01-09 2011-07-14 Hon Hai Precision Industry Co., Ltd. Three dimension model building system and method
CN102183896A (en) * 2010-12-07 2011-09-14 北京广利核系统工程有限公司 System for testing protection logic by utilizing Matlab

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464930A (en) * 2009-01-22 2009-06-24 清华大学 Inverted pendulum remote experiment system and method
US20110169922A1 (en) * 2010-01-09 2011-07-14 Hon Hai Precision Industry Co., Ltd. Three dimension model building system and method
CN102183896A (en) * 2010-12-07 2011-09-14 北京广利核系统工程有限公司 System for testing protection logic by utilizing Matlab
CN102034240A (en) * 2010-12-23 2011-04-27 北京邮电大学 Method for detecting and tracking static foreground

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581196A (en) * 2014-12-30 2015-04-29 北京像素软件科技股份有限公司 Video image processing method and device
CN110139153A (en) * 2018-02-08 2019-08-16 株洲中车时代电气股份有限公司 A kind of detection of video broadcasting condition and control method for playing back and system
CN109640153A (en) * 2018-12-12 2019-04-16 安徽科大国创软件科技有限公司 A kind of method and device thereof that the browser multiwindow based on VLC plays
CN109640153B (en) * 2018-12-12 2021-07-20 安徽科大国创软件科技有限公司 Method and device for browser multi-window playing based on VLC
CN111443987A (en) * 2020-02-19 2020-07-24 北京数字精准医疗科技有限公司 Image video script processing system and method based on web system

Also Published As

Publication number Publication date
CN102572518B (en) 2014-04-09

Similar Documents

Publication Publication Date Title
US8787164B2 (en) Media delivery system and method for transporting media to desired target devices
CN102595208B (en) Cloud terminal control networking video image processing streaming media service system and method
CN101977218B (en) Internet playing file transcoding method and system
US9674252B2 (en) System and method for efficient delivery of repetitive multimedia content
CN1717883B (en) Method and apparatus for time-multiplexed processing of multiple digital video programs
CN102882829A (en) Transcoding method and system
CN103166941A (en) Data sharing method and device
CN104246737A (en) Systems and methods for connection pooling for video streaming in content delivery networks
CN102572518B (en) VideoLan client (VLC)-based video image analysis platform and method
CN105025094A (en) Multi-screen interaction method and system
CN103516882B (en) A kind of based on multi-screen interaction scene picture playing method and system
CN101404652A (en) Media format conversion system and method used for digital house
CN106911790A (en) Mixed synchronization and asynchronous flow
CN102855133A (en) Interactive system of computer processing unit
CN1244863C (en) Multi-example input device control
CN101720554A (en) Converting video data into video streams
CN107196992A (en) A kind of file data management system of law-enforcing recorder
CN101998044A (en) Method and apparatus for live capture image
CN100576906C (en) A kind of Web content transmission control system and method
CN112132022A (en) Face snapshot framework, face snapshot method, device, equipment and storage medium
JP2013513876A (en) Program, computer system and method for processing streams with multiple granularities
CN110225399A (en) Streaming Media processing method, device, computer equipment and storage medium
CN101296373B (en) Multimedia data processing system and method based on material exchange format
CN103825943A (en) SCORM standard courseware playing system based on P2P and implementation method thereof
CN101453485B (en) Method for data transmission and writing using multicast data stream

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant