Terminal audio and video playback processing scheme finishing __JAVACV

Source: Internet
Author: User
JAVACV is an open source visual processing library, based on the GPLV2 protocol, for a variety of common computer visual library package of a set of jar package, encapsulated OpenCV, libdc1394, Openkinect, Videoinput and Artoolkitplus and other computer vision programmers Common Library interface. JAVACV these interfaces via the utility class, which is easy to use on the Java platform, including Android. terminal video playback push flow scheme

programme I:

Advantages: Support Streaming media playback, disadvantage: Poor server-side codec performance (codec)

Data Flow processing:



Programme II:

Advantages: Small server pressure (do not do codec), disadvantage: Client playback support Scheme fixed

Streaming media processing process


Related Knowledge Description

some knowledge of JAVACV

The Mat class represents a picture matrix in which the images to be processed are read into the matrix.

The Videocapture class represents a video object whose open () method passes the video address to open the video, and the device number is to open the camera.

Some essential knowledge of pictures

(i) Recognition of images

The picture is divided into vector graph and like Sotutu, Vector graph is by mathematical expression, more abstract, not very good understanding, for example in your mind imagine a quadrilateral, this quadrilateral is vector. CDR, CAD processing of the image is a vector map, because it is mathematical representation, you can enlarge and shrink infinitely, does not produce sawtooth. Pixel map is composed of the pixels of the matrix, each pixel is a small square, each box can only display a color, the more dense pixel points per unit area, the clearer the image. But after zooming in because the pixel is square, you can see the sawtooth. PS software is the processing of pixel graphs. JAVACV is also a typical pixel image processing software, through the camera, the camera gets the pictures are pixel map.

(b) Recognition of pixel points

Pixel points can only display one color at a time, the color consists of 3 basic color (RGB) or 4 basic color (CMYK), in any Device color screen display is RGB pixels, color printer printing is CMYK color. This is why the color displayed on the computer is different from the color printed. The main algorithm of JAVACV is to compute the color of pixels, and to obtain the similarity degree by various mathematical transformations. I personally think that this way is too far-fetched, or to work on the vector map, because all the images in the brain are vector. (Personal opinion, don't spray, Cherubim)

(ii) Awareness of video

Video consists of a picture, a frame represents a picture, frame rate is the number of switches per second to switch how many pictures.

Related Learning Resources

OpenCV Manual (where you can start learning the construction of coded environments): http://opencv-java-tutorials.readthedocs.io/en/latest/

OpenCV api:https://docs.opencv.org/

JAVACV Download Address: http://www.softpedia.com/get/Programming/Other-Programming-Files/JavaCV.shtml

JAVACV GitHub Address: HTTPS://GITHUB.COM/BYTEDECO/JAVACV

JAVACV Example: Https://github.com/bytedeco/javacv-examples
Personal Learning Example: Https://github.com/SunFlowerOfProtocol/javacv-cvnavi-demo

More actual coding examples reference: Java audio and video development detailed
developing the Maven dependency configuration

Pom.xml, some packages make choices based on their environment.

<?xml version= "1.0" encoding= "UTF-8"?> <project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "HTT" P://www.w3.org/2001/xmlschema-instance "xsi:schemalocation=" http://maven.apache.org/POM/4.0.0 Http://maven.apach E.org/xsd/maven-4.0.0.xsd "> <modelVersion>4.0.0</modelVersion> &LT;GROUPID&GT;COM.CVNAVI.JAVACV&L T;/groupid> <artifactId>javacv-cvnavi-demo</artifactId> <version>1.0-snapshot</version&

    Gt <dependencies> <!--HTTPS://MVNREPOSITORY.COM/ARTIFACT/ORG.BYTEDECO/JAVACV--> <dependency&
            Gt <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <versio N>1.3.3</version> </dependency> <!--https://mvnrepository.com/artifact/org.bytedeco/jav Acpp--> <dependency> <groupId>org.bytedeco</groupId> <artifactid& Gt;jAvacpp</artifactid> <version>1.3.3</version> </dependency> <!--htt Ps://mvnrepository.com/artifact/org.bytedeco/javacv-platform--> <dependency> <groupId> Org.bytedeco</groupid> <artifactId>javacv-platform</artifactId> <version>1 .3.3</version> </dependency> <!--https://mvnrepository.com/artifact/org.bytedeco.javacpp-p
            RESETS/OPENCV--> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>opencv</artifactId> <version>3.2.0-1.3</version> </de
        pendency> <!--https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/opencv-platform--> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactid&gt ; Opencv-platform</artIfactid> <version>3.2.0-1.3</version> </dependency> <!--https://mvnre Pository.com/artifact/org.bytedeco.javacpp-presets/ffmpeg--> <dependency> <groupid>org .bytedeco.javacpp-presets</groupid> <artifactId>ffmpeg</artifactId> <version& Gt;3.2.1-1.3</version> </dependency> <!--HTTPS://MVNREPOSITORY.COM/ARTIFACT/ORG.BYTEDECO.J Avacpp-presets/ffmpeg-platform--> <dependency> &LT;GROUPID&GT;ORG.BYTEDECO.JAVACPP-PRESETS&L T;/groupid> <artifactId>ffmpeg-platform</artifactId> <version>3.2.1-1.3</v Ersion> </dependency> <!--https://mvnrepository.com/artifact/com.github.hoary.ffmpeg/FFmpeg-w
            indows-x86_64--> <dependency> <groupId>com.github.hoary.ffmpeg</groupId> <artifactid>fFmpeg-windows-x86_64</artifactid> <version>2.0.1.1</version> </dependency> </dependencies> </project>



Note: JAVACV is actually encapsulated in OpenCV, if you want to learn more about the recommendations or start from OpenCV to learn the basics classes.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.