
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (102)
-
Mise à disposition des fichiers
14 avril 2011, parPar 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, parPHP 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, parMé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 nameI 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 thisfile intro.mp4
file amr.mp4then 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 sojitraI 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 workUtility.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();
}
}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 SanaullahI am having a problem adding background music to concat videos, I read online using
amerge
andloop
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"