Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (98)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (7775)

  • How to use random name for image file generated using ffmpeg-php ?

    13 octobre 2017, par Brains Akd

    The image is generating fine with the below code

    $thumbnail = 'images/thumbnail.jpg';

    // shell command [highly simplified, please don't run it plain on your script!]

    shell_exec("ffmpeg -i $video -deinterlace -an -ss 1 -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $thumbnail 2>&1");

    But it creates a file named thumbnail.jpg
    I need to have random name for images generated to save it in the images folder and database. How can i generate a random name to thumbnail in the below code
    $thumbnail = 'images/thumbnail.jpg';

  • How can I close all the threads and multiprocesses in a Tkinter app when the app closes ?

    3 septembre 2021, par kup

    I am creating a Tkinter application which starts a multiprocess.process (daeman = True) and then that process further starts a couple of threads and that thread further starts an FFmpeg process.

    


    for i, val in enumerate(group):
    threads.append(Thread(target = self.ffmpeg, args=(val, )))
    threads[i].start()


    


    But when I close the application the process does not stop. I can still see the log in the terminal after I close the application.

    


    I just want them to close when application shuts down.

    


    I also tried :

    


    sys.exit()


    


  • How to add watermark while record video using ffmpeg

    7 décembre 2017, par Hitesh Gehlot

    I am recording square video using following ffmpeg library. Square Video recorded successfully with audio but now i want to add watermark on video but my application crashed and getting error. Please help me how can i add watermark while record video.

    Gradle dependency

    compile(group: 'org.bytedeco', name: 'javacv-platform', version: '1.3') {
       exclude group: 'org.bytedeco.javacpp-presets'
    }
    compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3'
    compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-arm'

    I am using following code for add watermark while record video

        // add water mark
               String imgPath = audioPath + "jodelicon.png";
               String watermark = "movie=" + imgPath + " [logo];[in][logo]overlay=0:0:1:format=rgb [out]";
               filters.add(watermark);

    Complete Code

    class VideoRecordThread extends Thread {

           private boolean isRunning;

           @Override
           public void run() {
               List<string> filters = new ArrayList&lt;>();
               // Transpose
               String transpose = null;
               android.hardware.Camera.CameraInfo info =
                       new android.hardware.Camera.CameraInfo();
               android.hardware.Camera.getCameraInfo(mCameraId, info);
               if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
                   switch (info.orientation) {
                       case 270:
    //                        transpose = "transpose=clock_flip"; // Same as preview display
                           transpose = "transpose=cclock"; // Mirrored horizontally as preview display
                           break;
                       case 90:
    //                        transpose = "transpose=cclock_flip"; // Same as preview display
                           transpose = "transpose=clock"; // Mirrored horizontally as preview display
                           break;
                   }
               } else {
                   switch (info.orientation) {
                       case 270:
                           transpose = "transpose=cclock";
                           break;
                       case 90:
                           transpose = "transpose=clock";
                           break;
                   }
               }
               if (transpose != null) {
                   filters.add(transpose);
               }
               // Crop (only vertically)
               int width = previewHeight;
               int height = width * videoHeight / videoWidth;
               String crop = String.format("crop=%d:%d:%d:%d",
                       width, height,
                       (previewHeight - width) / 2, (previewWidth - height) / 2);

               filters.add(crop);
               // Scale (to designated size)

               String scale = String.format("scale=%d:%d", videoHeight, videoWidth);
               filters.add(scale);

               // add water mark
               String imgPath = audioPath + "jodelicon.png";
               String watermark = "movie=" + imgPath + " [logo];[in][logo]overlay=0:0:1:format=rgb [out]";
               filters.add(watermark);

               FFmpegFrameFilter frameFilter = new FFmpegFrameFilter(TextUtils.join(",", filters),
                       previewWidth, previewHeight);
               frameFilter.setPixelFormat(avutil.AV_PIX_FMT_NV21);
               frameFilter.setFrameRate(frameRate);
               try {
                   frameFilter.start();
               } catch (FrameFilter.Exception e) {
                   e.printStackTrace();
               }

               isRunning = true;
               FrameToRecord recordedFrame;

               while (isRunning || !mFrameToRecordQueue.isEmpty()) {
                   try {
                       recordedFrame = mFrameToRecordQueue.take();
                   } catch (InterruptedException ie) {
                       ie.printStackTrace();
                       try {
                           frameFilter.stop();
                       } catch (FrameFilter.Exception e) {
                           e.printStackTrace();
                       }
                       break;
                   }

                   if (mFrameRecorder != null) {
                       long timestamp = recordedFrame.getTimestamp();
                       if (timestamp > mFrameRecorder.getTimestamp()) {
                           mFrameRecorder.setTimestamp(timestamp);
                       }
                       long startTime = System.currentTimeMillis();
    //                    Frame filteredFrame = recordedFrame.getFrame();
                       Frame filteredFrame = null;
                       try {
                           frameFilter.push(recordedFrame.getFrame());
                           filteredFrame = frameFilter.pull();
                       } catch (FrameFilter.Exception e) {
                           e.printStackTrace();
                       }
                       try {
                           mFrameRecorder.record(filteredFrame);
                       } catch (FFmpegFrameRecorder.Exception e) {
                           e.printStackTrace();
                       }
                       long endTime = System.currentTimeMillis();
                       long processTime = endTime - startTime;
                       mTotalProcessFrameTime += processTime;
                       Log.d(LOG_TAG, "This frame process time: " + processTime + "ms");
                       long totalAvg = mTotalProcessFrameTime / ++mFrameRecordedCount;
                       Log.d(LOG_TAG, "Avg frame process time: " + totalAvg + "ms");
                   }
                   Log.d(LOG_TAG, mFrameRecordedCount + " / " + mFrameToRecordCount);
                   mRecycledFrameQueue.offer(recordedFrame);
               }
           }

           public void stopRunning() {
               this.isRunning = false;
               if (getState() == WAITING) {
                   interrupt();
               }
           }

           public boolean isRunning() {
               return isRunning;
           }
       }
    </string>

    Error in logcat

    android A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x18 in tid 320 (Thread-24542)