Recherche avancée

Médias (91)

Autres articles (44)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • 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

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (9208)

  • Android watermark : Fatal signal 4 (SIGILL), code 2, fault addr 0xe2166842 in tid 13693 (atermarkvideo_2

    27 avril 2016, par Sakibmohammad Syed

    I am using ffmpeg library for watermark on video and below is my code but when I run program the it show error like Fatal signal 4 (SIGILL), code 2, fault addr 0xe2166842
    here is my code.

       public class MainActivity extends Activity {
       private String strAudioFolderPath;
       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

           strAudioFolderPath = "/sdcard/Download";
           String s = "ffmpeg -i /sdcard/Download/testing.mp4 -i /sdcard/test.png -filter_complex 'overlay=10:main_h-overlay_h-10' /sdcard/Download/out.mp4";

           GeneralUtils.deleteFileUtil(strAudioFolderPath + "vk.log");

           PowerManager powerManager = (PowerManager) this.getSystemService(Activity.POWER_SERVICE);
           PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VK_LOCK");
           wakeLock.acquire();
           LoadJNI vk = new LoadJNI();
           try {
               try {
                   vk.run(GeneralUtils.utilConvertToComplex(s), strAudioFolderPath, MainActivity.this);
                   Log.e("Checking water marker", ">>>>>>>>>>>>>>>");

               } catch (Throwable e) {
               } finally {
                   if (wakeLock.isHeld())
                       wakeLock.release();
                   else {
                   }
               }
           } catch (Exception e)
           {
               e.printStackTrace();
           }
       }

    Actually I want to add watermark on video file using ffmpeg library but it show error as I mention above so I am unable to watermak on video. I have also seach a lot to solve this issue but I did not find any proper solution of this problem.

  • Surface Texture object is not getting the frames from a Surface Class

    22 avril 2016, par Juan Manuel González Otero

    On the one hand, I have a Surface Class which when instantiated, automatically initialize a new thread and start grabbing frames from a streaming source via native code based on FFMPEG. Here is the main parts of the code for the aforementioned Surface Class :

    public class StreamingSurface extends Surface implements Runnable {

       ...

       public StreamingSurface(SurfaceTexture surfaceTexture, int width, int height) {
           super(surfaceTexture);

           screenWidth  = width;
           screenHeight = height;      
           init();

       }

       public void init() {
           mDrawTop = 0;
           mDrawLeft = 0;
           mVideoCurrentFrame = 0;
           this.setVideoFile();
           this.startPlay();
       }

       public void setVideoFile() {        
           // Initialise FFMPEG
           naInit("");

           // Get stream video res
           int[] res = naGetVideoRes();
           mDisplayWidth = (int)(res[0]);
           mDisplayHeight = (int)(res[1]);

           // Prepare Display
           mBitmap = Bitmap.createBitmap(mDisplayWidth, mDisplayHeight, Bitmap.Config.ARGB_8888);
           naPrepareDisplay(mBitmap, mDisplayWidth, mDisplayHeight);
       }

       public void startPlay() {
           thread = new Thread(this);
           thread.start();
       }

       @Override
       public void run() {
           while (true) {
               while (2 == mStatus) {
                   //pause
                   SystemClock.sleep(100);
               }
               mVideoCurrentFrame = naGetVideoFrame();
               if (0 < mVideoCurrentFrame) {
                   //success, redraw
                   if(isValid()){
                        Canvas canvas = lockCanvas(null);
                        if (null != mBitmap) {
                            canvas.drawBitmap(mBitmap, mDrawLeft, mDrawTop, prFramePaint);
                        }
                        unlockCanvasAndPost(canvas);
                   }
               } else {
                   //failure, probably end of video, break
                   naFinish(mBitmap);
                   mStatus = 0;
                   break;
               }
           }  
       }

    }

    In my MainActivity class, I instantiated this class in the following way :

    public void startCamera(int texture)
    {
       mSurface = new SurfaceTexture(texture);
       mSurface.setOnFrameAvailableListener(this);
       Surface surface = new StreamingSurface(mSurface, 640, 360);
       surface.release();        
    }

    I read the following line in the Android developer page, regarding the Surface class constructor :

    "Images drawn to the Surface will be made available to the SurfaceTexture, which can attach them to an OpenGL ES texture via updateTexImage()."

    That is exactly what I want to do, and I have everything ready for the further renderization. But definitely, with the above code, I never get my frames captured in the surface class transformed to its corresponding SurfaceTexture. I know this because the debugger, for instace, never call the OnFrameAvailableLister method associated with that Surface Texture.

    Any ideas ? Maybe the fact that I am using a thread to call the drawing functions is messing everything ? In such a case, what alternatives I have to grab the frames ?

    Thanks in advance

  • android:video watermark show error

    27 avril 2016, par Sakibmohammad Syed

    I want to watermark video and below is my code but when I try to run then it show error like Failed to validate license file, existing!.

       public class MainActivity extends AppCompatActivity {
       private String strAudioFolderPath;
       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

           // here my ffmpeg command to watermark video.
           String s = "ffmpeg -i /sdcard/Download/testing.mp4 -i /sdcard/temp1.jpg -filter_complex 'overlay=10:main_h-overlay_h-10' /sdcard/Download/out.mp4";

           GeneralUtils.deleteFileUtil(strAudioFolderPath + "vk.log");
           PowerManager powerManager = (PowerManager) this.getSystemService(Activity.POWER_SERVICE);
           PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VK_LOCK");
           wakeLock.acquire();
           LoadJNI vk = new LoadJNI();
           try {
               try {
                   vk.run(GeneralUtils.utilConvertToComplex(s), strAudioFolderPath, MainActivity.this);
                   Log.e("Checking water marker", ">>>>>>>>>>>>>>>");

               } catch (Throwable e) {
               } finally {
                   if (wakeLock.isHeld())
                       wakeLock.release();
                   else {
                   }
               }
           } catch (Exception e)
           {
               e.printStackTrace();
           }        
       }
    }

    and error show in logcat like below.

       04-26 17:13:18.211 20492-20492/com.example.android.watermarkvideo I/Videokit: license file not found...
    04-26 17:13:18.211 20492-20492/com.example.android.watermarkvideo I/Videokit: license file /sdcard/Download/testing.mp4/ffmpeglicense.lic not created.
    04-26 17:13:18.211 20492-20492/com.example.android.watermarkvideo D/Videokit: license check rc: -3
    04-26 17:13:18.211 20492-20492/com.example.android.watermarkvideo E/Videokit: Failed to validate license file, existing!

    Actually I have used ffmpeg library to watermak on video file but it is not woking as well as I have not find any proper solution so please help.
    Thanks in advance.