Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (7437)

  • OpenCV and Network Cameras -or- How to spy on the neighbors ?

    16 mai 2014, par Alexander

    A bit of context ; this program was built originally to work with USB cameras - but because of the setup between where the cameras needs to be and where the computer is it makes more sense to switch to cameras run over a network. Now I’m trying to convert the program to accomplish this, but my efforts thus far have met with poor results. I’ve also asked this same question over on the OpenCV forums. Help me spy on my neighbors ! (This is with their permission, of course !) :D


    I’m using :

    • OpenCV v2.4.6.0
    • C++
    • D-Link Cloud Camera 7100 (Installer is DCS-7010L, according to the instructions.)

    I am trying to access the DLink camera’s video feed through OpenCV.

    I can access the camera through it’s IP address with a browser without any issues. Unfourtunately ; my program is less cooperative. When attempting to access the camera the program gives the OpenCV-generated error :

    warning : Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)

    This error occurs with just about everything I try that doesn’t somehow generate more problems.

    For reference - the code in OpenCV’s cap_ffmpeg_impl.hpp around line 529 is as follows :

    522    bool CvCapture_FFMPEG::open( const char* _filename )
    523    {
    524        unsigned i;
    525        bool valid = false;
    526
    527        close();
    528
    529    #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(52, 111, 0)
    530        int err = avformat_open_input(&ic, _filename, NULL, NULL);
    531    #else
    532        int err = av_open_input_file(&ic, _filename, NULL, 0, NULL);
    533    #endif
    ...
    616    }

    ...for which I have no idea what I’m looking at. It seems to be looking for the ffmpeg version - but I’ve already installed the latest ffmpeg on that computer, so that shouldn’t be the issue.

    This is the edited down version I tried to use as per Sebastian Schmitz’s recommendation :

    1    #include <fstream>                            // File input/output
    2    #include <iostream>                           // cout / cin / etc
    3    #include                       // Windows API stuff
    4    #include                             // More input/output stuff
    5    #include <string>                         // "Strings" of characters strung together to form words and stuff
    6    #include <cstring>                            // "Strings" of characters strung together to form words and stuff
    7    #include <streambuf>                      // For buffering load files
    8    #include <array>                          // Functions for working with arrays
    9    #include <opencv2></opencv2>imgproc/imgproc.hpp>        // Image Processor
    10    #include <opencv2></opencv2>core/core.hpp>          // Basic OpenCV structures (cv::Mat, Scalar)
    11    #include <opencv2></opencv2>highgui/highgui.hpp>        // OpenCV window I/O
    12    #include "opencv2/calib3d/calib3d.hpp"
    13    #include "opencv2/features2d/features2d.hpp"
    14    #include "opencv2/opencv.hpp"
    15    #include "resource.h"                     // Included for linking the .rc file
    16    #include                             // For sleep()
    17    #include <chrono>                         // To get start-time of program.
    18    #include <algorithm>                      // For looking at whole sets.
    19
    20    #ifdef __BORLANDC__
    21      #pragma argsused
    22    #endif
    23
    24    using namespace std;                      // Standard operations. Needed for most basic functions.
    25    using namespace std::chrono;              // Chrono operations. Needed getting starting time of program.
    26    using namespace cv;                           // OpenCV operations. Needed for most OpenCV functions.
    27
    28    string videoFeedAddress = "";
    29    VideoCapture videoFeedIP = NULL;
    30    Mat clickPointStorage; //Artifact from original program.
    31
    32    void displayCameraViewTest()
    33    {
    34      VideoCapture cv_cap_IP;
    35      Mat color_img_IP;
    36      int capture;
    37      IplImage* color_img;
    38      cv_cap_IP.open(videoFeedAddress);
    39      Sleep(100);
    40      if(!cv_cap_IP.isOpened())
    41      {
    42          cout &lt;&lt; "Video Error: Video input will not work.\n";
    43          cvDestroyWindow("Camera View");
    44          return;
    45      }
    46      clickPointStorage.create(color_img_IP.rows, color_img_IP.cols, CV_8UC3);
    47      clickPointStorage.setTo(Scalar(0, 0, 0));
    48      cvNamedWindow("Camera View", 0); // create window
    49      IplImage* IplClickPointStorage = new IplImage(clickPointStorage);
    50      IplImage* Ipl_IP_Img;
    51      
    52      for(;;)
    53      {
    54          cv_cap_IP.read(color_img_IP);
    55          IplClickPointStorage = new IplImage(clickPointStorage);
    56          Ipl_IP_Img = new IplImage(color_img_IP);
    57          cvAdd(Ipl_IP_Img, IplClickPointStorage, color_img);
    58          cvShowImage("Camera View", color_img); // show frame
    59          capture = cvWaitKey(10); // wait 10 ms or for key stroke
    60          if(capture == 27 || capture == 13 || capture == 32){break;} // if ESC, Return, or space; close window.
    61      }
    62      cv_cap_IP.release();
    63      delete Ipl_IP_Img;
    64      delete IplClickPointStorage;
    65      cvDestroyWindow("Camera View");
    66      return;
    67    }
    68    
    69    int main()
    70    {
    71      while(1)
    72      {
    73          cout &lt;&lt; "Please Enter Video-Feed Address: ";
    74          cin >> videoFeedAddress;
    75          if(videoFeedAddress == "exit"){return 0;}
    76          cout &lt;&lt; "\nvideoFeedAddress: " &lt;&lt; videoFeedAddress &lt;&lt; endl;
    77          displayCameraViewTest();
    78          if(cvWaitKey(10) == 27){return 0;}
    79      }
    80      return 0;
    81    }
    </algorithm></chrono></array></streambuf></cstring></string></iostream></fstream>

    Using added ’cout’s I was able to narrow it down to line 38 : "cv_cap_IP.open(videoFeedAddress) ;"

    No value I enter for the videoFeedAddress variable seems to get a different result. I found THIS site that lists a number of possible addresses to connect to it. Since there exists no 7100 anywhere in the list & considering that the install is labeled "DCS-7010L" I used the addresses found next to the DCS-7010L listings. When trying to access the camera most of them can be reached through the browser, confirming that they reach the camera - but they don’t seem to affect the outcome when I use them in the videoFeedAddress variable.

    I’ve tried many of them both with and without username:password, the port number (554), and variations on ?.mjpg (the format) at the end.

    I searched around and came across a number of different "possible" answers - but none of them seem to work for me. Some of them did give me the idea for including the above username:password, etc stuff, but it doesn’t seem to be making a difference. Of course, the number of possible combinations is certainly rather large- so I certainly have not tried all of them (more direction here would be appreciated). Here are some of the links I found :

    1. This is one of the first configurations my code was in. No dice.
    2. This one is talking about files - not cameras. It also mentions codecs - but I wouldn’t be able to watch it in a web browser if that were the problem, right ? (Correct me if I’m wrong here...)
    3. This one has the wrong error code/points to the wrong line of code !
    4. This one mentions compiling OpenCV with ffmpeg support - but I believe 2.4.6.0 already comes with that all set and ready ! Otherwise it’s not that different from what I’ve already tried.
    5. Now THIS one appears to be very similar to what I have, but the only proposed solution doesn’t really help as I had already located a list of connections. I do not believe this is a duplicate, because as per THIS meta discussion I had a lot more information and so didn’t feel comfortable taking over someone else’s question - especially if I end up needing to add even more information later.

    Thank you for reading this far. I realize that I am asking a somewhat specific question - although I would appreciate any advice you can think of regarding OpenCV & network cameras or even related topics.


    TLDR : Network Camera and OpenCV are not cooperating. I’m unsure if
    it’s the address I’m using to direct the program to the camera or the
    command I’m using - but no adjustment I make seems to improve the
    result beyond what I’ve already done ! Now my neighbors will go unwatched !

  • OpenCV and Network Cameras -or- How to spy on my neighbors ?

    12 mai 2014, par Alexander

    A bit of context ; this program was built originally to work with USB cameras - but because of the setup between where the cameras needs to be and where the computer is it makes more sense to switch to cameras run over a network. Now I’m trying to convert the program to accomplish this, but my efforts thus far have met with poor results. I’ve also asked this same question over on the OpenCV forums. Help me spy on my neighbors ! (Totally with their permission, of course !) :D


    I’m using :

    • OpenCV v2.4.6.0
    • C++
    • D-Link Cloud Camera 7100 (Installer is DCS-7010L, according to the instructions.)

    I am trying to access the DLink camera’s video feed through OpenCV.

    I can access the camera through it’s IP address with a browser without any issues. Unfourtunately ; my program is less cooperative. When attempting to access the camera the program gives the OpenCV-generated error :

    warning : Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)

    This error occurs with just about everything I try that doesn’t somehow generate more problems.

    For reference - the code in OpenCV’s cap_ffmpeg_impl.hpp around line 529 is as follows :

    522    bool CvCapture_FFMPEG::open( const char* _filename )
    523    {
    524        unsigned i;
    525        bool valid = false;
    526
    527        close();
    528
    529    #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(52, 111, 0)
    530        int err = avformat_open_input(&amp;ic, _filename, NULL, NULL);
    531    #else
    532        int err = av_open_input_file(&amp;ic, _filename, NULL, 0, NULL);
    533    #endif
    ...
    616    }

    ...for which I have no idea what I’m looking at. It seems to be looking for the ffmpeg version - but I’ve already installed the latest ffmpeg on that computer, so that shouldn’t be the issue.

    This is the edited down version I tried to use as per Sebastian Schmitz’s recommendation :

    1    #include <fstream>                            // File input/output
    2    #include <iostream>                           // cout / cin / etc
    3    #include                       // Windows API stuff
    4    #include                             // More input/output stuff
    5    #include <string>                         // "Strings" of characters strung together to form words and stuff
    6    #include <cstring>                            // "Strings" of characters strung together to form words and stuff
    7    #include <streambuf>                      // For buffering load files
    8    #include <array>                          // Functions for working with arrays
    9    #include <opencv2></opencv2>imgproc/imgproc.hpp>        // Image Processor
    10    #include <opencv2></opencv2>core/core.hpp>          // Basic OpenCV structures (cv::Mat, Scalar)
    11    #include <opencv2></opencv2>highgui/highgui.hpp>        // OpenCV window I/O
    12    #include "opencv2/calib3d/calib3d.hpp"
    13    #include "opencv2/features2d/features2d.hpp"
    14    #include "opencv2/opencv.hpp"
    15    #include "resource.h"                     // Included for linking the .rc file
    16    #include                             // For sleep()
    17    #include <chrono>                         // To get start-time of program.
    18    #include <algorithm>                      // For looking at whole sets.
    19
    20    #ifdef __BORLANDC__
    21      #pragma argsused
    22    #endif
    23
    24    using namespace std;                      // Standard operations. Needed for most basic functions.
    25    using namespace std::chrono;              // Chrono operations. Needed getting starting time of program.
    26    using namespace cv;                           // OpenCV operations. Needed for most OpenCV functions.
    27
    28    string videoFeedAddress = "";
    29    VideoCapture videoFeedIP = NULL;
    30    Mat clickPointStorage; //Artifact from original program.
    31
    32    void displayCameraViewTest()
    33    {
    34      VideoCapture cv_cap_IP;
    35      Mat color_img_IP;
    36      int capture;
    37      IplImage* color_img;
    38      cv_cap_IP.open(videoFeedAddress);
    39      Sleep(100);
    40      if(!cv_cap_IP.isOpened())
    41      {
    42          cout &lt;&lt; "Video Error: Video input will not work.\n";
    43          cvDestroyWindow("Camera View");
    44          return;
    45      }
    46      clickPointStorage.create(color_img_IP.rows, color_img_IP.cols, CV_8UC3);
    47      clickPointStorage.setTo(Scalar(0, 0, 0));
    48      cvNamedWindow("Camera View", 0); // create window
    49      IplImage* IplClickPointStorage = new IplImage(clickPointStorage);
    50      IplImage* Ipl_IP_Img;
    51      
    52      for(;;)
    53      {
    54          cv_cap_IP.read(color_img_IP);
    55          IplClickPointStorage = new IplImage(clickPointStorage);
    56          Ipl_IP_Img = new IplImage(color_img_IP);
    57          cvAdd(Ipl_IP_Img, IplClickPointStorage, color_img);
    58          cvShowImage("Camera View", color_img); // show frame
    59          capture = cvWaitKey(10); // wait 10 ms or for key stroke
    60          if(capture == 27 || capture == 13 || capture == 32){break;} // if ESC, Return, or space; close window.
    61      }
    62      cv_cap_IP.release();
    63      delete Ipl_IP_Img;
    64      delete IplClickPointStorage;
    65      cvDestroyWindow("Camera View");
    66      return;
    67    }
    68    
    69    int main()
    70    {
    71      while(1)
    72      {
    73          cout &lt;&lt; "Please Enter Video-Feed Address: ";
    74          cin >> videoFeedAddress;
    75          if(videoFeedAddress == "exit"){return 0;}
    76          cout &lt;&lt; "\nvideoFeedAddress: " &lt;&lt; videoFeedAddress &lt;&lt; endl;
    77          displayCameraViewTest();
    78          if(cvWaitKey(10) == 27){return 0;}
    79      }
    80      return 0;
    81    }
    </algorithm></chrono></array></streambuf></cstring></string></iostream></fstream>

    Using added ’cout’s I was able to narrow it down to line 38 : "cv_cap_IP.open(videoFeedAddress) ;"

    No value I enter for the videoFeedAddress variable seems to get a different result. I found THIS site that lists a number of possible addresses to connect to it. Since there exists no 7100 anywhere in the list & considering that the install is labeled "DCS-7010L" I used the addresses found next to the DCS-7010L listings. When trying to access the camera most of them can be reached through the browser, confirming that they reach the camera - but they don’t seem to affect the outcome when I use them in the videoFeedAddress variable.

    I’ve tried many of them both with and without username:password, the port number (554), and variations on ?.mjpg (the format) at the end.

    I searched around and came across a number of different "possible" answers - but none of them seem to work for me. Some of them did give me the idea for including the above username:password, etc stuff, but it doesn’t seem to be making a difference. Of course, the number of possible combinations is certainly rather large- so I certainly have not tried all of them (more direction here would be appreciated). Here are some of the links I found :

    1. This is one of the first configurations my code was in. No dice.
    2. This one is talking about files - not cameras. It also mentions codecs - but I wouldn’t be able to watch it in a web browser if that were the problem, right ? (Correct me if I’m wrong here...)
    3. This one has the wrong error code/points to the wrong line of code !
    4. This one mentions compiling OpenCV with ffmpeg support - but I believe 2.4.6.0 already comes with that all set and ready ! Otherwise it’s not that different from what I’ve already tried.
    5. Now THIS one appears to be very similar to what I have, but the only proposed solution doesn’t really help as I had already located a list of connections. I do not believe this is a duplicate, because as per THIS meta discussion I had a lot more information and so didn’t feel comfortable taking over someone else’s question - especially if I end up needing to add even more information later.

    Thank you for reading this far. I realize that I am asking a somewhat specific question - although I would appreciate any advice you can think of regarding OpenCV & network cameras or even related topics.


    TLDR : Network Camera and OpenCV are not cooperating. I’m unsure if
    it’s the address I’m using to direct the program to the camera or the
    command I’m using - but no adjustment I make seems to improve the
    result beyond what I’ve already done ! Now my neighbors will go unwatched !

  • JavaCV record video in Android

    11 janvier 2017, par wyx

    I want to record video quiet and without preview in Android. So I choice MediaRecorder but I could record only without preview but what make me crazy is that when MediaRecorder start or stop it will with a sound dee.... I try many methods about that . But I think it perhaps sth related to the OS of the mobile. So I try JavaCV because I also want to have a Live function in my app.

    But JavaCV spent me to too much time to solve some strange problems because it’s my first time to do sth about C++ src and video.

    Just compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.3' as the README.md ,I even can’t build my apk.

    Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
    > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK org/bytedeco/javacpp/macosx-x86_64/libusb-1.0.dylib
       File1: /Users/wyx/.gradle/caches/modules-2/files-2.1/org.bytedeco.javacpp-presets/libfreenect/0.5.3-1.3/736d65a3ef042258429d8e7742128c411806b432/libfreenect-0.5.3-1.3-macosx-x86_64.jar
       File2: /Users/wyx/.gradle/caches/modules-2/files-2.1/org.bytedeco.javacpp-presets/libdc1394/2.2.4-1.3/f1498dacc46162ab68faeb8d66cf02b96fe41c61/libdc1394-2.2.4-1.3-macosx-x86_64.jar

    And then I modified it according this issuse
    use this to repalce. It can build the apk. But the can’t run.

     android {
      ..............
       packagingOptions {
           exclude 'META-INF/services/javax.annotation.processing.Processor'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml'
       }
    }

    dependencies {
       compile group: 'org.bytedeco', name: 'javacv', version: '1.3'
       compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-x86'
       compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-arm'
       compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.3', classifier: 'android-x86'
       compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.3', classifier: 'android-arm'
    }

    My demo code VideoService which will invoke in MainActivity

    package com.fs.fs.api;

    import com.fs.fs.App;
    import com.fs.fs.utils.DateUtils;
    import com.fs.fs.utils.FileUtils;

    import org.bytedeco.javacpp.avcodec;
    import org.bytedeco.javacv.FFmpegFrameRecorder;
    import org.bytedeco.javacv.FrameRecorder;

    import java.util.Date;

    /**
    * Created by wyx on 2017/1/11.
    */
    public class VideoService {
       private FFmpegFrameRecorder mFrameRecorder;
       private String path;

       private VideoService() {
       }

       private static class SingletonHolder {
           private static final VideoService INSTANCE = new VideoService();
       }

       public static VideoService getInstance() {
           return SingletonHolder.INSTANCE;
       }

       public void startRecordVideo() {
           String fileName = String.format("%s.%s", DateUtils.date2String(new Date(), "yyyyMMdd_HHmmss"), "mp4");
           path = FileUtils.getExternalFullPath(App.getInstance(), fileName);
           mFrameRecorder = new FFmpegFrameRecorder(path, 640, 480, 1);
           mFrameRecorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
           mFrameRecorder.setVideoOption("tune", "zerolatency");
           mFrameRecorder.setVideoOption("preset", "ultrafast");
           mFrameRecorder.setVideoOption("crf", "28");
           mFrameRecorder.setVideoBitrate(300 * 1000);
           mFrameRecorder.setFormat("mp4");

           mFrameRecorder.setFrameRate(30);
           mFrameRecorder.setAudioOption("crf", "0");
           mFrameRecorder.setSampleRate(48 * 1000);
           mFrameRecorder.setAudioBitrate(960 * 1000);
           mFrameRecorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
           try {
               mFrameRecorder.start();
           } catch (FrameRecorder.Exception e) {
               e.printStackTrace();
           }
       }

       public void stop() {
           if (mFrameRecorder != null) {
               try {
                   mFrameRecorder.stop();
                   mFrameRecorder.release();
               } catch (FrameRecorder.Exception e) {
                   e.printStackTrace();
               }
               mFrameRecorder = null;
           }
       }

    }

    MainActivity

    package com.fs.fs.activity;

    import android.app.Activity;
    import android.os.Bundle;

    import com.fs.fs.R;
    import com.fs.fs.api.VideoService;

    import static java.lang.Thread.sleep;


    public class MainActivity extends Activity {

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);


           VideoService.getInstance().startRecordVideo();
           try {
               sleep(10 * 1000);
           } catch (InterruptedException e) {
               e.printStackTrace();
           }
           VideoService.getInstance().stop();
       }
    }

    Error which make me want to cry.

    E/AndroidRuntime: FATAL EXCEPTION: main
                     Process: com.fs.fs, PID: 30259
                     java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
                         at org.bytedeco.javacpp.Loader.load(Loader.java:590)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530)
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694)
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149)
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34)
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75)
                         at android.app.Activity.performCreate(Activity.java:5304)
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331)
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143)
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
                         at android.os.Handler.dispatchMessage(Handler.java:102)
                         at android.os.Looper.loop(Looper.java:136)
                         at android.app.ActivityThread.main(ActivityThread.java:5291)
                         at java.lang.reflect.Method.invokeNative(Native Method)
                         at java.lang.reflect.Method.invoke(Method.java:515)
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
                         at dalvik.system.NativeStart.main(Native Method)
                      Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
                         at java.lang.Class.classForName(Native Method)
                         at java.lang.Class.forName(Class.java:251)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
                      Caused by: java.lang.NoClassDefFoundError: org/bytedeco/javacpp/avutil
                         at java.lang.Class.classForName(Native Method) 
                         at java.lang.Class.forName(Class.java:251) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
                      Caused by: java.lang.ClassNotFoundException: Didn't find class "org.bytedeco.javacpp.avutil" on path: DexPathList[[zip file "/data/app/com.fs.fs-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.fs.fs-2, /vendor/lib, /system/lib, /data/datalib]]
                         at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                         at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
                         at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
                         at java.lang.Class.classForName(Native Method) 
                         at java.lang.Class.forName(Class.java:251) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
    </init></clinit></init></clinit></init></clinit></init></clinit>

    So I want to know a comfortable method to achieve my goal : recode video quiet and without preview. And Live real time ?

    I found ffmpeg4android is a prefect library to run ffmpeg command. I just use it to compress videos from MediaRecorder But I don’t how to do use it to achieve my goal.