Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (52)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (8015)

  • Evolution #2173 : Date de création / publication

    18 juillet 2017, par tcharlss (*´_ゝ`)

    Cool, super idée nicod_
    Pour ma gouverne, comment tu comptes faire pour ajouter ce champ quand on installe des nouveaux plugins ?

    Il reste la question de la date de 1ère publication, un article pouvant rester en gestation très longtemps avant d’être publié. Pour gérer ce cas, on pourrait considérer que la date de création d’un objet ayant un statut de publication correspond à la date de la 1ère publication (quand il y a $flux['args']['table']['statut']['publie']).

    Concrètement quelque chose comme ça : dans pre_insertion, ne remplir date_ceation que si l’objet ne possède pas de statut de publication, et dans objet_instituer remplir date_creation si ce champ est vide et si l’objet est publié.

  • FFMPEG set -ss and -to with string

    12 mai 2017, par NewUser

    I know I can set the start with -ss and end with -to but can someone please help me to format the following so that I can enter the -ss and -to with a string ?

    I want -ss to come from

    String start = editStart.getText().toString();

    and -to to come from

    String end = editEnd.getText().toString();

    Here is my ffmpeg string I want to edit, I have entered -ss and -to to show where I want the above strings to be.

    String s = "-i" + " " + mVideoUri.toString().replace("file:///", "") + " -i " + newBackgroundBitmap.getPath() +  " -filter_complex [1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v] -ss -to -map [v] -c:v libx264 -preset ultrafast " + directoryToStore + "/" + FileName + mp4;

    String[] arguments = s.split(" ");

    ExecuteFFMPEG(arguments);

    EDIT

    Here is the full ffmpeg

    //Button onclick
    public void onButtonClicked(View view) {
       switch (view.getId()) {

       //WHEN THE EXPORT BUTTON IS CLICKED
       case Export:
           String s = "-i" + " " + mVideoUri.toString() + " -i " + newBackgroundBitmap.getPath() + " -filter_complex [1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v] -map [v] -c:v libx264 -preset ultrafast " + directoryToStore + "/" + lastSaved + mp;
           String[] arguments = s.split(" ");
           ExecuteFFMPEG(arguments);

       }
    }

    //Added onLoad FFMPEG
    public void LoadFFMPEG() {

       FFmpeg ffmpeg = FFmpeg.getInstance(getBaseContext());
       try {
           ffmpeg.loadBinary(new LoadBinaryResponseHandler() {

               @Override
               public void onStart() {
                   super.onStart();

               }

               @Override
               public void onFailure() {
                   super.onFailure();
               }

               @Override
               public void onSuccess() {
                   super.onSuccess();

               }

               @Override
               public void onFinish() {
                   super.onFinish();
               }
           });
       } catch (FFmpegNotSupportedException e1) {
           e1.printStackTrace();
           Log.d("[FFMPEGMain Exception]-", e1.toString());
       }
    }

    //Added Exceute FFMPEG
    public void ExecuteFFMPEG(String[] command) {


       FFmpeg ffmpeg = FFmpeg.getInstance(getBaseContext());
       try {

           ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {

               @Override
               public void onStart() {
                   super.onStart();
                   Log.d("[Start]", "start");

               }

               @Override
               public void onProgress(String message) {
                   Log.d("[Progress]", message);
               }

               @Override
               public void onFailure(String message) {
                   Log.d("[fail]", message);
               }

               @Override
               public void onSuccess(String message) {
                   Log.d("[Success]", message);


               }


               @Override
               public void onFinish() {
                   super.onFinish();
                   Log.d("[Finish]", "file output done");

               }

           });
       } catch (FFmpegCommandAlreadyRunningException e) {
           // Handle if FFmpeg is already running
           Log.d("[FFMPEG Exception]-", e.toString());

       }


    }

    The above works perfectly as I was hoping. Now I want to set the start and end of the video (depending on the position the user selected). I get the start and end of the video back as a string, like this :

    String valueRight = formatter.format(getValueRight);
    String valueLeft = formatter.format(getValueLeft);

    //this strings will return 00:00:00.000 DEPENDING on the position from the user
    //just like when you would normally call -ss 00:00:50.849 -to 00:02:05.100

    As I mentioned above that I know it should be set as -ss and -to but I am looking for a wat to format my string to enter -ss and -to with a string, somthing like this :

    -ss valueLeft -to valueRight

  • java.io.IOException : Error running exec() Working Directory : null Environment : null FFmpeg Android merging mp3 and mp4

    23 avril 2017, par 1234567

    java.io.IOException : Error running exec() Working Directory : null Environment : null FFmpeg Android merging mp3 and mp4

    I am trying following code

    public class Minact1 extends Activity{
       String  videoFilePath,audioFilePath,outputFilePath;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.mainact);
           videoFilePath = Environment.getExternalStorageDirectory()
                   .getAbsolutePath() + "/sample2.mp4";
           audioFilePath = Environment.getExternalStorageDirectory()
                   .getAbsolutePath() + "/abc.mp3";
           outputFilePath = Environment.getExternalStorageDirectory()
                   .getAbsolutePath() + "/output.mp4";

           try {


               FFmpeg ffmpeg = FFmpeg.getInstance(this);
               String[] cmd =
                       {"-i " + videoFilePath + " -i " + audioFilePath +
                               " -shortest -threads 0 -preset ultrafast -strict -2 " + outputFilePath};

               ffmpeg.execute(cmd, mergeListener);
           } catch (FFmpegCommandAlreadyRunningException e) {
               e.printStackTrace();

               Toast.makeText(Minact1.this, "" +  e, Toast.LENGTH_SHORT).show();
           }
       }

       ExecuteBinaryResponseHandler mergeListener = new ExecuteBinaryResponseHandler() {
           @Override
           public void onStart() {
               //started
               Toast.makeText(Minact1.this, "started", Toast.LENGTH_SHORT).show();
           }

           @Override
           public void onFailure(String message) {
               //failed
               Toast.makeText(Minact1.this, "failed", Toast.LENGTH_SHORT).show();
           }

           @Override
           public void onFinish() {
               File output = new File(outputFilePath);
               //Do whatever with your muxed file

               Toast.makeText(Minact1.this, "onFinish", Toast.LENGTH_SHORT).show();
           }
       };
    }

    I have used following library for FFmpeg

    dependencies {
       compile fileTree(dir: 'libs', include: ['*.jar'])
       testCompile 'junit:junit:4.12'
       compile 'com.android.support:appcompat-v7:23.1.1'

       androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
           exclude group: 'com.android.support', module: 'support-annotations'
       })

       compile 'com.android.support:design:23.1.1'
       compile 'com.writingminds:FFmpegAndroid:0.3.2'
       compile 'org.florescu.android.rangeseekbar:rangeseekbar-library:0.3.0'
       compile 'com.android.support:cardview-v7:23.1.1'
       compile 'commons-io:commons-io:2.5'
    }

    and added following permission in manifest

       

    the files are present at the path used , but output.mp4 is not created

    the log says

    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg: Exception while trying to run: [Ljava.lang.String;@3fe418b2
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg: java.io.IOException: Error running exec(). Command: [/data/data/com.ffmpegtryer/files/ffmpeg, -i /storage/sdcard0/sample2.mp4 -i /storage/sdcard0/abc.mp3 -shortest -threads 0 -preset ultrafast -strict -2 /storage/sdcard0/output.mp4] Working Directory: null Environment: null
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.ProcessManager.exec(ProcessManager.java:211)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.Runtime.exec(Runtime.java:173)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.Runtime.exec(Runtime.java:128)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at com.github.hiteshsondhi88.libffmpeg.ShellCommand.run(ShellCommand.java:10)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at com.github.hiteshsondhi88.libffmpeg.FFmpegExecuteAsyncTask.doInBackground(FFmpegExecuteAsyncTask.java:38)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at com.github.hiteshsondhi88.libffmpeg.FFmpegExecuteAsyncTask.doInBackground(FFmpegExecuteAsyncTask.java:10)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at android.os.AsyncTask$2.call(AsyncTask.java:288)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.Thread.run(Thread.java:818)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:  Caused by: java.io.IOException: No such file or directory
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.ProcessManager.exec(Native Method)
    04-23 10:43:39.278 27191-27216/com.ffmpegtryer E/FFmpeg:     at java.lang.ProcessManager.exec(ProcessManager.java:209)

    any help would be useful