Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (46)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (6590)

  • 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(&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

    10 mai 2014, par Alexander

    So as a bit of context ; this program was built originally to work with USB cameras - but a few things changed. Now I’m trying to convert it to work with networked cameras, but my presence here should make it quite apparent what my level of success has been so far.


    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 !

  • Android ffmpeg runtime error

    6 septembre 2013, par Syntaxicated

    I'm new to Stackoverflow and although I've tried to find an answer to my question, I can't see anything that fits my circumstances. Apologies if it is a duplicate, however.

    I'm trying my hand at some Android development and have hit a problem with ffmpeg.

    I have built a basic app which should take a file on the sdcard, rotate it and save it as a new file to the same folder.

    I'm using ffmpeg to do the transposing and cropping but so far I cannot get ffmpeg to execute.

    I've used the 'guardianproject' android-ffmpeg library on github (here) to execute the ffmpeg commands but it doesn't actually do anything.

    Here's my code :

    package com.tw.videwell;

    import java.io.File;

    import org.ffmpeg.android.FfmpegController;
    import org.ffmpeg.android.MediaDesc;
    import org.ffmpeg.android.ShellUtils.ShellCallback;
    import org.ffmpeg.android.filters.TransposeVideoFilter;

    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;

    public class MainActivity extends Activity {

    Button b;
    FfmpegController ff;
    MediaDesc in;
    MediaDesc out;

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       // Inflate the menu; this adds items to the action bar if it is present.
       getMenuInflater().inflate(R.menu.main, menu);
       return true;
    }

    private void run(){
       b = (Button) findViewById(R.id.button1);    

       //Set click listener for shoot button
       b.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
               process();
           }    
       });


    }

    @SuppressLint("SdCardPath")
    private void process(){
       try {
           in = new MediaDesc();
           out = new MediaDesc();
           in.path="/sdcard/Video/test.mp4";
           TransposeVideoFilter tvf= new TransposeVideoFilter(TransposeVideoFilter.NINETY_CLOCKWISE);
           out.path="/sdcard/Video/out.mp4";
           out.videoFilter=tvf.toString();
           File fileTemp = null;
           ff = new FfmpegController(getApplicationContext(), fileTemp);
           //ff.processVideo(in, out, true, scb);

       } catch (Exception e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
    }

    private ShellCallback scb = new ShellCallback(){

       @Override
       public void shellOut(String shellLine) {
           // TODO Auto-generated method stub
           System.out.println("Out");
       }

       @Override
       public void processComplete(int exitValue) {
           // TODO Auto-generated method stub
           System.out.println("Complete");
       }

    };
    }

    When I run the app on my device the log reports the following :

    W/System.err(32114): android.content.res.Resources$NotFoundException: File res/raw/ffmpeg from drawable resource ID #0x7f040000
    W/System.err(32114):    at android.content.res.Resources.openRawResourceFd(Resources.java:982)
    W/System.err(32114):    at org.ffmpeg.android.FfmpegController.checkBinary(FfmpegController.java:49)
    W/System.err(32114):    at org.ffmpeg.android.FfmpegController.<init>(FfmpegController.java:41)
    W/System.err(32114):    at com.tw.videwell.MainActivity.process(MainActivity.java:61)
    W/System.err(32114):    at com.tw.videwell.MainActivity.access$0(MainActivity.java:52)
    W/System.err(32114):    at com.tw.videwell.MainActivity$2.onClick(MainActivity.java:44)
    W/System.err(32114):    at android.view.View.performClick(View.java:4211)
    W/System.err(32114):    at android.view.View$PerformClick.run(View.java:17362)
    W/System.err(32114):    at android.os.Handler.handleCallback(Handler.java:725)
    W/System.err(32114):    at android.os.Handler.dispatchMessage(Handler.java:92)
    W/System.err(32114):    at android.os.Looper.loop(Looper.java:137)
    W/System.err(32114):    at android.app.ActivityThread.main(ActivityThread.java:5227)
    W/System.err(32114):    at java.lang.reflect.Method.invokeNative(Native Method)
    W/System.err(32114):    at java.lang.reflect.Method.invoke(Method.java:511)
    W/System.err(32114):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
    W/System.err(32114):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
    W/System.err(32114):    at dalvik.system.NativeStart.main(Native Method)
    W/System.err(32114): Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
    W/System.err(32114):    at android.content.res.AssetManager.openNonAssetFdNative(Native Method)
    W/System.err(32114):    at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:450)
    W/System.err(32114):    at android.content.res.Resources.openRawResourceFd(Resources.java:979)
    W/System.err(32114):    ... 16 more
    </init>

    From what I can deduce, the ffmpeg executable can't be found. It is stored in the /res/raw folder as I believe it should be and appears in the app folder on the device when I run it, but still can't find it.

    I'm developing on a Mac in Eclipse 4.2.1 with the latest Android SDK and am running the app on a Sony Xperia T with Android 4.2.2.

    I compiled the ffmpeg library using the installation method described on github, Android NDK 9 and the Mac XCode command line developer tools (make etc).

    What am I doing wrong ? Do I need to store the FFmpeg library file somewhere else ? Is there a massive error in my, albeit basic, coding ?