Recherche avancée

Médias (1)

Mot : - Tags -/framasoft

Autres articles (49)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (9286)

  • java.lang.NoClassDefFoundError Android Studio Unity

    28 avril 2016, par Nestoraj

    I’m having some troubles when I try to generate a library that contains another one in Android Studio. First of all I am using Android Studio 2.0 and Unity 5.3.4f1. What I want to do is integrate FFMpeg in Unity so I decided to create my own library that use FFMpeg library as an intermediary. The FFMpeg library is here.

    To start I created a new empty project in Android Studio and inside of it, created a new module, which will be my library, using New->Module->Android Library and named it "ffmpegcodec". After that I opened build.gradle file inside the new module folder and paste :

    compile 'com.writingminds:FFmpegAndroid:0.3.2'

    inside dependencies brackets, and click Sync (It did not show any error).

    After that create a new Java Class inside src/main/java/package-name/ and named it FFMpegCodec. Inside this paste this code :

    public class FFMpegCodec {
    private static FFmpeg ffmpeg;
    private static Context context;
    private static FFMpegCodec INSTANCE = null;

    public FFMpegCodec(){
       INSTANCE = this;
    }

    public static FFMpegCodec instance(){
       if(INSTANCE == null){
           INSTANCE = new FFMpegCodec();
       }
       return INSTANCE;
    }

    public void setContext(Context ctx){
       this.context = ctx;
    }

    public void loadFFMpegBinary() {
       try {
           if (ffmpeg == null) {

               ffmpeg = FFmpeg.getInstance(context);
           }
           ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
               @Override
               public void onFailure() {
                   Log.e("FFMPEG", "ffmpeg : NOT correct Loaded");
               }

               @Override
               public void onSuccess() {
                   Log.e("FFMPEG", "ffmpeg : correct Loaded");
               }
           });
       } catch (FFmpegNotSupportedException e) {

       } catch (Exception e) {

       }
    }

    public void execFFmpegCommand(final String[] command) {
       try {
           ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {
               @Override
               public void onFailure(String s) {
                   Log.e("FFMPEG", "FAILED with output : " + s);
               }

               @Override
               public void onSuccess(String s) {
                   Log.e("FFMPEG", "SUCCESS with output : " + s);
               }

               @Override
               public void onProgress(String s) {
                   Log.e("FFMPEG", "Started command : ffmpeg " + command);
                   Log.e("FFMPEG", "progress : " + s);
               }

               @Override
               public void onStart() {
                   Log.e("FFMPEG", "Started command : ffmpeg " + command);

               }

               @Override
               public void onFinish() {
                   Log.e("FFMPEG", "Finished command : ffmpeg " + command);

               }
           });
       } catch (FFmpegCommandAlreadyRunningException e) {
           // do nothing for now
       }
    }

    It basically generates an instance of FFmpeg and makes calls of ffmpeg commands.

    Once I have my lib done I decided to test it in my project so I include my lib in my app graddle using :

    compile project(':ffmpegcodec')

    After that I just paste this code to my MainActivity :

    public class MainActivity extends AppCompatActivity {

    FFMpegCodec ffmpeg;

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

       Button execCommandButton = (Button) findViewById(R.id.execCommandButton);

       ffmpeg = FFMpegCodec.instance();


       execCommandButton.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Toast.makeText(getApplicationContext(), "This is a Toast!!", Toast.LENGTH_SHORT).show();
               ffmpeg.setContext(MainActivity.this);
               ffmpeg.loadFFMpegBinary();
               String []cmd = new String[1];
               cmd[0] = "-version";
               ffmpeg.execFFmpegCommand(cmd);
           }
       });

    }

    After that, I run my project and when I press the button it returns that everythings its ok, showing ffmpeg version.
    Once I have check that my lib works I decide to move it to Unity so copy the ffmpegcodec-realese.arr file inside ffmpegcodec/build/outputs/aar folder and paste it into my Unity project. Then I wrote an C# script to use my lib that contains this :

       using System;
       using System.Runtime.InteropServices;
       using UnityEngine;
       using System.Collections;
       using System.Diagnostics;

       public class ScreenRecorder {

       private AndroidJavaObject unityActivity = null;
       private AndroidJavaObject captureObject = null;

           // Use this for initialization
           public ScreenRecorder () {
               try{

                   using (AndroidJavaClass unityPlayerActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                       unityActivity = unityPlayerActivityClass.GetStatic<androidjavaobject>("currentActivity");
                   }

                   AndroidJavaClass captureClass = new AndroidJavaClass ("com.promineostudios.ffmpegcodec.FFMpegCodec");
                   if (captureClass != null) {
                       captureObject = captureClass.CallStatic<androidjavaobject>("instance");
                       captureObject.Call("setContext", unityActivity);
                       captureObject.Call("loadFFMpegBinary");
                   }
               }catch(Exception ex){
                   UnityEngine.Debug.Log(ex);
               }
           }

       }
    </androidjavaobject></androidjavaobject>

    The problems comes here. When I create a class instance using :

    AndroidJavaClass captureClass = new AndroidJavaClass ("com.promineostudios.ffmpegcodec.FFMpegCodec");

    It creates an instance correctly, and also when I create an object using :

    captureObject = captureClass.CallStatic<androidjavaobject>("instance");
    </androidjavaobject>

    But when I try to get access to FFMpeg library methods like in "setContext" it fails and returns this :

    UnityEngine.AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/github/hiteshsondhi88/libffmpeg/FFmpeg;
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/github/hiteshsondhi88/libffmpeg/FFmpeg;
     at com.promineostudios.ffmpegcodec.FFMpegCodec.loadFFMpegBinary(FFMpegAndroidCodec.java:39)
     at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
     at com.unity3d.player.UnityPlayer.a(Unknown Source)
     at com.unity3d.player.UnityPlayer$b.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.github.hiteshsondhi88.libffmpeg.FFmpeg" on path: DexPathList[[zip file "/data/app/com.promineostudios.ffmpegmodule-1/base.apk"],nativeLibraryDirectories=[/data/app/com.promineostudios.ffmpegmodule-1/lib/arm, /vendor/lib, /system/lib]]
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
     at com.promineostudios.ffmpegcodec.FFMpegCodec.loadFFMpegBinary(FFMpegAndroidCodec.java:39) 
     at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 
     at com.unity3d.player.UnityPlayer.a(Unknown Source) 
     at com.unity3d.player.UnityPlayer$b.run(Unknown Source)

    I think that the problem is in when I export my lib into Unity but I do not know what is going wrong. If anybody could help me I will be really appreciated.

    Thanks and excuse me for my English.

  • java.lang.NoClassDefFoundError Android Studio Unity

    26 juin 2017, par Nestoraj

    I’m having some troubles when I try to generate a library that contains another one in Android Studio. First of all I am using Android Studio 2.0 and Unity 5.3.4f1. What I want to do is integrate FFMpeg in Unity so I decided to create my own library that use FFMpeg library as an intermediary. The FFMpeg library is here.

    To start I created a new empty project in Android Studio and inside of it, created a new module, which will be my library, using New->Module->Android Library and named it "ffmpegcodec". After that I opened build.gradle file inside the new module folder and paste :

    compile 'com.writingminds:FFmpegAndroid:0.3.2'

    inside dependencies brackets, and click Sync (It did not show any error).

    After that create a new Java Class inside src/main/java/package-name/ and named it FFMpegCodec. Inside this paste this code :

    public class FFMpegCodec {
    private static FFmpeg ffmpeg;
    private static Context context;
    private static FFMpegCodec INSTANCE = null;

    public FFMpegCodec(){
       INSTANCE = this;
    }

    public static FFMpegCodec instance(){
       if(INSTANCE == null){
           INSTANCE = new FFMpegCodec();
       }
       return INSTANCE;
    }

    public void setContext(Context ctx){
       this.context = ctx;
    }

    public void loadFFMpegBinary() {
       try {
           if (ffmpeg == null) {

               ffmpeg = FFmpeg.getInstance(context);
           }
           ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
               @Override
               public void onFailure() {
                   Log.e("FFMPEG", "ffmpeg : NOT correct Loaded");
               }

               @Override
               public void onSuccess() {
                   Log.e("FFMPEG", "ffmpeg : correct Loaded");
               }
           });
       } catch (FFmpegNotSupportedException e) {

       } catch (Exception e) {

       }
    }

    public void execFFmpegCommand(final String[] command) {
       try {
           ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {
               @Override
               public void onFailure(String s) {
                   Log.e("FFMPEG", "FAILED with output : " + s);
               }

               @Override
               public void onSuccess(String s) {
                   Log.e("FFMPEG", "SUCCESS with output : " + s);
               }

               @Override
               public void onProgress(String s) {
                   Log.e("FFMPEG", "Started command : ffmpeg " + command);
                   Log.e("FFMPEG", "progress : " + s);
               }

               @Override
               public void onStart() {
                   Log.e("FFMPEG", "Started command : ffmpeg " + command);

               }

               @Override
               public void onFinish() {
                   Log.e("FFMPEG", "Finished command : ffmpeg " + command);

               }
           });
       } catch (FFmpegCommandAlreadyRunningException e) {
           // do nothing for now
       }
    }

    It basically generates an instance of FFmpeg and makes calls of ffmpeg commands.

    Once I have my lib done I decided to test it in my project so I include my lib in my app graddle using :

    compile project(':ffmpegcodec')

    After that I just paste this code to my MainActivity :

    public class MainActivity extends AppCompatActivity {

    FFMpegCodec ffmpeg;

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

       Button execCommandButton = (Button) findViewById(R.id.execCommandButton);

       ffmpeg = FFMpegCodec.instance();


       execCommandButton.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Toast.makeText(getApplicationContext(), "This is a Toast!!", Toast.LENGTH_SHORT).show();
               ffmpeg.setContext(MainActivity.this);
               ffmpeg.loadFFMpegBinary();
               String []cmd = new String[1];
               cmd[0] = "-version";
               ffmpeg.execFFmpegCommand(cmd);
           }
       });

    }

    After that, I run my project and when I press the button it returns that everythings its ok, showing ffmpeg version.
    Once I have check that my lib works I decide to move it to Unity so copy the ffmpegcodec-realese.arr file inside ffmpegcodec/build/outputs/aar folder and paste it into my Unity project. Then I wrote an C# script to use my lib that contains this :

       using System;
       using System.Runtime.InteropServices;
       using UnityEngine;
       using System.Collections;
       using System.Diagnostics;

       public class ScreenRecorder {

       private AndroidJavaObject unityActivity = null;
       private AndroidJavaObject captureObject = null;

           // Use this for initialization
           public ScreenRecorder () {
               try{

                   using (AndroidJavaClass unityPlayerActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                       unityActivity = unityPlayerActivityClass.GetStatic<androidjavaobject>("currentActivity");
                   }

                   AndroidJavaClass captureClass = new AndroidJavaClass ("com.promineostudios.ffmpegcodec.FFMpegCodec");
                   if (captureClass != null) {
                       captureObject = captureClass.CallStatic<androidjavaobject>("instance");
                       captureObject.Call("setContext", unityActivity);
                       captureObject.Call("loadFFMpegBinary");
                   }
               }catch(Exception ex){
                   UnityEngine.Debug.Log(ex);
               }
           }

       }
    </androidjavaobject></androidjavaobject>

    The problems comes here. When I create a class instance using :

    AndroidJavaClass captureClass = new AndroidJavaClass ("com.promineostudios.ffmpegcodec.FFMpegCodec");

    It creates an instance correctly, and also when I create an object using :

    captureObject = captureClass.CallStatic<androidjavaobject>("instance");
    </androidjavaobject>

    But when I try to get access to FFMpeg library methods like in "setContext" it fails and returns this :

    UnityEngine.AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/github/hiteshsondhi88/libffmpeg/FFmpeg;
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/github/hiteshsondhi88/libffmpeg/FFmpeg;
     at com.promineostudios.ffmpegcodec.FFMpegCodec.loadFFMpegBinary(FFMpegAndroidCodec.java:39)
     at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
     at com.unity3d.player.UnityPlayer.a(Unknown Source)
     at com.unity3d.player.UnityPlayer$b.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.github.hiteshsondhi88.libffmpeg.FFmpeg" on path: DexPathList[[zip file "/data/app/com.promineostudios.ffmpegmodule-1/base.apk"],nativeLibraryDirectories=[/data/app/com.promineostudios.ffmpegmodule-1/lib/arm, /vendor/lib, /system/lib]]
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
     at com.promineostudios.ffmpegcodec.FFMpegCodec.loadFFMpegBinary(FFMpegAndroidCodec.java:39) 
     at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 
     at com.unity3d.player.UnityPlayer.a(Unknown Source) 
     at com.unity3d.player.UnityPlayer$b.run(Unknown Source)

    I think that the problem is in when I export my lib into Unity but I do not know what is going wrong. If anybody could help me I will be really appreciated.

    Thanks and excuse me for my English.

  • ffmpeg x11grab Fedora 22 cannot open display [on hold]

    4 août 2015, par voor

    Running a fairly recent version of Fedora 22 :

    Linux localhost 4.1.3-200.fc22.x86_64 #1 SMP Wed Jul 22 19:51:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

    Dual screen Acer XB270HU and AOC 2369. Also uses NVIDIA Drivers :

    ➜  ~  rpm -qa | grep nvidia
    nvidia-driver-libs-352.30-1.fc22.x86_64
    nvidia-driver-352.30-1.fc22.x86_64
    nvidia-settings-352.30-1.fc22.x86_64
    nvidia-libXNVCtrl-352.30-1.fc22.x86_64
    dkms-nvidia-352.30-1.fc22.x86_64
    nvidia-driver-libs-352.30-1.fc22.i686

    Whenever I attempt to do a x11grab in ffmpeg I get an error :

    ➜  ~  ffmpeg -f x11grab -r 15 -s 1920x1080 -i :0 -vcodec h264 -crf 30 -y output.mp4
    ffmpeg version 2.6.3 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 5.1.1 (GCC) 20150422 (Red Hat 5.1.1-1)
     configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
     libavutil      54. 20.100 / 54. 20.100
     libavcodec     56. 26.100 / 56. 26.100
     libavformat    56. 25.101 / 56. 25.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 11.102 /  5. 11.102
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Invalid MIT-MAGIC-COOKIE-1 key[x11grab @ 0x1fe1d40] Cannot open display :0, error 1.
    :0: Input/output error

    I’ve tried a few different commands basically copy/pasta from the web on how to do screengrabs. I don’t need audio, just video, and all of them result in the same error.

    I am able to do xwininfo without any problems :

    ➜  ~  xwininfo    

    xwininfo: Please select the window about which you
             would like information by clicking the
             mouse in that window.

    xwininfo: Window id: 0x1e0006c "linux - ffmpeg x11grab Fedora 22 cannot open display - Stack Overflow - Google Chrome"

     Absolute upper-left X:  0
     Absolute upper-left Y:  27
     Relative upper-left X:  0
     Relative upper-left Y:  27
     Width: 2560
     Height: 1413
     Depth: 24
     Visual: 0x21
     Visual Class: TrueColor
     Border width: 0
     Class: InputOutput
     Colormap: 0x20 (installed)
     Bit Gravity State: ForgetGravity
     Window Gravity State: NorthWestGravity
     Backing Store State: NotUseful
     Save Under State: no
     Map State: IsViewable
     Override Redirect State: no
     Corners:  +0+27  -1920+27  -1920-0  0
     -geometry 2560x14130