Recherche avancée

Médias (91)

Autres articles (102)

  • 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 (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (9162)

  • delay in lyrics shown when concat video with lyrics with an intro video using ffmpeg

    19 mars 2018, par no name

    I have a video with lyrics I add the lyrics used ffmpeg too. I have the lyrics in lrc formate and i change it to ass lyrics formate then I start to add it to my video using this command

    ffmpeg -i video.mp4 -vf "ass=out.ass,fade=in:0:30" -y amr.mp4

    I use fade=in:0:30 to make fade in the start of the video so when I start merge intro video my original video not start at once but to have some fade in, in the start to have a good view.
    then I start to add the intro video using a text file which has this

    file intro.mp4
    file amr.mp4

    then I merge them using this command

    ffmpeg -f concat -safe 0 -i out.txt -c copy -y final.mp4

    i got these message

    [mov,mp4,m4a,3gp,3g2,mj2 @ 03eadb80] Auto-inserting h264_mp4toannexb bitstream filter
    [mp4 @ 06419580] Non-monotonous DTS in output stream 0:1; previous: 310272,     current: 285626; changing to 310273. This may result in incorrect timestamps in   the output file.

    repeated many times.
    when i watch the final video the lyrics have some delay from the sound the problem appeared when I merge the intro video but without it the lyrics have no problem so what I made wrong make the lyrics shown in this way and not in the right timing as it should have no problems as I merge only the intro video and after add the lyrics to the original one
    Thanks in advance

  • How to Make Video from Arraylist of images with Music

    6 avril 2018, par hardik sojitra

    I am making an app which makes video from selected images which is stored in SD card I have implement the
    group : ’com.github.hiteshsondhi88.libffmpeg’, name : ’FFmpegAndroid’, version : ’0.2.5’ this library and make this classes but it does not work

    Utility.java

    public class Utility {
       private final static String TAG = Utility.class.getName();
       private static Context mContext;
       public Utility(Context context) {
           mContext = context;
       }
       public static String excuteCommand(String command)
       {
           try {
               Log.d(TAG, "execute command : " + command);

               Process process = Runtime.getRuntime().exec(command);

               BufferedReader reader = new BufferedReader(
                       new InputStreamReader(process.getInputStream()));
               int read;
               char[] buffer = new char[4096];
               StringBuffer output = new StringBuffer();
               while ((read = reader.read(buffer)) > 0) {
                   output.append(buffer, 0, read);
               }
               reader.close();
               process.waitFor();
               Log.d(TAG, "command result: " + output.toString());
               return output.toString();
           } catch (IOException e) {
               Log.e(TAG, e.getMessage(), e);
           } catch (InterruptedException e) {
               Log.e(TAG, e.getMessage(), e);
           }
           return "";
       }
       public String getPathOfAppInternalStorage()
       {
           return Environment.getExternalStorageDirectory().getAbsolutePath();
       }
       public void saveFileToAppInternalStorage(InputStream inputStream, String fileName)
       {
           File file = new File(getPathOfAppInternalStorage() + "/" + fileName);
           if (file.exists())
           {
               Log.d(TAG, "SaveRawToAppDir Delete Exsisted File");
               file.delete();
           }
           FileOutputStream outputStream;
           try {
               outputStream = mContext.openFileOutput(fileName, Context.MODE_PRIVATE);
               byte[] buffer = new byte[1024];
               int length;
               while ((length = inputStream.read(buffer)) > 0)
               {
                   outputStream.write(buffer, 0, length);
               }
               outputStream.close();
               inputStream.close();
           } catch (Exception e) {
               Log.e(TAG, e.getMessage(), e);
           }
       }
       public static boolean isFileExsisted(String filePath)
       {
           File file = new File(filePath);
           return file.exists();
       }
       public static void deleteFileAtPath(String filePath)
       {
           File file = new File(filePath);
           file.delete();
       }
    }

    enter image description here

    ffmpegController.java

    package com.example.admin.imagetovideowithnative;

    import android.content.Context;
    import android.util.Log;

    import java.io.ByteArrayInputStream;
    import java.io.InputStream;

    public class FfmpegController {
       private static Context mContext;
       private static Utility mUtility;
       private static String mFfmpegBinaryPath;
       public FfmpegController(Context context) {
           mContext = context;
           mUtility = new Utility(context);
           initFfmpeg();
       }
       private void initFfmpeg()
       {
           mFfmpegBinaryPath = mContext.getApplicationContext().getFilesDir().getAbsolutePath() + "/ffmpeg";
           if (Utility.isFileExsisted(mFfmpegBinaryPath))
               return;
           InputStream inputStream = mContext.getResources().openRawResource(R.raw.ffmpeg);
           mUtility.saveFileToAppInternalStorage(inputStream, "ffmpeg");
           Utility.excuteCommand(CommandHelper.commandChangeFilePermissionForExecuting(mFfmpegBinaryPath));
       }
       public void convertImageToVideo(String inputImgPath)
       {
           Log.e("Image Parth", "inputImgPath - "+inputImgPath);
           if (Utility.isFileExsisted(pathOuputVideo()))
               Utility.deleteFileAtPath(pathOuputVideo());
           saveShellCommandImg2VideoToAppDir(inputImgPath);
           Utility.excuteCommand("sh" + " " + pathShellScriptImg2Video());
       }
       public String pathOuputVideo()
       {
           return mUtility.getPathOfAppInternalStorage() + "/out.mp4";
       }
       private String pathShellScriptImg2Video()
       {
           return mUtility.getPathOfAppInternalStorage() + "/img2video.sh";
       }
       private void saveShellCommandImg2VideoToAppDir(String inputImgPath)
       {
           String command = CommandHelper.commandConvertImgToVideo(mFfmpegBinaryPath, inputImgPath, pathOuputVideo());
           InputStream is = new ByteArrayInputStream(command.getBytes());
           mUtility.saveFileToAppInternalStorage(is, "img2video.sh");
       }
    }

    CommandHelper.java

    package com.example.admin.imagetovideowithnative;

    import android.util.Log;

    public class CommandHelper {
       public static String commandConvertImgToVideo(String ffmpegBinaryPath, String inputImgPath, String outputVideoPath) {
           Log.e("ffmpegBinaryPath", "ffmpegBinaryPath - " + ffmpegBinaryPath);
           Log.e("inputImgPath", "inputImgPath - " + inputImgPath);
           Log.e("outputVideoPath", "outputVideoPath - " + outputVideoPath);

           return ffmpegBinaryPath + " -r 1/1 -i " + inputImgPath + " -c:v libx264 -crf 23 -pix_fmt yuv420p -s 640x480 " + outputVideoPath;
       }

       public static String commandChangeFilePermissionForExecuting(String filePath) {
           return "chmod 777 " + filePath;
       }
    }

    AsynckTask

    class Asynck extends AsyncTask {

           FfmpegController mFfmpegController = new FfmpegController(PhotosActivity.this);
           Utility mUtility = new Utility(PhotosActivity.this);

           @Override
           protected void onPreExecute() {
               super.onPreExecute();
               Log.e("Video Process Start", "======================== Video Process Start ======================================");

           }

           @Override
           protected Void doInBackground(Object... objects) {
               mFfmpegController.convertImageToVideo("");
               return null;
           }

           @Override
           protected void onPostExecute(Void aVoid) {
               super.onPostExecute(aVoid);
               Log.e("Video Process Complete", "======================== Video Process Complete ======================================");
               Log.e("Video Path", "Path - " + mFfmpegController.pathOuputVideo());
               Toast.makeText(PhotosActivity.this, "Video Process Complete", Toast.LENGTH_LONG).show();
           }
       }
  • FFMPEG background music

    12 avril 2018, par Muhammad Sanaullah

    I am having a problem adding background music to concat videos, I read online using amerge and loop function can be possible, but i don’t have idea how i can achive that.

    My ffmpeg command, which is working, join video, add watermark, add intro and outro.

    /usr/bin/ffmpeg -i "/home/main/1515b7e4471944edce419f8e24f5c1a8::13.mp4" -i "/home/demo/intro.mp4" -i "/home/main/2b011d97e633049ec3c4605470cd8306::8.mp4" -i "/home/main/5ee6a1869d4f072a796b9d10b1426c2e::14.mp4" -i "/home/main/6a145097d70ce2e95ed65d910f882f98::12.mp4" -i "/home/main/74b95c9f4dfa1a1f966877ded19972a0::10.mp4" -i "/home/main/74b95c9f4dfa1a1f966877ded19972a0::8.mp4" -i "/home/main/82ed61e0a749292e16f3ccab83b61c94::4.mp4" -i "/home/main/834866595d3851712ebbdb414a34b5e8::19.mp4" -i "/home/main/ac89029161cf7da85d93abaa2fa339cc::11.mp4" -i "/home/main/c68e5394ab5028ee2ae57f298430ffba.mp4" -i "/home/main/c6c54226713e5b4f24a985d4f7454658::17.mp4" -i "/home/main/c6c54226713e5b4f24a985d4f7454658::8.mp4" -i "/home/main/da08388ba6e1ccde8874fb2cd46e19ac::11.mp4" -i "/home/main/e35ee0ecf24fce797573c646f3f86619::13.mp4" -i "/home/main/e7619cd3c171ead78db385371e84b3d1::15.mp4" -i "/home/main/e8a0c3954ba0e7e8c51583c680fd993d::15.mp4" -i "/home/main/e8a0c3954ba0e7e8c51583c680fd993d::9.mp4" -i "/home/main/f3f5182bb7867b79b1b59ade1704b016::5.mp4" -i "/home/main/fcb874d27ddf453743cb8a8f1b55e0bd::21.mp4" -i "/home/main/feb7f5bfe15f350a3ff28894226932cd::14.mp4" -i "/home/outro.mp4" -i "/home/watermark.png" -filter_complex "[0:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=13,setpts=PTS-STARTPTS[v10];[v10][22:v]overlay=30:30 [v0];[0:a]aresample=44100,atrim=start=0:end=13,asetpts=PTS-STARTPTS[a0];[1:v]fps=30,scale=1280:720,setsar=1/1,setpts=PTS-STARTPTS[v1];[1:a]aresample=44100[a1];[2:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=8,setpts=PTS-STARTPTS[v20];[v20][22:v]overlay=30:30 [v2];[2:a]aresample=44100,atrim=start=0:end=8,asetpts=PTS-STARTPTS[a2];[3:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=14,setpts=PTS-STARTPTS[v30];[v30][22:v]overlay=30:30 [v3];[3:a]aresample=44100,atrim=start=0:end=14,asetpts=PTS-STARTPTS[a3];[4:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=12,setpts=PTS-STARTPTS[v40];[v40][22:v]overlay=30:30 [v4];[4:a]aresample=44100,atrim=start=0:end=12,asetpts=PTS-STARTPTS[a4];[5:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=10,setpts=PTS-STARTPTS[v50];[v50][22:v]overlay=30:30 [v5];[5:a]aresample=44100,atrim=start=0:end=10,asetpts=PTS-STARTPTS[a5];[6:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=8,setpts=PTS-STARTPTS[v60];[v60][22:v]overlay=30:30 [v6];[6:a]aresample=44100,atrim=start=0:end=8,asetpts=PTS-STARTPTS[a6];[7:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=4,setpts=PTS-STARTPTS[v70];[v70][22:v]overlay=30:30 [v7];[7:a]aresample=44100,atrim=start=0:end=4,asetpts=PTS-STARTPTS[a7];[8:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=19,setpts=PTS-STARTPTS[v80];[v80][22:v]overlay=30:30 [v8];[8:a]aresample=44100,atrim=start=0:end=19,asetpts=PTS-STARTPTS[a8];[9:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=11,setpts=PTS-STARTPTS[v90];[v90][22:v]overlay=30:30 [v9];[9:a]aresample=44100,atrim=start=0:end=11,asetpts=PTS-STARTPTS[a9];[10:v]fps=30,scale=1280:720,setsar=1/1,setpts=PTS-STARTPTS[v100];[v100][22:v]overlay=30:30 [v10];[10:a]aresample=44100[a10];[11:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=17,setpts=PTS-STARTPTS[v110];[v110][22:v]overlay=30:30 [v11];[11:a]aresample=44100,atrim=start=0:end=17,asetpts=PTS-STARTPTS[a11];[12:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=8,setpts=PTS-STARTPTS[v120];[v120][22:v]overlay=30:30 [v12];[12:a]aresample=44100,atrim=start=0:end=8,asetpts=PTS-STARTPTS[a12];[13:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=11,setpts=PTS-STARTPTS[v130];[v130][22:v]overlay=30:30 [v13];[13:a]aresample=44100,atrim=start=0:end=11,asetpts=PTS-STARTPTS[a13];[14:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=13,setpts=PTS-STARTPTS[v140];[v140][22:v]overlay=30:30 [v14];[14:a]aresample=44100,atrim=start=0:end=13,asetpts=PTS-STARTPTS[a14];[15:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=15,setpts=PTS-STARTPTS[v150];[v150][22:v]overlay=30:30 [v15];[15:a]aresample=44100,atrim=start=0:end=15,asetpts=PTS-STARTPTS[a15];[16:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=15,setpts=PTS-STARTPTS[v160];[v160][22:v]overlay=30:30 [v16];[16:a]aresample=44100,atrim=start=0:end=15,asetpts=PTS-STARTPTS[a16];[17:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=9,setpts=PTS-STARTPTS[v170];[v170][22:v]overlay=30:30 [v17];[17:a]aresample=44100,atrim=start=0:end=9,asetpts=PTS-STARTPTS[a17];[18:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=5,setpts=PTS-STARTPTS[v180];[v180][22:v]overlay=30:30 [v18];[18:a]aresample=44100,atrim=start=0:end=5,asetpts=PTS-STARTPTS[a18];[19:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=21,setpts=PTS-STARTPTS[v190];[v190][22:v]overlay=30:30 [v19];[19:a]aresample=44100,atrim=start=0:end=21,asetpts=PTS-STARTPTS[a19];[20:v]fps=30,scale=1280:720,setsar=1/1,trim=start=0:end=14,setpts=PTS-STARTPTS[v200];[v200][22:v]overlay=30:30 [v20];[20:a]aresample=44100,atrim=start=0:end=14,asetpts=PTS-STARTPTS[a20];[21:v]fps=30,scale=1280:720,setsar=1/1,setpts=PTS-STARTPTS[v210];[v210][22:v]overlay=30:30 [v21];[21:a]aresample=44100[a21];[v0] [a0] [v1] [a1] [v2] [a2] [v3] [a3] [v4] [a4] [v5] [a5] [v6] [a6] [v7] [a7] [v8] [a8] [v9] [a9] [v10] [a10] [v11] [a11] [v12] [a12] [v13] [a13] [v14] [a14] [v15] [a15] [v16] [a16] [v17] [a17] [v18] [a18] [v19] [a19] [v20] [a20] [v21] [a21] concat=n=22:v=1:a=1: [v] [a]" -map "[v]" -map "[a]" -preset ultrafast -y -vcodec libx264 -f mp4 -b:v 4500k -aspect 1280/720 -acodec ac3 "/home/final.mp4"